| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 14 | | adverbTagCount | 1 | | adverbTags | | 0 | "the dark she walked back [back]" |
| | dialogueSentences | 21 | | tagDensity | 0.667 | | leniency | 1 | | rawRatio | 0.071 | | effectiveRatio | 0.071 | |
| 92.14% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1272 | | totalAiIsmAdverbs | 2 | | found | | | highlights | | |
| 100.00% | AI-ism character names | Target: 0 AI-default names (17 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 41.04% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1272 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "warmth" | | 1 | "footsteps" | | 2 | "rhythmic" | | 3 | "trembled" | | 4 | "pulsed" | | 5 | "weight" | | 6 | "pulse" | | 7 | "stomach" | | 8 | "throbbed" | | 9 | "loomed" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 0 | | maxInWindow | 0 | | found | (empty) | | highlights | (empty) | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 109 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 1 | | narrationSentences | 109 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 118 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 43 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1269 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 50.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 43 | | wordCount | 1105 | | uniqueNames | 17 | | maxNameDensity | 1.63 | | worstName | "Aurora" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Aurora" | | discoveredNames | | Carter | 1 | | Richmond | 2 | | Park | 2 | | December | 1 | | London | 2 | | Cardiff | 1 | | Welsh | 1 | | Aurora | 18 | | Heartstone | 5 | | Pendant | 1 | | Isolde | 1 | | Evan | 1 | | Eva | 2 | | Yu-Fei | 1 | | Cheung | 1 | | Dymas | 1 | | Hel | 2 |
| | persons | | 0 | "Carter" | | 1 | "Aurora" | | 2 | "Heartstone" | | 3 | "Pendant" | | 4 | "Evan" | | 5 | "Eva" | | 6 | "Cheung" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "December" | | 3 | "London" | | 4 | "Cardiff" | | 5 | "Isolde" | | 6 | "Hel" |
| | globalScore | 0.686 | | windowScore | 0.5 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 67 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1269 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 118 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 54 | | mean | 23.5 | | std | 21.23 | | cv | 0.904 | | sampleLengths | | 0 | 84 | | 1 | 61 | | 2 | 101 | | 3 | 6 | | 4 | 42 | | 5 | 13 | | 6 | 2 | | 7 | 2 | | 8 | 39 | | 9 | 29 | | 10 | 7 | | 11 | 11 | | 12 | 59 | | 13 | 4 | | 14 | 39 | | 15 | 22 | | 16 | 17 | | 17 | 7 | | 18 | 22 | | 19 | 4 | | 20 | 44 | | 21 | 9 | | 22 | 18 | | 23 | 33 | | 24 | 35 | | 25 | 9 | | 26 | 27 | | 27 | 21 | | 28 | 21 | | 29 | 9 | | 30 | 37 | | 31 | 7 | | 32 | 9 | | 33 | 3 | | 34 | 10 | | 35 | 65 | | 36 | 5 | | 37 | 34 | | 38 | 24 | | 39 | 11 | | 40 | 37 | | 41 | 24 | | 42 | 9 | | 43 | 4 | | 44 | 40 | | 45 | 3 | | 46 | 42 | | 47 | 3 | | 48 | 16 | | 49 | 8 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 109 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 190 | | matches | (empty) | |
| 21.79% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 3 | | semicolonCount | 2 | | flaggedSentences | 5 | | totalSentences | 118 | | ratio | 0.042 | | matches | | 0 | "Behind her, the ordinary world lingered—streetlamps cutting through fog, the distant hum of London traffic, the flat above Silas’ bar a few miles away where she slept with her bright blue eyes exhausted from delivering Yu-Fei Cheung’s meals at Golden Empress." | | 1 | "The sound was soft, rhythmic, deliberate—someone walking on packed earth behind her, though she had heard no movement and seen nothing at the edge of her vision except trees that did not move correctly." | | 2 | "A figure stood at the tree line, black clothing blending with shadows, but not invisible—too present, too sharp against the wildflowers." | | 3 | "She did not ask; she stated it, because she needed to hear the words in her own mouth to believe them." | | 4 | "It did not walk; it seemed to unfold from the dark, its black clothes rippling like smoke, its empty face tilting toward the crimson light." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 484 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 17 | | adverbRatio | 0.03512396694214876 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.004132231404958678 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 118 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 118 | | mean | 10.75 | | std | 8.51 | | cv | 0.791 | | sampleLengths | | 0 | 21 | | 1 | 17 | | 2 | 41 | | 3 | 5 | | 4 | 30 | | 5 | 17 | | 6 | 14 | | 7 | 8 | | 8 | 30 | | 9 | 14 | | 10 | 4 | | 11 | 9 | | 12 | 36 | | 13 | 6 | | 14 | 4 | | 15 | 10 | | 16 | 6 | | 17 | 7 | | 18 | 15 | | 19 | 3 | | 20 | 10 | | 21 | 2 | | 22 | 2 | | 23 | 2 | | 24 | 34 | | 25 | 3 | | 26 | 1 | | 27 | 11 | | 28 | 17 | | 29 | 7 | | 30 | 11 | | 31 | 16 | | 32 | 8 | | 33 | 13 | | 34 | 8 | | 35 | 14 | | 36 | 4 | | 37 | 6 | | 38 | 26 | | 39 | 7 | | 40 | 22 | | 41 | 3 | | 42 | 14 | | 43 | 7 | | 44 | 6 | | 45 | 16 | | 46 | 2 | | 47 | 2 | | 48 | 21 | | 49 | 23 |
| |
| 36.44% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 16 | | diversityRatio | 0.2457627118644068 | | totalSentences | 118 | | uniqueOpeners | 29 | |
| 70.18% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 95 | | matches | | 0 | "Just black trunks against an" | | 1 | "Only the stones, empty and" |
| | ratio | 0.021 | |
| 34.74% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 44 | | totalSentences | 95 | | matches | | 0 | "Their scent was thick, wrong," | | 1 | "She adjusted the silver chain" | | 2 | "She had followed the warmth" | | 3 | "she had said" | | 4 | "She checked her phone." | | 5 | "Her watch read half past" | | 6 | "She had left" | | 7 | "She walked deeper." | | 8 | "She turned slowly." | | 9 | "she told the dark" | | 10 | "Her voice came back thin," | | 11 | "She tightened her fingers around" | | 12 | "She was cool-headed, intelligent, quick" | | 13 | "She had fled an abusive" | | 14 | "She worked part-time delivery for" | | 15 | "She was not a girl" | | 16 | "She pulled it from her" | | 17 | "She held it out like" | | 18 | "She moved toward the center" | | 19 | "It came from everywhere and" |
| | ratio | 0.463 | |
| 12.63% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 85 | | totalSentences | 95 | | matches | | 0 | "Aurora Carter pushed through the" | | 1 | "The black bark of the" | | 2 | "The clearing was circular, ringed" | | 3 | "Wildflowers blazed at her ankles:" | | 4 | "Their scent was thick, wrong," | | 5 | "She adjusted the silver chain" | | 6 | "The Heartstone Pendant hung there," | | 7 | "She had followed the warmth" | | 8 | "Eva had warned her." | | 9 | "she had said" | | 10 | "Aurora had left the delivery" | | 11 | "Time moved differently inside Isolde’s" | | 12 | "She checked her phone." | | 13 | "Her watch read half past" | | 14 | "She had left" | | 15 | "The discrepancy gnawed at her" | | 16 | "She walked deeper." | | 17 | "The grass under her boots" | | 18 | "The sound was soft, rhythmic," | | 19 | "She turned slowly." |
| | ratio | 0.895 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 95 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 45 | | technicalSentenceCount | 12 | | matches | | 0 | "The clearing was circular, ringed by oaks older than the barrister who had raised her in Cardiff, older than the Welsh teacher mother whose name she wore like a…" | | 1 | "Wildflowers blazed at her ankles: violets of impossible purple, gold-stars that opened like wounds refusing to close." | | 2 | "Their scent was thick, wrong, sweet in a way that made Aurora’s eyes water." | | 3 | "The sound was soft, rhythmic, deliberate—someone walking on packed earth behind her, though she had heard no movement and seen nothing at the edge of her vision…" | | 4 | "Just black trunks against an impossible sky that held no stars." | | 5 | "The wildflowers trembled at her feet, blooming faster than she could watch, closing the gaps between stems." | | 6 | "The Heartstone’s crimson face glowed faintly, a slow heartbeat of warmth that matched a pressure in her teeth, a cold warning of a Hel portal nearby." | | 7 | "The sound of creaking wood grew louder, a rhythmic cracking that matched Aurora’s pulse, a dry sound of bones adjusting inside a body too large for its skin." | | 8 | "The wildflowers blocked her path, blooming in her way, closing the distance to the standing stones with a speed that made her stomach turn." | | 9 | "The scar throbbed with a memory of blood and playground concrete, of a childhood accident that marked her long before the grove knew her name." | | 10 | "The wildflowers parted, or she tore through them, her black hair whipping behind her, her boots crushing stems that smelled too sweet." | | 11 | "She stumbled into the grass, her hands shaking, the pendant still glowing faintly in her fist, its crimson face pulsing in rhythm with her heart." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 14 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 54.76% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 2 | | fancyTags | | 0 | "the figure interrupted (interrupt)" | | 1 | "Aurora corrected (correct)" |
| | dialogueSentences | 21 | | tagDensity | 0.476 | | leniency | 0.952 | | rawRatio | 0.2 | | effectiveRatio | 0.19 | |