| 94.74% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 21 | | adverbTagCount | 3 | | adverbTags | | 0 | "She spun around [around]" | | 1 | "She stepped back [back]" | | 2 | "His voice cracked just [just]" |
| | dialogueSentences | 57 | | tagDensity | 0.368 | | leniency | 0.737 | | rawRatio | 0.143 | | effectiveRatio | 0.105 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1400 | | 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) | |
| 46.43% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1400 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "silence" | | 1 | "whisper" | | 2 | "flickered" | | 3 | "unspoken" | | 4 | "traced" | | 5 | "weight" | | 6 | "could feel" | | 7 | "trembled" | | 8 | "warmth" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 2 | | found | | 0 | | label | "knuckles turned white" | | count | 1 |
| | 1 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | 0 | "knuckles went white" | | 1 | "hung in the air" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 88 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 88 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 123 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 49 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1391 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 16 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 17 | | wordCount | 1066 | | uniqueNames | 13 | | maxNameDensity | 0.28 | | worstName | "Lucien" | | maxWindowNameDensity | 1 | | worstWindowName | "Lucien" | | discoveredNames | | London | 1 | | Carter | 1 | | Eva | 1 | | Golden | 2 | | Empress | 2 | | Evan | 1 | | Lucien | 3 | | Moreau | 1 | | Regret | 1 | | Neon | 1 | | Morse | 1 | | Whitechapel | 1 | | France | 1 |
| | persons | | 0 | "Carter" | | 1 | "Eva" | | 2 | "Evan" | | 3 | "Lucien" | | 4 | "Moreau" |
| | places | | 0 | "London" | | 1 | "Whitechapel" | | 2 | "France" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 55 | | glossingSentenceCount | 4 | | matches | | 0 | "as if offering something before withdrawing it" | | 1 | "tasted like copper and something else, so" | | 2 | "smelled like old books and the lingering g" | | 3 | "quite healed" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.719 | | wordCount | 1391 | | matches | | 0 | "not just ivory and steel, but the faintest shimmer along the blade, the way the light bent" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 123 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 65 | | mean | 21.4 | | std | 22.18 | | cv | 1.036 | | sampleLengths | | 0 | 96 | | 1 | 36 | | 2 | 4 | | 3 | 89 | | 4 | 17 | | 5 | 32 | | 6 | 15 | | 7 | 5 | | 8 | 3 | | 9 | 12 | | 10 | 3 | | 11 | 17 | | 12 | 50 | | 13 | 6 | | 14 | 2 | | 15 | 15 | | 16 | 33 | | 17 | 18 | | 18 | 47 | | 19 | 4 | | 20 | 3 | | 21 | 11 | | 22 | 57 | | 23 | 18 | | 24 | 10 | | 25 | 3 | | 26 | 23 | | 27 | 31 | | 28 | 60 | | 29 | 7 | | 30 | 45 | | 31 | 4 | | 32 | 4 | | 33 | 38 | | 34 | 4 | | 35 | 12 | | 36 | 2 | | 37 | 62 | | 38 | 50 | | 39 | 2 | | 40 | 3 | | 41 | 19 | | 42 | 20 | | 43 | 45 | | 44 | 16 | | 45 | 2 | | 46 | 20 | | 47 | 3 | | 48 | 17 | | 49 | 3 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 88 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 183 | | matches | | 0 | "was already taking" | | 1 | "were sitting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 123 | | ratio | 0.073 | | matches | | 0 | "The room beyond was a mess of stacked books, crumpled research papers, and the occasional overturned teacup, but it was hers—hers and Eva’s, and whoever else had wandered in during the long, quiet hours between deliveries for Golden Empress." | | 1 | "He held his cane in one hand, the other resting casually at his side, but his gaze was anything but casual as it swept over her—over the flat, over the cat who had bolted under the sofa the moment he’d entered." | | 2 | "Instead, he lifted his cane and tapped a rhythm against the floorboards—three short, two long, a Morse code she’d never learned but somehow recognized." | | 3 | "The space between them hummed with unspoken things—the way his fingers had traced the scar on her wrist the night they’d made love in his car, the way she’d woken up to the sound of his departure before dawn, the letter he’d left behind with no return address." | | 4 | "He held up his cane, and she saw it then—not just ivory and steel, but the faintest shimmer along the blade, the way the light bent around it like water." | | 5 | "The memory was hazy, but she could feel the weight of it—the way they’d spoken in whispers, the way his fingers had trembled as he’d traced the sigil on her wrist, the way the air had tasted like copper and something else, something sweet and dangerous." | | 6 | "Inside, the flat smelled like old books and the lingering ghost of jasmine—his cologne, maybe, or something she’d once bought and forgotten on her dresser." | | 7 | "Just held out his hand, the cane still in his grip, and she could see it now—the faint bruising on his wrist, the old wound that hadn’t quite healed." | | 8 | "He held it up so she could see—the face of a girl with too many freckles and a crooked smile." |
| |
| 90.27% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1076 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 55 | | adverbRatio | 0.05111524163568773 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.004646840148698885 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 123 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 123 | | mean | 11.31 | | std | 10.54 | | cv | 0.932 | | sampleLengths | | 0 | 22 | | 1 | 35 | | 2 | 39 | | 3 | 9 | | 4 | 19 | | 5 | 4 | | 6 | 2 | | 7 | 2 | | 8 | 4 | | 9 | 10 | | 10 | 28 | | 11 | 10 | | 12 | 41 | | 13 | 15 | | 14 | 1 | | 15 | 1 | | 16 | 13 | | 17 | 16 | | 18 | 1 | | 19 | 1 | | 20 | 1 | | 21 | 15 | | 22 | 5 | | 23 | 3 | | 24 | 9 | | 25 | 3 | | 26 | 3 | | 27 | 9 | | 28 | 8 | | 29 | 19 | | 30 | 14 | | 31 | 17 | | 32 | 6 | | 33 | 2 | | 34 | 10 | | 35 | 5 | | 36 | 5 | | 37 | 24 | | 38 | 2 | | 39 | 2 | | 40 | 13 | | 41 | 5 | | 42 | 2 | | 43 | 30 | | 44 | 15 | | 45 | 4 | | 46 | 3 | | 47 | 11 | | 48 | 9 | | 49 | 48 |
| |
| 58.81% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.3821138211382114 | | totalSentences | 123 | | uniqueOpeners | 47 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 68 | | matches | | 0 | "Instead, he lifted his cane" | | 1 | "Just held out his hand," | | 2 | "Instead, she took a step" |
| | ratio | 0.044 | |
| 2.35% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 37 | | totalSentences | 68 | | matches | | 0 | "She should have been used" | | 1 | "His charcoal suit was immaculate" | | 2 | "He held his cane in" | | 3 | "he said, and the name" | | 4 | "Her voice came out sharper" | | 5 | "She closed the door with" | | 6 | "He tilted his head, studying" | | 7 | "He laughed then, low and" | | 8 | "She crossed to the window," | | 9 | "She turned, hands gripping the" | | 10 | "He didn’t answer right away." | | 11 | "His voice was softer now," | | 12 | "She remembered the way he’d" | | 13 | "He stepped closer, and she" | | 14 | "he said, and the words" | | 15 | "She laughed, but it was" | | 16 | "She wiped her palms on" | | 17 | "He raised his other hand," | | 18 | "Her breath caught." | | 19 | "She’d forgotten that." |
| | ratio | 0.544 | |
| 85.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 51 | | totalSentences | 68 | | matches | | 0 | "The door creaked inward on" | | 1 | "Aurora Carter stood frozen in" | | 2 | "The room beyond was a" | | 3 | "She should have been used" | | 4 | "The door swung wider." | | 5 | "Lucien Moreau filled the threshold" | | 6 | "His charcoal suit was immaculate" | | 7 | "He held his cane in" | | 8 | "he said, and the name" | | 9 | "Her voice came out sharper" | | 10 | "She closed the door with" | | 11 | "He tilted his head, studying" | | 12 | "He laughed then, low and" | | 13 | "She crossed to the window," | | 14 | "Neon from the curry house" | | 15 | "Ptolemy had reappeared, crouched behind" | | 16 | "She turned, hands gripping the" | | 17 | "He didn’t answer right away." | | 18 | "His voice was softer now," | | 19 | "The underground club in Whitechapel," |
| | ratio | 0.75 | |
| 73.53% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 68 | | matches | | 0 | "To answer, he reached into" |
| | ratio | 0.015 | |
| 79.83% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 34 | | technicalSentenceCount | 3 | | matches | | 0 | "His charcoal suit was immaculate despite the rain streaking down his temple, the platinum of his hair slicked back as if he’d just stepped from a different cent…" | | 1 | "He held his cane in one hand, the other resting casually at his side, but his gaze was anything but casual as it swept over her—over the flat, over the cat who …" | | 2 | "He raised his other hand, palm up, as if offering something before withdrawing it." |
| |
| 29.76% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 21 | | uselessAdditionCount | 4 | | matches | | 0 | "he said, and the name was a whisper, rough with something she couldn’t place" | | 1 | "She turned, hands gripping the windowsill" | | 2 | "he said, and the words hung in the air like smoke" | | 3 | "She stepped back, circling to face him again" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 1 | | fancyTags | | 0 | "she breathed (breathe)" |
| | dialogueSentences | 57 | | tagDensity | 0.193 | | leniency | 0.386 | | rawRatio | 0.091 | | effectiveRatio | 0.035 | |