| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 11 | | adverbTagCount | 3 | | adverbTags | | 0 | "It stood like [like]" | | 1 | "He stepped aside [aside]" | | 2 | "he said quietly [quietly]" |
| | dialogueSentences | 29 | | tagDensity | 0.379 | | leniency | 0.759 | | rawRatio | 0.273 | | effectiveRatio | 0.207 | |
| 92.44% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1323 | | 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) | |
| 35.75% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1323 | | totalAiIsms | 17 | | found | | | highlights | | 0 | "silk" | | 1 | "scanning" | | 2 | "pumping" | | 3 | "glint" | | 4 | "flickered" | | 5 | "standard" | | 6 | "database" | | 7 | "pulsed" | | 8 | "fragmented" | | 9 | "echo" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 2 |
|
| | highlights | | 0 | "eyes narrowed" | | 1 | "eyes widened" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 130 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 1 | | narrationSentences | 130 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 149 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 41 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 11 | | markdownWords | 18 | | totalWords | 1297 | | ratio | 0.014 | | matches | | 0 | "chime" | | 1 | "into" | | 2 | "I’m off-grid" | | 3 | "Entry requirement" | | 4 | "Bone token. Human origin." | | 5 | "someone" | | 6 | "her" | | 7 | "This is madness" | | 8 | "twist" | | 9 | "your" | | 10 | "through" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 34 | | wordCount | 1077 | | uniqueNames | 16 | | maxNameDensity | 1.02 | | worstName | "Quinn" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Quinn" | | discoveredNames | | Soho | 1 | | Harlow | 1 | | Quinn | 11 | | Morris | 2 | | Raven | 1 | | Nest | 1 | | Márquez | 5 | | Victorian | 1 | | Tube | 1 | | Market | 3 | | Veil | 1 | | Herrera | 1 | | Saint | 1 | | Christopher | 1 | | Tomás | 2 | | Camden | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Morris" | | 3 | "Márquez" | | 4 | "Herrera" | | 5 | "Saint" | | 6 | "Christopher" | | 7 | "Tomás" |
| | places | | | globalScore | 0.989 | | windowScore | 0.833 | |
| 82.43% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 74 | | glossingSentenceCount | 2 | | matches | | 0 | "quite align" | | 1 | "shadows that seemed to twist* as they moved" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.771 | | wordCount | 1297 | | matches | | 0 | "not toward the street, but *into* the wall" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 149 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 74 | | mean | 17.53 | | std | 16.74 | | cv | 0.955 | | sampleLengths | | 0 | 89 | | 1 | 50 | | 2 | 39 | | 3 | 11 | | 4 | 64 | | 5 | 46 | | 6 | 18 | | 7 | 18 | | 8 | 3 | | 9 | 15 | | 10 | 45 | | 11 | 2 | | 12 | 27 | | 13 | 14 | | 14 | 44 | | 15 | 12 | | 16 | 42 | | 17 | 8 | | 18 | 5 | | 19 | 39 | | 20 | 12 | | 21 | 4 | | 22 | 12 | | 23 | 3 | | 24 | 22 | | 25 | 3 | | 26 | 18 | | 27 | 19 | | 28 | 14 | | 29 | 18 | | 30 | 26 | | 31 | 6 | | 32 | 31 | | 33 | 4 | | 34 | 7 | | 35 | 55 | | 36 | 14 | | 37 | 13 | | 38 | 43 | | 39 | 12 | | 40 | 13 | | 41 | 6 | | 42 | 5 | | 43 | 5 | | 44 | 2 | | 45 | 34 | | 46 | 3 | | 47 | 21 | | 48 | 3 | | 49 | 21 |
| |
| 97.17% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 130 | | matches | | 0 | "was clenched" | | 1 | "been admitted" | | 2 | "been transformed" |
| |
| 67.33% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 201 | | matches | | 0 | "wasn’t just running" | | 1 | "was arguing" | | 2 | "wasn’t just hunting" | | 3 | "was following" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 21 | | semicolonCount | 0 | | flaggedSentences | 18 | | totalSentences | 149 | | ratio | 0.121 | | matches | | 0 | "Detective Harlow Quinn moved through it like a blade through silk—steady, precise, her breath a controlled rhythm beneath the drumming on her trench coat." | | 1 | "She hadn’t drawn her weapon yet—not officially." | | 2 | "She remembered Morris then—his laugh, his coffee-stained notepad, the way he’d looked up at her in that warehouse three years ago, whispering, “It’s not right, Harlow. The air’s too thick.” And then the shadows had moved on their own." | | 3 | "She could barely hear over the rain, but she caught it—the faint *chime* of metal on metal." | | 4 | "But there—on the ground—was the impression of a footprint, pointing not toward the street, but *into* the wall." | | 5 | "Then saw it—a section of wall that didn’t quite align." | | 6 | "The air that rose from below was stale but warm, carrying the scent of damp earth, incense, and something else—ozone, like the moment before lightning strikes." | | 7 | "From deeper in, light flickered—golden, irregular, like torchlight." | | 8 | "On either side, figures stood motionless—hooded, silent." | | 9 | "Then the second guard—a broad-shouldered man with a face like weathered oak—leaned forward." | | 10 | "Vendors—human and not—hawked wares in hushed voices: bottled shadows, lockets that whispered secrets, vials of crimson liquid labeled in a script she didn’t know." | | 11 | "He was arguing with a vendor—a wiry man in a threadbare waistcoat, holding a small iron box." | | 12 | "Glass screamed—a high, keening sound." | | 13 | "Below the platform, the tunnel yawned—black, deeper than the rest." | | 14 | "Her watch flickered—digital numbers glitching for a second, then resetting." | | 15 | "But then she saw it—on the wall, near the tunnel entrance." | | 16 | "His warm brown eyes held no fear—only resignation." | | 17 | "And Quinn realized—she wasn’t just hunting a suspect." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 702 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small, bone-white token," |
| | adverbCount | 25 | | adverbRatio | 0.03561253561253561 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.005698005698005698 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 149 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 149 | | mean | 8.7 | | std | 6.17 | | cv | 0.709 | | sampleLengths | | 0 | 17 | | 1 | 24 | | 2 | 15 | | 3 | 19 | | 4 | 14 | | 5 | 8 | | 6 | 7 | | 7 | 4 | | 8 | 14 | | 9 | 17 | | 10 | 39 | | 11 | 11 | | 12 | 12 | | 13 | 16 | | 14 | 17 | | 15 | 19 | | 16 | 18 | | 17 | 10 | | 18 | 2 | | 19 | 2 | | 20 | 14 | | 21 | 18 | | 22 | 10 | | 23 | 8 | | 24 | 1 | | 25 | 2 | | 26 | 3 | | 27 | 10 | | 28 | 2 | | 29 | 19 | | 30 | 26 | | 31 | 2 | | 32 | 3 | | 33 | 1 | | 34 | 2 | | 35 | 21 | | 36 | 3 | | 37 | 6 | | 38 | 4 | | 39 | 1 | | 40 | 8 | | 41 | 3 | | 42 | 11 | | 43 | 14 | | 44 | 8 | | 45 | 12 | | 46 | 11 | | 47 | 16 | | 48 | 7 | | 49 | 8 |
| |
| 52.80% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.348993288590604 | | totalSentences | 149 | | uniqueOpeners | 52 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 108 | | matches | | 0 | "Just a black mouth in" | | 1 | "Then saw it—a section of" | | 2 | "Then she saw the gate." | | 3 | "Then the second guard—a broad-shouldered" | | 4 | "Then a voice, calm, behind" |
| | ratio | 0.046 | |
| 82.96% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 37 | | totalSentences | 108 | | matches | | 0 | "Her sharp jaw was clenched," | | 1 | "He moved unnaturally fast, too" | | 2 | "She hadn’t drawn her weapon" | | 3 | "She remembered Morris then—his laugh," | | 4 | "She shoved the memory down" | | 5 | "She could barely hear over" | | 6 | "She slowed, scanning the mouth" | | 7 | "She pressed her palm flat" | | 8 | "She stepped back." | | 9 | "Her radio crackled." | | 10 | "She didn’t answer." | | 11 | "Her fingers hovered over the" | | 12 | "*I’m off-grid*, she thought." | | 13 | "She knew that." | | 14 | "She stepped into the dark" | | 15 | "She drew her service weapon," | | 16 | "It stood like an old" | | 17 | "She didn’t have one." | | 18 | "She’d heard whispers." | | 19 | "She stepped forward." |
| | ratio | 0.343 | |
| 80.37% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 82 | | totalSentences | 108 | | matches | | 0 | "The rain came down in" | | 1 | "Detective Harlow Quinn moved through" | | 2 | "Her sharp jaw was clenched," | | 3 | "He moved unnaturally fast, too" | | 4 | "Quinn’s hand brushed the holster" | | 5 | "She hadn’t drawn her weapon" | | 6 | "The last time she’d fired" | | 7 | "She remembered Morris then—his laugh," | | 8 | "She shoved the memory down" | | 9 | "The suspect cut left down" | | 10 | "Quinn followed, boots splashing through" | | 11 | "She could barely hear over" | | 12 | "A small, bone-white token, clutched" | | 13 | "The green neon sign above" | | 14 | "She slowed, scanning the mouth" | | 15 | "Quinn stepped forward, rain dripping" | | 16 | "She pressed her palm flat" | | 17 | "She stepped back." | | 18 | "The air that rose from" | | 19 | "Her radio crackled." |
| | ratio | 0.759 | |
| 46.30% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 108 | | matches | | | ratio | 0.009 | |
| 65.22% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 46 | | technicalSentenceCount | 5 | | matches | | 0 | "But the surveillance photos showed him meeting people who didn’t exist in any database." | | 1 | "Platform after platform stretched into the dim, lit by hanging lanterns that flickered with blue flame." | | 2 | "Vendors—human and not—hawked wares in hushed voices: bottled shadows, lockets that whispered secrets, vials of crimson liquid labeled in a script she didn’t kno…" | | 3 | "Her flashlight flickered on, casting long shadows that seemed to *twist* as they moved." | | 4 | "Tomás Herrera stood there, one hand resting on a support pillar, the Saint Christopher medallion around his neck glowing faintly." |
| |
| 79.55% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 11 | | uselessAdditionCount | 1 | | matches | | 0 | "Quinn said, voice low, steady" |
| |
| 81.03% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 2 | | fancyTags | | 0 | "the vendor hissed (hiss)" | | 1 | "Márquez snapped (snap)" |
| | dialogueSentences | 29 | | tagDensity | 0.241 | | leniency | 0.483 | | rawRatio | 0.286 | | effectiveRatio | 0.138 | |