| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 7 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 16 | | tagDensity | 0.438 | | leniency | 0.875 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1344 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 51.64% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1344 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "silence" | | 1 | "pulse" | | 2 | "pulsed" | | 3 | "throb" | | 4 | "familiar" | | 5 | "absolutely" | | 6 | "resolving" | | 7 | "flickered" | | 8 | "lurched" | | 9 | "searing" | | 10 | "footsteps" | | 11 | "racing" |
| |
| 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 | 127 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 127 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 136 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 44 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1340 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 11 | | wordCount | 1230 | | uniqueNames | 5 | | maxNameDensity | 0.49 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 6 | | Park | 1 | | Eva | 2 | | Closer | 1 | | Low | 1 |
| | persons | | | places | | | globalScore | 1 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 75 | | glossingSentenceCount | 1 | | matches | | 0 | "something like a word, a name, repeated over" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.746 | | wordCount | 1340 | | matches | | 0 | "not red but white, searing, obliterating" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 136 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 49 | | mean | 27.35 | | std | 21.56 | | cv | 0.788 | | sampleLengths | | 0 | 54 | | 1 | 70 | | 2 | 17 | | 3 | 56 | | 4 | 6 | | 5 | 10 | | 6 | 52 | | 7 | 1 | | 8 | 29 | | 9 | 64 | | 10 | 5 | | 11 | 3 | | 12 | 63 | | 13 | 15 | | 14 | 8 | | 15 | 45 | | 16 | 1 | | 17 | 20 | | 18 | 40 | | 19 | 27 | | 20 | 7 | | 21 | 1 | | 22 | 45 | | 23 | 10 | | 24 | 51 | | 25 | 40 | | 26 | 25 | | 27 | 3 | | 28 | 46 | | 29 | 6 | | 30 | 4 | | 31 | 48 | | 32 | 9 | | 33 | 73 | | 34 | 17 | | 35 | 14 | | 36 | 63 | | 37 | 8 | | 38 | 12 | | 39 | 51 | | 40 | 24 | | 41 | 9 | | 42 | 44 | | 43 | 13 | | 44 | 17 | | 45 | 16 | | 46 | 48 | | 47 | 38 | | 48 | 12 |
| |
| 96.97% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 127 | | matches | | 0 | "been locked" | | 1 | "was gone" | | 2 | "being dragged" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 195 | | matches | | |
| 58.82% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 136 | | ratio | 0.029 | | matches | | 0 | "Wildflowers carpeted the ground despite the season—bluebells and foxglove and something that glowed faintly white, like scattered bone chips." | | 1 | "Not into sound—into a wrong shape of sound." | | 2 | "But she’d seen it—a shape, tall and angular, that had been standing between two of the oaks." | | 3 | "She could smell him—woodsmoke and wet stone and something metallic, like copper." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1237 | | adjectiveStacks | 1 | | stackExamples | | 0 | "louder, deeper, pressing against her" |
| | adverbCount | 23 | | adverbRatio | 0.018593371059013743 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.0016168148746968471 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 136 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 136 | | mean | 9.85 | | std | 8.22 | | cv | 0.835 | | sampleLengths | | 0 | 20 | | 1 | 20 | | 2 | 14 | | 3 | 8 | | 4 | 17 | | 5 | 9 | | 6 | 4 | | 7 | 32 | | 8 | 17 | | 9 | 9 | | 10 | 22 | | 11 | 4 | | 12 | 21 | | 13 | 3 | | 14 | 3 | | 15 | 10 | | 16 | 4 | | 17 | 6 | | 18 | 21 | | 19 | 9 | | 20 | 12 | | 21 | 1 | | 22 | 13 | | 23 | 4 | | 24 | 12 | | 25 | 18 | | 26 | 15 | | 27 | 19 | | 28 | 12 | | 29 | 5 | | 30 | 3 | | 31 | 8 | | 32 | 19 | | 33 | 14 | | 34 | 8 | | 35 | 14 | | 36 | 3 | | 37 | 8 | | 38 | 4 | | 39 | 8 | | 40 | 5 | | 41 | 1 | | 42 | 11 | | 43 | 17 | | 44 | 7 | | 45 | 2 | | 46 | 2 | | 47 | 1 | | 48 | 2 | | 49 | 4 |
| |
| 44.36% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 18 | | diversityRatio | 0.34558823529411764 | | totalSentences | 136 | | uniqueOpeners | 47 | |
| 31.15% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 107 | | matches | | 0 | "Just the stones, the flowers," |
| | ratio | 0.009 | |
| 85.42% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 36 | | totalSentences | 107 | | matches | | 0 | "She slipped through, cat-shouldered, her" | | 1 | "She knew this path." | | 2 | "She knew the way the" | | 3 | "She’d been dreaming of this" | | 4 | "It wasn’t a sound." | | 5 | "It was the absence of" | | 6 | "She stopped walking, her trainers" | | 7 | "She touched her chest." | | 8 | "She stepped across the boundary." | | 9 | "She pulled it out from" | | 10 | "Her voice sounded thin, eaten" | | 11 | "She whipped her head around." | | 12 | "She didn’t turn." | | 13 | "Her muscles locked, her spine" | | 14 | "She could smell him—woodsmoke and" | | 15 | "She forced her legs to" | | 16 | "She was alone." | | 17 | "She was absolutely alone and" | | 18 | "Her voice cracked on the" | | 19 | "She looked down at her" |
| | ratio | 0.336 | |
| 48.79% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 88 | | totalSentences | 107 | | matches | | 0 | "The park gates had been" | | 1 | "The bend in the chain-link" | | 2 | "She slipped through, cat-shouldered, her" | | 3 | "Richmond Park at midnight was" | | 4 | "The deer had vanished into" | | 5 | "Wind moved through the grass" | | 6 | "She knew this path." | | 7 | "She knew the way the" | | 8 | "The pendant rested against her" | | 9 | "She’d been dreaming of this" | | 10 | "The same dream: a woman’s" | | 11 | "That she was ready." | | 12 | "Each morning she’d woken with" | | 13 | "The first wrongness arrived at" | | 14 | "It wasn’t a sound." | | 15 | "It was the absence of" | | 16 | "The wind had stopped, and" | | 17 | "The silence pressed into her" | | 18 | "She stopped walking, her trainers" | | 19 | "She touched her chest." |
| | ratio | 0.822 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 107 | | matches | (empty) | | ratio | 0 | |
| 51.67% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 47 | | technicalSentenceCount | 6 | | matches | | 0 | "Wildflowers carpeted the ground despite the season—bluebells and foxglove and something that glowed faintly white, like scattered bone chips." | | 1 | "She was absolutely alone and she knew with a certainty that froze the blood in her veins that she was not alone at all." | | 2 | "The flowers around her feet had turned black, their petals curling inward, their stems weeping a dark sap that smelled of rot." | | 3 | "The surface was warm, almost hot, and shuddering with a vibration that climbed up her arm and settled in her jaw." | | 4 | "The gemstone fell to the grass, and the light that erupted from it was not red but white, searing, obliterating." | | 5 | "Rory stared at the woman, her throat too tight to speak, her scar burning gold, her mind racing through every story Eva had ever told her about the old places, …" |
| |
| 53.57% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 7 | | uselessAdditionCount | 1 | | matches | | 0 | "she said, and the voice was the same voice from the dreams" |
| |
| 87.50% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 1 | | fancyTags | | 0 | "she whispered (whisper)" |
| | dialogueSentences | 16 | | tagDensity | 0.375 | | leniency | 0.75 | | rawRatio | 0.167 | | effectiveRatio | 0.125 | |