| 57.14% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said quietly [quietly]" |
| | dialogueSentences | 14 | | tagDensity | 0.429 | | leniency | 0.857 | | rawRatio | 0.167 | | effectiveRatio | 0.143 | |
| 94.01% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1670 | | 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) | |
| 61.08% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1670 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "resolving" | | 1 | "weight" | | 2 | "glint" | | 3 | "gleaming" | | 4 | "familiar" | | 5 | "sense of" | | 6 | "structure" | | 7 | "treacherous" | | 8 | "echoed" | | 9 | "velvet" | | 10 | "silence" | | 11 | "pulse" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 119 | | matches | (empty) | |
| 70.83% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 4 | | hedgeCount | 2 | | narrationSentences | 119 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 127 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 40 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1649 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 65 | | wordCount | 1547 | | uniqueNames | 19 | | maxNameDensity | 1.1 | | worstName | "Quinn" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Quinn" | | discoveredNames | | Camden | 3 | | Harlow | 2 | | Quinn | 17 | | Herrera | 13 | | Morris | 9 | | Raven | 1 | | Nest | 1 | | Soho | 2 | | Northern | 1 | | Line | 1 | | Saint | 2 | | Christopher | 2 | | Seville | 1 | | London | 2 | | Tube | 1 | | Maintain | 1 | | Veil | 2 | | Market | 2 | | Detective | 2 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Herrera" | | 3 | "Morris" | | 4 | "Raven" | | 5 | "Saint" | | 6 | "Christopher" | | 7 | "Detective" |
| | places | | 0 | "Soho" | | 1 | "Seville" | | 2 | "London" | | 3 | "Veil" |
| | globalScore | 0.951 | | windowScore | 0.833 | |
| 91.86% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 86 | | glossingSentenceCount | 2 | | matches | | 0 | "as if checking the time could anchor her to the moment, prevent history from repeating its worst tricks" | | 1 | "looked like a tooth, or a finger bone—som" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.606 | | wordCount | 1649 | | matches | | 0 | "not just damp and underground, but sharp with ozone" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 127 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 40 | | mean | 41.23 | | std | 25.66 | | cv | 0.622 | | sampleLengths | | 0 | 86 | | 1 | 12 | | 2 | 89 | | 3 | 13 | | 4 | 89 | | 5 | 82 | | 6 | 56 | | 7 | 64 | | 8 | 61 | | 9 | 52 | | 10 | 6 | | 11 | 22 | | 12 | 7 | | 13 | 73 | | 14 | 19 | | 15 | 16 | | 16 | 2 | | 17 | 62 | | 18 | 77 | | 19 | 27 | | 20 | 69 | | 21 | 43 | | 22 | 8 | | 23 | 57 | | 24 | 30 | | 25 | 17 | | 26 | 30 | | 27 | 21 | | 28 | 36 | | 29 | 34 | | 30 | 70 | | 31 | 40 | | 32 | 18 | | 33 | 33 | | 34 | 59 | | 35 | 37 | | 36 | 17 | | 37 | 28 | | 38 | 23 | | 39 | 64 |
| |
| 90.52% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 119 | | matches | | 0 | "was connected" | | 1 | "been locked" | | 2 | "was broken" | | 3 | "been forced" | | 4 | "been sealed" | | 5 | "being spoken" |
| |
| 77.90% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 273 | | matches | | 0 | "wasn't falling" | | 1 | "was leading" | | 2 | "were narrowing" | | 3 | "wasn't looking" | | 4 | "was looking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 21 | | semicolonCount | 0 | | flaggedSentences | 19 | | totalSentences | 127 | | ratio | 0.15 | | matches | | 0 | "Her breath came in controlled bursts—military precision, her old instructor used to say, even when her lungs burned and her thighs screamed from three nights without sleep." | | 1 | "Quinn's left hand unconsciously touched the worn leather strap of her watch—a gesture she'd developed since losing Morris, as if checking the time could anchor her to the moment, prevent history from repeating its worst tricks." | | 2 | "Herrera was connected to that world—the one that had swallowed Morris whole." | | 3 | "The difference was the weight now—the knowledge of what waited in dark corners, and the hollow space where Morris used to walk beside her." | | 4 | "The Raven's Nest in Soho was his usual haunt—the distinctive green neon sign she'd watched him duck under twice this week, the hidden room behind the bookshelf where he treated whatever walked through those doors with his unauthorized medicines." | | 5 | "Herrera glanced back—just once—and she caught the glint of silver at his throat." | | 6 | "Quinn followed, her hand resting on the baton at her hip—not drawn, not yet." | | 7 | "The lock was broken—freshly, the metal gleaming where it had been forced." | | 8 | "The air that wafted up smelled wrong—not just damp and underground, but sharp with ozone and something sweet, like burning sugar and rotting lilies." | | 9 | "Herrera was getting away, carrying whatever secrets had made him run—files stolen from the hospital where he'd lost his license, or worse, the alchemical supplies she'd heard whispered about in the precinct canteen." | | 10 | "She kept her torch low, tracking the wet footprints—Herrera's boots, size ten, distinctive tread from climbing gear." | | 11 | "The tiles stretched before her, illuminated now by flickering torchlight—not hers." | | 12 | "It looked like a tooth, or a finger bone—something that had once been alive and was now polished smooth." | | 13 | "The smell hit Quinn full force then—spices she couldn't name, copper, the acidic sting of banned alchemical substances." | | 14 | "She'd read the name in Morris's notes—a black market that moved locations every full moon, trading in enchanted goods and information that shouldn't exist." | | 15 | "Her face—what Quinn could see of it—was wrong." | | 16 | "Her radio was dead now—just static when she pressed the button." | | 17 | "Pulled out the evidence bag she'd meant to book at the station—the silver medallion she'd lifted from Herrera's flat two nights ago during an unauthorized search, the Saint Christopher, protector of travelers." | | 18 | "The sounds intensified—chanting, the crackle of enchanted fire, the market's hungry hum." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1578 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 45 | | adverbRatio | 0.028517110266159697 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.005069708491761723 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 127 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 127 | | mean | 12.98 | | std | 9.09 | | cv | 0.7 | | sampleLengths | | 0 | 24 | | 1 | 35 | | 2 | 27 | | 3 | 8 | | 4 | 4 | | 5 | 36 | | 6 | 14 | | 7 | 21 | | 8 | 12 | | 9 | 6 | | 10 | 12 | | 11 | 1 | | 12 | 3 | | 13 | 20 | | 14 | 12 | | 15 | 11 | | 16 | 19 | | 17 | 24 | | 18 | 6 | | 19 | 6 | | 20 | 39 | | 21 | 31 | | 22 | 5 | | 23 | 11 | | 24 | 13 | | 25 | 4 | | 26 | 3 | | 27 | 20 | | 28 | 17 | | 29 | 14 | | 30 | 15 | | 31 | 18 | | 32 | 7 | | 33 | 12 | | 34 | 7 | | 35 | 11 | | 36 | 24 | | 37 | 4 | | 38 | 4 | | 39 | 16 | | 40 | 16 | | 41 | 12 | | 42 | 3 | | 43 | 3 | | 44 | 12 | | 45 | 10 | | 46 | 7 | | 47 | 2 | | 48 | 6 | | 49 | 33 |
| |
| 60.37% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.4094488188976378 | | totalSentences | 127 | | uniqueOpeners | 52 | |
| 60.61% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 110 | | matches | | 0 | "Just the drop." | | 1 | "Too far from the world" |
| | ratio | 0.018 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 26 | | totalSentences | 110 | | matches | | 0 | "Her breath came in controlled" | | 1 | "she shouted, her voice cutting" | | 2 | "He veered left, dodging between" | | 3 | "She swept the water away" | | 4 | "He was leading her somewhere" | | 5 | "She wondered if he thought" | | 6 | "He ducked into an alley" | | 7 | "He vaulted a low wall" | | 8 | "She drew her torch, clicked" | | 9 | "She knew these tunnels." | | 10 | "Her radio crackled." | | 11 | "she said quietly, not taking" | | 12 | "She touched her watch again." | | 13 | "She kept her torch low," | | 14 | "He was looking at a" | | 15 | "Her voice echoed weirdly, as" | | 16 | "It looked like a tooth," | | 17 | "She'd read the name in" | | 18 | "He'd been tracking it when" | | 19 | "Her face—what Quinn could see" |
| | ratio | 0.236 | |
| 87.27% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 82 | | totalSentences | 110 | | matches | | 0 | "The rain wasn't falling so" | | 1 | "Detective Harlow Quinn kept her" | | 2 | "Her breath came in controlled" | | 3 | "Tomás Herrera was fast for" | | 4 | "Quinn's left hand unconsciously touched" | | 5 | "Herrera was connected to that" | | 6 | "Tonight, she would crack it" | | 7 | "she shouted, her voice cutting" | | 8 | "Herrera didn't stop." | | 9 | "He veered left, dodging between" | | 10 | "Quinn followed, her sharp jaw" | | 11 | "She swept the water away" | | 12 | "The difference was the weight" | | 13 | "He was leading her somewhere" | | 14 | "That much she'd learned from" | | 15 | "The Raven's Nest in Soho" | | 16 | "The brick walls closed in," | | 17 | "Herrera glanced back—just once—and she" | | 18 | "The Saint Christopher medallion." | | 19 | "Protector of travelers." |
| | ratio | 0.745 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 4 | | totalSentences | 110 | | matches | | 0 | "Now the streets were narrowing." | | 1 | "Because that's what this was." | | 2 | "Now here it was, a" | | 3 | "Now scarred at the knuckles," |
| | ratio | 0.036 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 66 | | technicalSentenceCount | 18 | | matches | | 0 | "The rain wasn't falling so much as resolving, a steady dissolution of sky into street that turned the Camden pavement into a black mirror." | | 1 | "Quinn's left hand unconsciously touched the worn leather strap of her watch—a gesture she'd developed since losing Morris, as if checking the time could anchor …" | | 2 | "He veered left, dodging between two parked delivery vans, his shoes splashing through a gutter running thick with city grime." | | 3 | "The air that wafted up smelled wrong—not just damp and underground, but sharp with ozone and something sweet, like burning sugar and rotting lilies." | | 4 | "But standing at the threshold, Quinn felt the familiar cold certainty that had preceded Morris's disappearance." | | 5 | "The supernatural nonsense she'd dismissed until Morris stopped breathing and started to decompose three hours too fast, his brown eyes clouding over with someth…" | | 6 | "The concrete steps were treacherous, worn smooth by decades of water damage and, more recently, heavy traffic that had no business in a sealed station." | | 7 | "He was looking at a woman in a hooded cloak who barred his path, her hand extended, palm up." | | 8 | "It looked like a tooth, or a finger bone—something that had once been alive and was now polished smooth." | | 9 | "A section of the tiled wall behind her slid open with a pneumatic hiss, revealing a cavern beyond, glowing with baleful blue light and crowded with silhouettes …" | | 10 | "The sounds, too: a language being spoken backwards, the clink of glass on glass, a wet dragging noise that had no business in a marketplace." | | 11 | "She'd read the name in Morris's notes—a black market that moved locations every full moon, trading in enchanted goods and information that shouldn't exist." | | 12 | "Now here it was, a gullet opening in the earth, swallowing her suspect whole as Herrera slipped through the gap, his silhouette merging with the crowd." | | 13 | "Eyes that reflected the torchlight like an animal's, catching the beam and throwing it back doubled." | | 14 | "The supernatural origins she'd refused to acknowledge, the unexplained circumstances that had left DS Morris's body empty and his case file stamped UNRESOLVED." | | 15 | "Step into the dark that had taken her partner, armed with nothing but her service baton, her conviction, and the ghost-weight of a leather watch on her left wri…" | | 16 | "She thought of the sharp lines of her jaw reflected in Morris's coffin lid, the military precision that had gotten her through the funeral without crying." | | 17 | "Thought of salt-and-pepper hair that had come too young from stress and grief." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 6 | | uselessAdditionCount | 2 | | matches | | 0 | "she shouted, her voice cutting through the rain's white noise" | | 1 | "she said quietly, not taking her eyes off the darkness below" |
| |
| 78.57% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 14 | | tagDensity | 0.357 | | leniency | 0.714 | | rawRatio | 0.2 | | effectiveRatio | 0.143 | |