| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 2 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 2 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 90.97% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1108 | | 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) | |
| 45.85% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1108 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "fractured" | | 1 | "glint" | | 2 | "scanning" | | 3 | "mosaic" | | 4 | "maw" | | 5 | "footsteps" | | 6 | "velvet" | | 7 | "weight" | | 8 | "familiar" | | 9 | "comforting" | | 10 | "gleaming" | | 11 | "pulse" |
| |
| 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 | 1 | | narrationSentences | 35 | | matches | | |
| 0.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 1 | | narrationSentences | 35 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 35 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 97 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1092 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 95.76% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 44 | | wordCount | 1014 | | uniqueNames | 24 | | maxNameDensity | 1.08 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Soho | 1 | | Harlow | 1 | | Quinn | 11 | | Morris | 4 | | Herrera | 6 | | Saint | 1 | | Christopher | 1 | | Wardour | 1 | | Street | 2 | | Tottenham | 1 | | Court | 1 | | Road | 1 | | Camden | 2 | | High | 1 | | Underground | 1 | | Tube | 1 | | Whitechapel | 1 | | Veil | 1 | | Market | 1 | | London | 1 | | Metropolitan | 1 | | Police | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Harlow" | | 3 | "Quinn" | | 4 | "Morris" | | 5 | "Herrera" | | 6 | "Saint" | | 7 | "Christopher" |
| | places | | 0 | "Soho" | | 1 | "Wardour" | | 2 | "Street" | | 3 | "Tottenham" | | 4 | "Court" | | 5 | "Road" | | 6 | "Camden" | | 7 | "High" | | 8 | "Whitechapel" | | 9 | "Market" | | 10 | "London" |
| | globalScore | 0.958 | | windowScore | 1 | |
| 60.71% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 28 | | glossingSentenceCount | 1 | | matches | | 0 | "paper that seemed to burn as they were handed over" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 4 | | per1kWords | 3.663 | | wordCount | 1092 | | matches | | 0 | "not twenty-five, but she compensated with economy" | | 1 | "not like urine and dust, which would be natural for a derelict Tube station, but like ozone" | | 2 | "Not here exactly, but somewhere" | | 3 | "not bone, but metal, stamped with the authority of the Metropolitan Police" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 35 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 27 | | mean | 40.44 | | std | 30.45 | | cv | 0.753 | | sampleLengths | | 0 | 104 | | 1 | 3 | | 2 | 69 | | 3 | 85 | | 4 | 59 | | 5 | 66 | | 6 | 4 | | 7 | 64 | | 8 | 17 | | 9 | 66 | | 10 | 69 | | 11 | 16 | | 12 | 3 | | 13 | 59 | | 14 | 13 | | 15 | 3 | | 16 | 96 | | 17 | 45 | | 18 | 63 | | 19 | 24 | | 20 | 5 | | 21 | 28 | | 22 | 55 | | 23 | 14 | | 24 | 19 | | 25 | 20 | | 26 | 23 |
| |
| 65.16% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 35 | | matches | | 0 | "were handed" | | 1 | "was hidden" | | 2 | "was resigned" | | 3 | "been made" |
| |
| 88.27% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 179 | | matches | | 0 | "was heading" | | 1 | "was making" | | 2 | "was handling" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 8 | | totalSentences | 35 | | ratio | 0.229 | | matches | | 0 | "Herrera glanced back. Their eyes met—warm brown against her own dark irises—and then he vaulted a railing and dropped onto the access road running parallel to the Tottenham Court Road construction site. Quinn swore under her breath and followed, her palms slapping cold metal, the impact jarring up through her knees as she landed. Mud squelched. The smell of diesel and wet earth choked the air." | | 1 | "The chase narrowed into the service alleys behind Camden High Street, where the streetlamps were broken teeth of sodium light. Quinn’s thighs burned. She could hear his breathing now, ragged, and the clink of the medallion bouncing against his sternum. He was making for the old Underground entrance—the one boarded up after the 1980s expansion, marked only by a mosaic sign half-covered in graffiti." | | 2 | "Quinn reached the entrance as Herrera pried loose a plywood sheet and slid into the dark maw of the abandoned station. She stood at the threshold, rain drilling the pavement behind her, her chest heaving. The blackness inside smelled wrong—not like urine and dust, which would be natural for a derelict Tube station, but like ozone and burning sage, like copper pennies held under the tongue." | | 3 | "Below, she heard footsteps scrambling down the escalator shafts—the old wooden ones, rotted through in places." | | 4 | "The darkness enveloped her like a fever. Her eyes adjusted slowly, picking out phosphorescent glows that had no business existing in a decommissioned station. The air grew warmer, humid, fungal. As she descended the fixed ladder—escalator steps long since removed—her fingers found graffiti that wasn’t graffiti at all, but gouges in the concrete, symbols that made her teeth ache." | | 5 | "It shouldn’t have fit. The space yawned wider than the architecture allowed, archways receding into shadows that moved independently of the light sources—glowing orbs drifting between stalls made of scrap metal and velvet. Figures haggled in whispers over vials of swirling liquid, over bundles of herbs that smoked in the damp air, over information traded on slips of paper that seemed to burn as they were handed over. The bone token requirement was visible at the entrance arch: a skeletal hand carved from ivory or actual bone, where visitors pressed small, yellowed discs to gain passage." | | 6 | "His expression wasn’t surprised. It was resigned. He held up the small vial—something amber, something that moved against gravity—and shook his head slowly. Warning her. Or begging her." | | 7 | "Quinn reached into her jacket, withdrew her badge—not bone, but metal, stamped with the authority of the Metropolitan Police—and stepped into the market." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 185 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 3 | | adverbRatio | 0.016216216216216217 | | lyAdverbCount | 0 | | lyAdverbRatio | 0 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 35 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 35 | | mean | 31.2 | | std | 25.93 | | cv | 0.831 | | sampleLengths | | 0 | 20 | | 1 | 22 | | 2 | 28 | | 3 | 24 | | 4 | 10 | | 5 | 3 | | 6 | 16 | | 7 | 34 | | 8 | 2 | | 9 | 2 | | 10 | 15 | | 11 | 85 | | 12 | 59 | | 13 | 66 | | 14 | 4 | | 15 | 64 | | 16 | 17 | | 17 | 66 | | 18 | 69 | | 19 | 16 | | 20 | 3 | | 21 | 59 | | 22 | 13 | | 23 | 3 | | 24 | 96 | | 25 | 45 | | 26 | 63 | | 27 | 24 | | 28 | 5 | | 29 | 28 | | 30 | 55 | | 31 | 14 | | 32 | 19 | | 33 | 20 | | 34 | 23 |
| |
| 80.00% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.5142857142857142 | | totalSentences | 35 | | uniqueOpeners | 18 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 33 | | matches | (empty) | | ratio | 0 | |
| 86.67% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 11 | | totalSentences | 33 | | matches | | 0 | "He paused, scanning the street" | | 1 | "He darted left onto Wardour" | | 2 | "He was heading north." | | 3 | "He knew she wouldn’t follow" | | 4 | "Her hand went to her" | | 5 | "She stepped inside." | | 6 | "It shouldn’t have fit. The" | | 7 | "Her watch ticked, audible in" | | 8 | "His expression wasn’t surprised. It" | | 9 | "She thought of Morris’s body" | | 10 | "She walked toward the archway." |
| | ratio | 0.333 | |
| 50.91% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 27 | | totalSentences | 33 | | matches | | 0 | "Detective Harlow Quinn stood in" | | 1 | "The file was still open" | | 2 | "The door opened." | | 3 | "Tomás Herrera stepped out, olive" | | 4 | "He paused, scanning the street" | | 5 | "Quinn was moving before her" | | 6 | "He darted left onto Wardour" | | 7 | "Herrera glanced back. Their eyes" | | 8 | "He was heading north." | | 9 | "The chase narrowed into the" | | 10 | "He knew she wouldn’t follow" | | 11 | "Quinn reached the entrance as" | | 12 | "Her hand went to her" | | 13 | "She stepped inside." | | 14 | "The darkness enveloped her like" | | 15 | "The Veil Market." | | 16 | "It shouldn’t have fit. The" | | 17 | "Herrera stood at a stall" | | 18 | "Quinn’s hand drifted to her" | | 19 | "Her watch ticked, audible in" |
| | ratio | 0.818 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 33 | | matches | | 0 | "Even from forty yards, Quinn" |
| | ratio | 0.03 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 26 | | technicalSentenceCount | 8 | | matches | | 0 | "He darted left onto Wardour Street, weaving between late-night revelers who stumbled from curry houses. Quinn followed, her sharp jaw set, her breath steady des…" | | 1 | "Herrera glanced back. Their eyes met—warm brown against her own dark irises—and then he vaulted a railing and dropped onto the access road running parallel to t…" | | 2 | "Quinn reached the entrance as Herrera pried loose a plywood sheet and slid into the dark maw of the abandoned station. She stood at the threshold, rain drilling…" | | 3 | "Her hand went to her watch. Morris had died in a place like this. Not here exactly, but somewhere that smelled of this wrongness. She’d found him in a warehouse…" | | 4 | "The darkness enveloped her like a fever. Her eyes adjusted slowly, picking out phosphorescent glows that had no business existing in a decommissioned station. T…" | | 5 | "It shouldn’t have fit. The space yawned wider than the architecture allowed, archways receding into shadows that moved independently of the light sources—glowin…" | | 6 | "His expression wasn’t surprised. It was resigned. He held up the small vial—something amber, something that moved against gravity—and shook his head slowly. War…" | | 7 | "Quinn stepped out from behind the pillar. Her boots crunched on debris that might have been rat bones or something older. The air pressure changed, pressing aga…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 2 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |