| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 6 | | tagDensity | 0.833 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 82.65% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1153 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "slowly" | | 1 | "quickly" | | 2 | "slightly" |
| |
| 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) | |
| 30.62% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1153 | | totalAiIsms | 16 | | found | | | highlights | | 0 | "flickered" | | 1 | "pulsed" | | 2 | "velvet" | | 3 | "pulse" | | 4 | "silence" | | 5 | "stomach" | | 6 | "lurch" | | 7 | "quickened" | | 8 | "weight" | | 9 | "whisper" | | 10 | "resonance" | | 11 | "vibrated" | | 12 | "familiar" |
| |
| 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 | 113 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 113 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 114 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 34 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 6 | | markdownWords | 17 | | totalWords | 1141 | | ratio | 0.015 | | matches | | 0 | "Richmond Park. The old oaks. Please." | | 1 | "don't move don't breathe don't look" | | 2 | "shifted" | | 3 | "please" | | 4 | "answering" | | 5 | "She's here." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 26 | | wordCount | 1126 | | uniqueNames | 11 | | maxNameDensity | 0.89 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | October | 2 | | Pembroke | 1 | | Lodge | 1 | | Moonlight | 2 | | Park | 1 | | Rory | 10 | | South | 1 | | London | 1 | | Silence | 1 | | University | 1 | | Eva | 5 |
| | persons | | 0 | "Moonlight" | | 1 | "Rory" | | 2 | "Silence" | | 3 | "University" | | 4 | "Eva" |
| | places | | 0 | "Pembroke" | | 1 | "Park" | | 2 | "South" | | 3 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 41.30% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 69 | | glossingSentenceCount | 3 | | matches | | 0 | "looked like writing" | | 1 | "quite match the position of the clouds above" | | 2 | "Something between the two—a thrumming resonance" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1141 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 114 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 40 | | mean | 28.53 | | std | 21.97 | | cv | 0.77 | | sampleLengths | | 0 | 11 | | 1 | 58 | | 2 | 27 | | 3 | 8 | | 4 | 51 | | 5 | 6 | | 6 | 56 | | 7 | 6 | | 8 | 25 | | 9 | 70 | | 10 | 29 | | 11 | 10 | | 12 | 42 | | 13 | 15 | | 14 | 6 | | 15 | 10 | | 16 | 56 | | 17 | 55 | | 18 | 8 | | 19 | 38 | | 20 | 7 | | 21 | 52 | | 22 | 9 | | 23 | 49 | | 24 | 57 | | 25 | 13 | | 26 | 4 | | 27 | 27 | | 28 | 16 | | 29 | 46 | | 30 | 55 | | 31 | 39 | | 32 | 73 | | 33 | 8 | | 34 | 35 | | 35 | 7 | | 36 | 3 | | 37 | 50 | | 38 | 2 | | 39 | 2 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 113 | | matches | (empty) | |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 188 | | matches | | 0 | "were slowly leaking" | | 1 | "was drinking" | | 2 | "were leaning" | | 3 | "was hammering" | | 4 | "was holding" | | 5 | "was *answering" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 114 | | ratio | 0.096 | | matches | | 0 | "The standing stones rose before her—three ancient oaks turned to granite by centuries, their roots twisted into the earth like the gnarled fingers of buried giants." | | 1 | "Wildflowers brushed her ankles—lupine, foxglove, things that had no business blooming in late October." | | 2 | "The gemstone pulsed—once, twice—a heartbeat of deep crimson under her palm." | | 3 | "Please.* When Rory called back, the line rang through to nothing—not voicemail, not disconnect tone, just a hollow emptiness that made her teeth ache." | | 4 | "Not wind through leaves—the air had gone dead still, the kind of stillness that presses against the eardrums and makes your own pulse sound like a drum." | | 5 | "It matched nothing in her body—her heart was hammering, yes, but this was faster, a frantic flutter like a moth against glass." | | 6 | "The stones weren't stone at all—they were bones." | | 7 | "Every instinct demanded it—back through the grove, past the boundary stones, into the park proper where the sodium lights from the car park would be visible and the world would make sense again." | | 8 | "Something between the two—a thrumming resonance that vibrated in her molars and made the fillings in her back teeth sing." | | 9 | "They watched her the way deep-sea fish watch the light of a submersible—with hunger, with curiosity, with an intelligence so alien it registered as static." | | 10 | "Rory didn't see it so much as feel it—a displacement of air, a cold spot that moved against the ambient temperature of the grove." |
| |
| 78.97% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 203 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 13 | | adverbRatio | 0.06403940886699508 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.009852216748768473 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 114 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 114 | | mean | 10.01 | | std | 7.69 | | cv | 0.768 | | sampleLengths | | 0 | 11 | | 1 | 20 | | 2 | 26 | | 3 | 12 | | 4 | 4 | | 5 | 20 | | 6 | 1 | | 7 | 2 | | 8 | 8 | | 9 | 19 | | 10 | 14 | | 11 | 18 | | 12 | 6 | | 13 | 5 | | 14 | 11 | | 15 | 23 | | 16 | 2 | | 17 | 3 | | 18 | 12 | | 19 | 6 | | 20 | 6 | | 21 | 19 | | 22 | 6 | | 23 | 7 | | 24 | 3 | | 25 | 24 | | 26 | 7 | | 27 | 23 | | 28 | 3 | | 29 | 12 | | 30 | 14 | | 31 | 10 | | 32 | 2 | | 33 | 27 | | 34 | 3 | | 35 | 10 | | 36 | 2 | | 37 | 1 | | 38 | 12 | | 39 | 6 | | 40 | 2 | | 41 | 8 | | 42 | 5 | | 43 | 24 | | 44 | 14 | | 45 | 13 | | 46 | 8 | | 47 | 2 | | 48 | 2 | | 49 | 15 |
| |
| 54.68% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.35964912280701755 | | totalSentences | 114 | | uniqueOpeners | 41 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 96 | | matches | | 0 | "Just the pendant with its" | | 1 | "Just the standing stones and" | | 2 | "Then another rustle, behind her" | | 3 | "Then the vision passed and" | | 4 | "Too many syllables." |
| | ratio | 0.052 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 24 | | totalSentences | 96 | | matches | | 0 | "She checked her phone." | | 1 | "she muttered, pocketing the useless" | | 2 | "Their petals glowed faintly, as" | | 3 | "She'd worn it for three" | | 4 | "It had never done this" | | 5 | "She stepped forward." | | 6 | "It clung, sucking slightly at" | | 7 | "She didn't turn this time." | | 8 | "Her body had gone rigid," | | 9 | "It flickered between the standing" | | 10 | "They moved independently, crawling, twitching" | | 11 | "She'd spent her whole life" | | 12 | "It matched nothing in her" | | 13 | "She gripped it, meaning to" | | 14 | "They were tiny, luminous faces," | | 15 | "It had weight, intention." | | 16 | "She counted to ten." | | 17 | "She should run." | | 18 | "It came from underground." | | 19 | "She'd been wrong about being" |
| | ratio | 0.25 | |
| 58.96% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 77 | | totalSentences | 96 | | matches | | 0 | "The air inside the grove" | | 1 | "Rory pulled her jacket tighter," | | 2 | "The standing stones rose before" | | 3 | "Moss crawled up their flanks" | | 4 | "She checked her phone." | | 5 | "The screen flickered twice before" | | 6 | "she muttered, pocketing the useless" | | 7 | "Moonlight filtered through the canopy" | | 8 | "Wildflowers brushed her ankles—lupine, foxglove," | | 9 | "Their petals glowed faintly, as" | | 10 | "The pendant warmed against her" | | 11 | "Rory's hand flew to it." | | 12 | "The gemstone pulsed—once, twice—a heartbeat" | | 13 | "She'd worn it for three" | | 14 | "It had never done this" | | 15 | "Eva's voicemail had sent her" | | 16 | "The old oaks." | | 17 | "Eva had been missing for" | | 18 | "She stepped forward." | | 19 | "The grass gave under her" |
| | ratio | 0.802 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 96 | | matches | (empty) | | ratio | 0 | |
| 21.28% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 47 | | technicalSentenceCount | 8 | | matches | | 0 | "Wildflowers brushed her ankles—lupine, foxglove, things that had no business blooming in late October." | | 1 | "Please.* When Rory called back, the line rang through to nothing—not voicemail, not disconnect tone, just a hollow emptiness that made her teeth ache." | | 2 | "Four days of Rory filing reports with disinterested constables, plastering South London with missing person posters that strangers walked past without a glance." | | 3 | "Not wind through leaves—the air had gone dead still, the kind of stillness that presses against the eardrums and makes your own pulse sound like a drum." | | 4 | "A suggestion of limbs too long, joints bent at angles that made her stomach lurch." | | 5 | "Massive vertebrae rising from the earth, fossilized and fused with the oaks that had grown through them over millennia." | | 6 | "Something between the two—a thrumming resonance that vibrated in her molars and made the fillings in her back teeth sing." | | 7 | "Rory didn't see it so much as feel it—a displacement of air, a cold spot that moved against the ambient temperature of the grove." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 2 | | fancyTags | | 0 | "she muttered (mutter)" | | 1 | "she whispered (whisper)" |
| | dialogueSentences | 6 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.667 | | effectiveRatio | 0.667 | |