| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 8 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 91.54% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1182 | | 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) | |
| 53.47% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1182 | | totalAiIsms | 11 | | found | | | highlights | | 0 | "silence" | | 1 | "warmth" | | 2 | "stomach" | | 3 | "clenching" | | 4 | "perfect" | | 5 | "glistening" | | 6 | "pulsed" | | 7 | "resolved" | | 8 | "loomed" | | 9 | "footsteps" |
| |
| 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 | 0 | | narrationSentences | 98 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 98 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 102 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 42 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1172 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 3 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 18 | | wordCount | 1142 | | uniqueNames | 7 | | maxNameDensity | 0.53 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Grove" | | discoveredNames | | Grove | 3 | | Fae-touched | 2 | | November | 1 | | Heartstone | 2 | | Richmond | 2 | | Park | 2 | | Rory | 6 |
| | persons | | | places | | 0 | "Grove" | | 1 | "Richmond" | | 2 | "Park" |
| | globalScore | 1 | | windowScore | 1 | |
| 42.86% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 70 | | glossingSentenceCount | 3 | | matches | | 0 | "seemed wrong too—too bright, too white, casting shadows that pooled like spilled ink" | | 1 | "looked like an ordinary copse of oaks" | | 2 | "not quite a voice whispered from somewhere just behind her left ear" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 2.56 | | wordCount | 1172 | | matches | | 0 | "No response but" | | 1 | "no longer avoided the moonlight but" | | 2 | "not all of them, but the nearest ones, pulling back like worms from salt" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 102 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 40 | | mean | 29.3 | | std | 16.96 | | cv | 0.579 | | sampleLengths | | 0 | 30 | | 1 | 52 | | 2 | 49 | | 3 | 12 | | 4 | 47 | | 5 | 44 | | 6 | 67 | | 7 | 4 | | 8 | 36 | | 9 | 2 | | 10 | 10 | | 11 | 54 | | 12 | 14 | | 13 | 4 | | 14 | 44 | | 15 | 27 | | 16 | 26 | | 17 | 3 | | 18 | 8 | | 19 | 26 | | 20 | 52 | | 21 | 19 | | 22 | 27 | | 23 | 25 | | 24 | 22 | | 25 | 41 | | 26 | 41 | | 27 | 17 | | 28 | 40 | | 29 | 43 | | 30 | 30 | | 31 | 48 | | 32 | 13 | | 33 | 6 | | 34 | 54 | | 35 | 31 | | 36 | 19 | | 37 | 15 | | 38 | 42 | | 39 | 28 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 98 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 183 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 102 | | ratio | 0.098 | | matches | | 0 | "The moonlight that filtered through the canopy above seemed wrong too—too bright, too white, casting shadows that pooled like spilled ink." | | 1 | "The reason sat heavy in her jacket pocket—a folded note, the handwriting unfamiliar, the address leading here." | | 2 | "Not wilted, not drooped—closed, petals folding inward like hands clenching into fists." | | 3 | "A foxglove near her knee bent as she passed, its spotted throat opening wide enough to show the dark interior where something moved—wet, glistening, retreating deeper into the bloom." | | 4 | "Not a snap of twigs or rustle of leaves—something wetter." | | 5 | "She had caught the edge of it—a shape that didn't belong, too tall, too thin, folding itself around the trunk of a tree the way a person might press against a wall to avoid being seen." | | 6 | "The opposite—a cold that spread through the chain and into her skin, into the small crescent scar on her left wrist that had ached on and off since she had found the note." | | 7 | "And something else beneath it—a voice, maybe, or the memory of a voice, words in a language she didn't know but somehow recognized." | | 8 | "The crimson glow steadied, and the shadows recoiled—not all of them, but the nearest ones, pulling back like worms from salt." | | 9 | "The gap was definitely narrower—the stones had moved, or the trees had grown, or something had shifted in the geometry of the place." |
| |
| 97.88% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1155 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 49 | | adverbRatio | 0.04242424242424243 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.004329004329004329 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 102 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 102 | | mean | 11.49 | | std | 8.44 | | cv | 0.734 | | sampleLengths | | 0 | 10 | | 1 | 20 | | 2 | 4 | | 3 | 20 | | 4 | 3 | | 5 | 25 | | 6 | 12 | | 7 | 16 | | 8 | 21 | | 9 | 7 | | 10 | 5 | | 11 | 9 | | 12 | 20 | | 13 | 5 | | 14 | 11 | | 15 | 2 | | 16 | 17 | | 17 | 6 | | 18 | 21 | | 19 | 26 | | 20 | 16 | | 21 | 25 | | 22 | 4 | | 23 | 6 | | 24 | 12 | | 25 | 18 | | 26 | 2 | | 27 | 10 | | 28 | 10 | | 29 | 15 | | 30 | 29 | | 31 | 5 | | 32 | 9 | | 33 | 4 | | 34 | 13 | | 35 | 12 | | 36 | 13 | | 37 | 6 | | 38 | 6 | | 39 | 10 | | 40 | 11 | | 41 | 3 | | 42 | 10 | | 43 | 13 | | 44 | 3 | | 45 | 8 | | 46 | 5 | | 47 | 4 | | 48 | 9 | | 49 | 6 |
| |
| 48.04% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 11 | | diversityRatio | 0.35294117647058826 | | totalSentences | 102 | | uniqueOpeners | 36 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 91 | | matches | | 0 | "Pale grey, veined with something" | | 1 | "Just the oak boundary, the" | | 2 | "Just the standing stones, ancient" |
| | ratio | 0.033 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 91 | | matches | | 0 | "She had expected stillness." | | 1 | "Her voice came out flat" | | 2 | "She pulled the Heartstone pendant" | | 3 | "She turned fully and watched" | | 4 | "She turned back toward the" | | 5 | "She kept her eyes forward" | | 6 | "She crouched and reached for" | | 7 | "She didn't turn." | | 8 | "Her fingers closed around the" | | 9 | "They no longer matched the" | | 10 | "She addressed the Grove itself," | | 11 | "She kept her eyes straight" | | 12 | "She had caught the edge" | | 13 | "She took a step toward" | | 14 | "They no longer avoided the" | | 15 | "She walked forward." | | 16 | "She turned sideways and pushed" | | 17 | "She squeezed through, felt the" | | 18 | "She started walking toward the" |
| | ratio | 0.209 | |
| 64.40% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 72 | | totalSentences | 91 | | matches | | 0 | "The gap between the standing" | | 1 | "Rory turned sideways, the rough" | | 2 | "She had expected stillness." | | 3 | "The Fae-touched places she had" | | 4 | "This was different." | | 5 | "The air hummed with a" | | 6 | "Wildflowers carpeted the clearing in" | | 7 | "Bluebells tangled with foxglove, and" | | 8 | "The moonlight that filtered through" | | 9 | "Her voice came out flat" | | 10 | "She pulled the Heartstone pendant" | | 11 | "The crimson gem caught the" | | 12 | "Whatever she had come here" | | 13 | "The reason sat heavy in" | | 14 | "Someone had wanted her to" | | 15 | "Someone who knew about the" | | 16 | "Rory started across the clearing" | | 17 | "The ground beneath her boots" | | 18 | "Each step released a scent" | | 19 | "Halfway across, she stopped." |
| | ratio | 0.791 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 91 | | matches | (empty) | | ratio | 0 | |
| 12.99% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 44 | | technicalSentenceCount | 8 | | matches | | 0 | "Bluebells tangled with foxglove, and something that might have been snowdrops glowed pale among the undergrowth." | | 1 | "The moonlight that filtered through the canopy above seemed wrong too—too bright, too white, casting shadows that pooled like spilled ink." | | 2 | "The crimson gem caught the wrong moonlight and threw it back in shades that shifted between red and something darker." | | 3 | "Each step released a scent like crushed herbs and something sweeter underneath, cloying, the kind of sweetness that turned the stomach if inhaled too long." | | 4 | "The wildflowers rippled in a wind that touched nothing else, their petals fluttering to reveal dark centres that glistened." | | 5 | "They no longer avoided the moonlight but grew denser within it, taking on shapes that resolved and dissolved in the same moment." | | 6 | "The flowers on either side of her path had all closed now, dark and clenched, their sweetness curdled into something that smelled of rot." | | 7 | "She started walking toward the park gates, not looking back, listening to her own footsteps on the path and trying not to notice that there was a second set, ju…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 2 | | fancyTags | | 0 | "She addressed (address)" | | 1 | "a voice whispered (whisper)" |
| | dialogueSentences | 8 | | tagDensity | 0.25 | | leniency | 0.5 | | rawRatio | 1 | | effectiveRatio | 0.5 | |