| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 1 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 76.48% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1063 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "slightly" | | 1 | "very" | | 2 | "gently" |
| |
| 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) | |
| 62.37% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1063 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "pulsed" | | 1 | "resolve" | | 2 | "velvet" | | 3 | "echo" | | 4 | "silence" |
| |
| 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 | 68 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 68 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 68 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 61 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 6 | | markdownWords | 39 | | totalWords | 1054 | | ratio | 0.037 | | matches | | 0 | "past the third bench, where the path stops making sense" | | 1 | "the Grove will open for you on the solstice, wear the stone, come alone." | | 2 | "No wind," | | 3 | "There's no wind." | | 4 | "Listen properly, Rory. Fear lies. Your ears don't." | | 5 | "you're late." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 20 | | wordCount | 1053 | | uniqueNames | 10 | | maxNameDensity | 0.38 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Eva" | | discoveredNames | | Richmond | 2 | | Park | 2 | | Sheen | 1 | | Gate | 1 | | Rory | 4 | | Grove | 1 | | Eva | 4 | | October | 1 | | Evan | 2 | | London | 2 |
| | persons | | 0 | "Rory" | | 1 | "Grove" | | 2 | "Eva" | | 3 | "Evan" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Sheen" | | 3 | "October" | | 4 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 38.89% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 45 | | glossingSentenceCount | 2 | | matches | | 0 | "looked like heather but smelled of ash, g" | | 1 | "not-quite London she'd wandered into—she heard, very faintly, a church bell toll a single note" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1054 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 68 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 26 | | mean | 40.54 | | std | 34.32 | | cv | 0.847 | | sampleLengths | | 0 | 11 | | 1 | 116 | | 2 | 7 | | 3 | 75 | | 4 | 53 | | 5 | 9 | | 6 | 64 | | 7 | 7 | | 8 | 97 | | 9 | 5 | | 10 | 66 | | 11 | 13 | | 12 | 5 | | 13 | 62 | | 14 | 34 | | 15 | 24 | | 16 | 78 | | 17 | 82 | | 18 | 17 | | 19 | 98 | | 20 | 19 | | 21 | 24 | | 22 | 12 | | 23 | 60 | | 24 | 7 | | 25 | 9 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 68 | | matches | | |
| 81.66% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 169 | | matches | | 0 | "was being" | | 1 | "wasn't laughing" | | 2 | "was always doing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 1 | | flaggedSentences | 9 | | totalSentences | 68 | | ratio | 0.132 | | matches | | 0 | "Eva's directions had been maddeningly vague—*past the third bench, where the path stops making sense*—and Rory had laughed at the time, thinking her friend was being dramatic." | | 1 | "She noticed that first, in the wrongness of it—drifts of them silver-blue in the moonlight, foxglove and something that looked like heather but smelled of ash, growing thick around the stones despite the cold that had settled into the park an hour ago." | | 2 | "Nothing—just the tree line, black and close, branches knitted overhead so thickly that the sky above the clearing was a ragged wound of stars, and everywhere else was dark." | | 3 | "She spun, boots slipping on the too-soft ground, and caught only the suggestion of movement at the very edge of her vision—a shape low and pale sliding between two standing stones, gone before she could resolve it into anything nameable." | | 4 | "A deer, maybe; Richmond Park was full of them, great dumb velvet-eyed things that didn't startle for anyone." | | 5 | "Worse, maybe, or maybe not worse at all—maybe just strange, fae-strange, the kind of strange Eva always talked about with stars in her eyes." | | 6 | "The flowers nearest her feet bent, all at once, in a rippling wave that had no wind behind it—bent as if something vast and low had passed just beneath the surface of the ground, a shape moving under the meadow the way a shark moves under water, betrayed only by the wake it left." | | 7 | "A voice—not a voice, exactly, more the impression of one, arriving in her skull sideways rather than through her ears—said, quite gently, *you're late.*" | | 8 | "The pendant burned like a brand against her collarbone, and somewhere far off—outside the ring, outside whatever pocket of not-quite-London she'd wandered into—she heard, very faintly, a church bell toll a single note." |
| |
| 67.02% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1073 | | adjectiveStacks | 1 | | stackExamples | | 0 | "great dumb velvet-eyed things" |
| | adverbCount | 76 | | adverbRatio | 0.07082945013979497 | | lyAdverbCount | 19 | | lyAdverbRatio | 0.017707362534948742 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 68 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 68 | | mean | 15.5 | | std | 14.72 | | cv | 0.95 | | sampleLengths | | 0 | 11 | | 1 | 45 | | 2 | 27 | | 3 | 4 | | 4 | 40 | | 5 | 7 | | 6 | 2 | | 7 | 26 | | 8 | 47 | | 9 | 28 | | 10 | 3 | | 11 | 22 | | 12 | 9 | | 13 | 7 | | 14 | 43 | | 15 | 7 | | 16 | 7 | | 17 | 4 | | 18 | 3 | | 19 | 6 | | 20 | 30 | | 21 | 61 | | 22 | 5 | | 23 | 2 | | 24 | 29 | | 25 | 27 | | 26 | 3 | | 27 | 2 | | 28 | 3 | | 29 | 9 | | 30 | 4 | | 31 | 5 | | 32 | 40 | | 33 | 4 | | 34 | 18 | | 35 | 7 | | 36 | 13 | | 37 | 14 | | 38 | 24 | | 39 | 30 | | 40 | 11 | | 41 | 3 | | 42 | 13 | | 43 | 21 | | 44 | 4 | | 45 | 44 | | 46 | 6 | | 47 | 4 | | 48 | 24 | | 49 | 17 |
| |
| 61.27% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.45588235294117646 | | totalSentences | 68 | | uniqueOpeners | 31 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 61 | | matches | | 0 | "Instead her single word simply" | | 1 | "Then why did it feel" |
| | ratio | 0.033 | |
| 88.85% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 20 | | totalSentences | 61 | | matches | | 0 | "She wasn't laughing now." | | 1 | "She'd come because the note" | | 2 | "She'd assumed Eva." | | 3 | "She noticed that first, in" | | 4 | "Her breath fogged in front" | | 5 | "She should have turned around" | | 6 | "She knew it even as" | | 7 | "She stood very still and" | | 8 | "Your ears don't.*" | | 9 | "Her ears told her the" | | 10 | "It had simply moved." | | 11 | "She spun, boots slipping on" | | 12 | "Her voice came out smaller" | | 13 | "She made herself breathe." | | 14 | "She backed toward the stones" | | 15 | "She did not scream." | | 16 | "She would be, later, absurdly" | | 17 | "She turned instead, slow, every" | | 18 | "She had left her flat" | | 19 | "It should not, by any" |
| | ratio | 0.328 | |
| 74.75% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 47 | | totalSentences | 61 | | matches | | 0 | "The standing stones came up" | | 1 | "Rory had walked this stretch" | | 2 | "Eva's directions had been maddeningly" | | 3 | "She wasn't laughing now." | | 4 | "The path had, in fact," | | 5 | "The pendant at her throat" | | 6 | "The crimson stone pulsed faintly" | | 7 | "She'd come because the note" | | 8 | "She'd assumed Eva." | | 9 | "Eva was always doing things" | | 10 | "The wildflowers should not have" | | 11 | "She noticed that first, in" | | 12 | "Her breath fogged in front" | | 13 | "The flowers didn't so much" | | 14 | "She should have turned around" | | 15 | "She knew it even as" | | 16 | "Something rustled to her left." | | 17 | "Nothing—just the tree line, black" | | 18 | "She stood very still and" | | 19 | "Your ears don't.*" |
| | ratio | 0.77 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 61 | | matches | | 0 | "Now, standing among the stones," | | 1 | "Now it was behind her." |
| | ratio | 0.033 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 30 | | technicalSentenceCount | 7 | | matches | | 0 | "Rory had walked this stretch of Richmond Park a dozen times in daylight, delivering the odd order to the groundskeeper's cottage near Sheen Gate, but she'd neve…" | | 1 | "The crimson stone pulsed faintly against her palm, a slow heartbeat out of sync with her own, and she told herself that was probably important, probably meant s…" | | 2 | "She noticed that first, in the wrongness of it—drifts of them silver-blue in the moonlight, foxglove and something that looked like heather but smelled of ash, …" | | 3 | "But curiosity had always been her worst habit, the thing that got her into trouble long before Evan, long before London, and some small stubborn part of her wan…" | | 4 | "A deer, maybe; Richmond Park was full of them, great dumb velvet-eyed things that didn't startle for anyone." | | 5 | "Instead her single word simply died, and the silence that followed felt attentive in a way silence had no business being." | | 6 | "The flowers nearest her feet bent, all at once, in a rippling wave that had no wind behind it—bent as if something vast and low had passed just beneath the surf…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |