| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 1 | | adverbTags | | 0 | "Her voice sounded too [too]" |
| | dialogueSentences | 8 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.25 | | effectiveRatio | 0.25 | |
| 87.98% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 832 | | 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) | |
| 9.86% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 832 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "silence" | | 1 | "loomed" | | 2 | "pulsed" | | 3 | "searing" | | 4 | "echoed" | | 5 | "rhythmic" | | 6 | "weight" | | 7 | "scanning" | | 8 | "pulse" | | 9 | "stomach" | | 10 | "lurch" | | 11 | "silk" | | 12 | "flicked" |
| |
| 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 | 92 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 92 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 97 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 38 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 12 | | markdownWords | 20 | | totalWords | 821 | | ratio | 0.024 | | matches | | 0 | "alone" | | 1 | "Wrong" | | 2 | "Midnight. The Grove. Bring the pendant." | | 3 | "shifted" | | 4 | "wrongness" | | 5 | "listened" | | 6 | "breathed" | | 7 | "had" | | 8 | "watched" | | 9 | "felt" | | 10 | "You shouldn’t be here." | | 11 | "knowing" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 72.38% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 19 | | wordCount | 773 | | uniqueNames | 6 | | maxNameDensity | 1.55 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 12 | | Carter | 1 | | Richmond | 1 | | Park | 1 | | Grove | 3 | | London | 1 |
| | persons | | | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" |
| | globalScore | 0.724 | | windowScore | 0.833 | |
| 53.85% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 52 | | glossingSentenceCount | 2 | | matches | | 0 | "as if fighting against an unseen current" | | 1 | "looked like spider silk" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 821 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 97 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 37 | | mean | 22.19 | | std | 20.33 | | cv | 0.916 | | sampleLengths | | 0 | 64 | | 1 | 4 | | 2 | 48 | | 3 | 61 | | 4 | 74 | | 5 | 16 | | 6 | 9 | | 7 | 63 | | 8 | 5 | | 9 | 8 | | 10 | 42 | | 11 | 5 | | 12 | 44 | | 13 | 8 | | 14 | 3 | | 15 | 21 | | 16 | 43 | | 17 | 4 | | 18 | 9 | | 19 | 6 | | 20 | 40 | | 21 | 3 | | 22 | 22 | | 23 | 33 | | 24 | 4 | | 25 | 9 | | 26 | 14 | | 27 | 8 | | 28 | 4 | | 29 | 39 | | 30 | 35 | | 31 | 15 | | 32 | 11 | | 33 | 15 | | 34 | 16 | | 35 | 12 | | 36 | 4 |
| |
| 97.64% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 92 | | matches | | 0 | "been stretched" | | 1 | "were gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 131 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 97 | | ratio | 0.103 | | matches | | 0 | "The silence that followed wasn’t natural—it pressed against her eardrums, thick as wet wool." | | 1 | "She’d been here before, of course—delivered takeaway to the posh houses skirting the park’s edge, even cut through the woods on her way back from the pub when she was too knackered to go the long way." | | 2 | "Rory had heard the stories—whispers in Silas’ bar about folk who wandered in and came out different, or not at all." | | 3 | "Just the promise of answers about the nightmares that had started plaguing her sleep—visions of a city that wasn’t London, of streets that writhed like living things." | | 4 | "Not a sound, not a movement—just a sudden, sickening *wrongness*, like the air had been stretched too thin." | | 5 | "The silence wasn’t empty—it *listened*." | | 6 | "Rory’s fingers twitched toward the knife in her boot—useless, probably, but the weight of it grounded her." | | 7 | "Then—a sound." | | 8 | "The face—" | | 9 | "In their place stood a circle of figures—tall, slender, their forms wreathed in shifting mist." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 171 | | adjectiveStacks | 1 | | stackExamples | | 0 | "over frost-bitten gravel" |
| | adverbCount | 6 | | adverbRatio | 0.03508771929824561 | | lyAdverbCount | 0 | | lyAdverbRatio | 0 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 97 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 97 | | mean | 8.46 | | std | 6.29 | | cv | 0.743 | | sampleLengths | | 0 | 13 | | 1 | 14 | | 2 | 19 | | 3 | 18 | | 4 | 4 | | 5 | 5 | | 6 | 37 | | 7 | 4 | | 8 | 2 | | 9 | 15 | | 10 | 12 | | 11 | 21 | | 12 | 4 | | 13 | 9 | | 14 | 12 | | 15 | 15 | | 16 | 4 | | 17 | 7 | | 18 | 2 | | 19 | 7 | | 20 | 27 | | 21 | 9 | | 22 | 7 | | 23 | 9 | | 24 | 18 | | 25 | 21 | | 26 | 12 | | 27 | 12 | | 28 | 5 | | 29 | 8 | | 30 | 10 | | 31 | 5 | | 32 | 14 | | 33 | 8 | | 34 | 5 | | 35 | 5 | | 36 | 2 | | 37 | 2 | | 38 | 13 | | 39 | 10 | | 40 | 17 | | 41 | 8 | | 42 | 3 | | 43 | 11 | | 44 | 6 | | 45 | 2 | | 46 | 2 | | 47 | 2 | | 48 | 11 | | 49 | 6 |
| |
| 55.67% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.3711340206185567 | | totalSentences | 97 | | uniqueOpeners | 36 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 80 | | matches | | 0 | "Just the promise of answers" | | 1 | "Just the park playing tricks." | | 2 | "Then she heard the whispering." | | 3 | "Just smooth, featureless skin where" | | 4 | "Then, slowly, it raised one" |
| | ratio | 0.063 | |
| 95.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 25 | | totalSentences | 80 | | matches | | 0 | "She swung a leg over" | | 1 | "She shouldn’t have come." | | 2 | "She’d been here before, of" | | 3 | "They marked the boundary of" | | 4 | "She’d laughed them off." | | 5 | "She fished it out now," | | 6 | "She stepped forward" | | 7 | "She should’ve turned back then." | | 8 | "She pressed on, her boots" | | 9 | "She told herself it was" | | 10 | "It came from everywhere and" | | 11 | "Her voice sounded too loud," | | 12 | "She turned slowly, scanning the" | | 13 | "She took a step back," | | 14 | "She didn’t want to look." | | 15 | "Its limbs were too long," | | 16 | "It moved in jerks, like" | | 17 | "It had no face." | | 18 | "She *felt* it." | | 19 | "*You shouldn’t be here.*" |
| | ratio | 0.313 | |
| 66.25% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 63 | | totalSentences | 80 | | matches | | 0 | "The bike’s tyres crunched over" | | 1 | "The silence that followed wasn’t" | | 2 | "She swung a leg over" | | 3 | "The air smelled of damp" | | 4 | "She shouldn’t have come." | | 5 | "The thought slithered in, unwelcome." | | 6 | "She’d been here before, of" | | 7 | "The standing stones loomed ahead," | | 8 | "They marked the boundary of" | | 9 | "Rory had heard the stories—whispers" | | 10 | "She’d laughed them off." | | 11 | "She fished it out now," | | 12 | "The crimson gem pulsed faintly," | | 13 | "Rory exhaled, her breath fogging" | | 14 | "She stepped forward" | | 15 | "The moment she crossed the" | | 16 | "The trees here were too" | | 17 | "Wildflowers bloomed in impossible colours," | | 18 | "The pendant flared against her" | | 19 | "She should’ve turned back then." |
| | ratio | 0.788 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 80 | | matches | (empty) | | ratio | 0 | |
| 31.25% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 32 | | technicalSentenceCount | 5 | | matches | | 0 | "The silence that followed wasn’t natural—it pressed against her eardrums, thick as wet wool." | | 1 | "The air smelled of damp earth and something older, something that didn’t belong in Richmond Park at midnight." | | 2 | "Just the promise of answers about the nightmares that had started plaguing her sleep—visions of a city that wasn’t London, of streets that writhed like living t…" | | 3 | "Its limbs were too long, its joints bending in ways that made her stomach lurch." | | 4 | "It moved in jerks, like a marionette with cut strings, its body swaying as if fighting against an unseen current." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 8 | | tagDensity | 0.125 | | leniency | 0.25 | | rawRatio | 0 | | effectiveRatio | 0 | |