| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 1 | | adverbTags | | 0 | "Quinn glanced back [back]" |
| | dialogueSentences | 25 | | tagDensity | 0.24 | | leniency | 0.48 | | rawRatio | 0.167 | | effectiveRatio | 0.08 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1822 | | 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) | |
| 67.07% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1822 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "database" | | 1 | "footsteps" | | 2 | "echoing" | | 3 | "constructed" | | 4 | "gleaming" | | 5 | "familiar" | | 6 | "weight" | | 7 | "scanned" | | 8 | "calculating" | | 9 | "flicked" | | 10 | "resolved" | | 11 | "framework" |
| |
| 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 | 134 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 3 | | narrationSentences | 134 | | filterMatches | | | hedgeMatches | | 0 | "appeared to" | | 1 | "seemed to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 153 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 52 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1800 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 52 | | wordCount | 1528 | | uniqueNames | 23 | | maxNameDensity | 0.85 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Soho | 1 | | Camden | 2 | | High | 1 | | Street | 1 | | Tomás | 1 | | Herrera | 10 | | Parkway | 1 | | Raven | 2 | | Nest | 2 | | Saint | 1 | | Christopher | 1 | | Tube | 2 | | Morris | 2 | | Whitechapel | 1 | | Met | 1 | | Victorian | 1 | | Quinn | 13 | | London | 2 | | Veil | 1 | | Market | 1 | | Seville | 1 | | Five | 1 | | Rain | 3 |
| | persons | | 0 | "Tomás" | | 1 | "Herrera" | | 2 | "Raven" | | 3 | "Nest" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "Morris" | | 7 | "Quinn" | | 8 | "Rain" |
| | places | | 0 | "Soho" | | 1 | "Camden" | | 2 | "High" | | 3 | "Street" | | 4 | "Whitechapel" | | 5 | "Met" | | 6 | "London" | | 7 | "Market" | | 8 | "Seville" |
| | globalScore | 1 | | windowScore | 1 | |
| 64.77% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 88 | | glossingSentenceCount | 3 | | matches | | 0 | "quite moss" | | 1 | "Blades that seemed to drink the light rather than reflect it" | | 2 | "looked like preserved eyes floating in gr" |
| |
| 33.33% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 1.667 | | wordCount | 1800 | | matches | | 0 | "not fear, but bewilderment, as though he'd walked into a room" | | 1 | "not the stale, mineral smell of an abandoned tunnel but something richer, like woodsmoke" | | 2 | "not hostility, but urgency, a desperate need for her to understand something sh" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 153 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 56 | | mean | 32.14 | | std | 24.89 | | cv | 0.774 | | sampleLengths | | 0 | 68 | | 1 | 14 | | 2 | 67 | | 3 | 4 | | 4 | 64 | | 5 | 3 | | 6 | 6 | | 7 | 63 | | 8 | 3 | | 9 | 35 | | 10 | 62 | | 11 | 50 | | 12 | 7 | | 13 | 68 | | 14 | 52 | | 15 | 10 | | 16 | 70 | | 17 | 21 | | 18 | 43 | | 19 | 9 | | 20 | 40 | | 21 | 42 | | 22 | 13 | | 23 | 74 | | 24 | 63 | | 25 | 40 | | 26 | 67 | | 27 | 55 | | 28 | 51 | | 29 | 2 | | 30 | 49 | | 31 | 4 | | 32 | 30 | | 33 | 51 | | 34 | 4 | | 35 | 27 | | 36 | 18 | | 37 | 3 | | 38 | 26 | | 39 | 32 | | 40 | 5 | | 41 | 10 | | 42 | 79 | | 43 | 47 | | 44 | 5 | | 45 | 13 | | 46 | 5 | | 47 | 52 | | 48 | 12 | | 49 | 5 |
| |
| 97.41% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 134 | | matches | | 0 | "was supposed" | | 1 | "been transformed" | | 2 | "was raised" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 259 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 16 | | semicolonCount | 0 | | flaggedSentences | 15 | | totalSentences | 153 | | ratio | 0.098 | | matches | | 0 | "She'd only wanted to talk—had positioned herself at the mouth of the alley behind The Raven's Nest, warrant card in hand, questions about the unlicensed medical supplies stacked in that hidden back room she wasn't supposed to know about." | | 1 | "She was gaining—she could see the scar on his left forearm as his sleeve rode up, the pale line of tissue unmistakable even from distance." | | 2 | "The entrance was supposed to be sealed—she could see the plywood boards that should have covered it, pulled aside and leaning against the tiled wall like someone had opened a door." | | 3 | "She still had the crime scene photographs in her desk drawer, the ones that showed Morris's expression—not fear, but bewilderment, as though he'd walked into a room and found the walls breathing." | | 4 | "The air smelled wrong—not the stale, mineral smell of an abandoned tunnel but something richer, like woodsmoke and copper and crushed herbs." | | 5 | "It was the sound of a market—a living, functioning marketplace operating beneath a dead Tube station in the middle of the night." | | 6 | "The smell intensified—incense now, and something acrid, and underneath it all, the unmistakable iron note of blood." | | 7 | "Actual bone—pale, curved, lashed together with wire into frames that held up canopies of dark cloth." | | 8 | "A woman at the nearest stall had skin the colour of birch bark, and it wasn't makeup—the texture was wrong, fissured and layered, with something dark and wet gleaming in the cracks." | | 9 | "A rack of small tokens—bone tokens, she realized, each one carved with a symbol she didn't recognize—hung beside a sign that read ENTRY PASSES: 3 MOONS VALID." | | 10 | "This was the place she'd been hearing whispers about for months—fragments from informants who wouldn't elaborate, references in case files that went nowhere." | | 11 | "His accent was heavier than it sounded on the surveillance recordings—the Seville roots showing through the London overlay." | | 12 | "Not the scarred arm—the other one." | | 13 | "Something shifted in them—not hostility, but urgency, a desperate need for her to understand something she didn't have the framework for." | | 14 | "From the market behind her came the sound of a bell—a single, clear note that rang through the tunnels and silenced the crowd for one long, held breath." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1549 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 37 | | adverbRatio | 0.023886378308586184 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.004519044544867657 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 153 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 153 | | mean | 11.76 | | std | 9.69 | | cv | 0.824 | | sampleLengths | | 0 | 17 | | 1 | 30 | | 2 | 21 | | 3 | 4 | | 4 | 2 | | 5 | 8 | | 6 | 13 | | 7 | 39 | | 8 | 15 | | 9 | 4 | | 10 | 15 | | 11 | 5 | | 12 | 7 | | 13 | 24 | | 14 | 13 | | 15 | 3 | | 16 | 3 | | 17 | 3 | | 18 | 13 | | 19 | 25 | | 20 | 5 | | 21 | 7 | | 22 | 13 | | 23 | 3 | | 24 | 6 | | 25 | 29 | | 26 | 8 | | 27 | 13 | | 28 | 31 | | 29 | 3 | | 30 | 7 | | 31 | 16 | | 32 | 7 | | 33 | 7 | | 34 | 20 | | 35 | 3 | | 36 | 3 | | 37 | 1 | | 38 | 6 | | 39 | 4 | | 40 | 3 | | 41 | 23 | | 42 | 32 | | 43 | 6 | | 44 | 3 | | 45 | 8 | | 46 | 16 | | 47 | 6 | | 48 | 13 | | 49 | 10 |
| |
| 66.23% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.4444444444444444 | | totalSentences | 153 | | uniqueOpeners | 68 | |
| 84.03% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 119 | | matches | | 0 | "Then he vanished." | | 1 | "Just a throat of blackness" | | 2 | "Then the murmuring started again," |
| | ratio | 0.025 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 30 | | totalSentences | 119 | | matches | | 0 | "She keyed her radio." | | 1 | "She'd only wanted to talk—had" | | 2 | "He'd taken one look at" | | 3 | "She rounded the corner and" | | 4 | "Her fingers stung from the" | | 5 | "He didn't slow." | | 6 | "She was gaining—she could see" | | 7 | "He cut across the road." | | 8 | "She wiped water from her" | | 9 | "She looked down the stairs" | | 10 | "She still had the crime" | | 11 | "She'd spent three years collecting" | | 12 | "Her torch beam cut a" | | 13 | "She moved through the ticket" | | 14 | "It was the sound of" | | 15 | "She pressed her back against" | | 16 | "She kept walking." | | 17 | "Her hand found the familiar" | | 18 | "It moved every full moon," | | 19 | "She scanned the crowd for" |
| | ratio | 0.252 | |
| 73.45% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 92 | | totalSentences | 119 | | matches | | 0 | "The rain came down in" | | 1 | "Quinn's boots struck the pavement" | | 2 | "She keyed her radio." | | 3 | "Herrera moved fast for someone" | | 4 | "She'd only wanted to talk—had" | | 5 | "He'd taken one look at" | | 6 | "Innocent people don't run." | | 7 | "She rounded the corner and" | | 8 | "Her fingers stung from the" | | 9 | "Herrera was already fifty metres" | | 10 | "The Saint Christopher medallion caught" | | 11 | "He didn't slow." | | 12 | "Quinn pushed harder, her lungs" | | 13 | "She was gaining—she could see" | | 14 | "He cut across the road." | | 15 | "A black cab leaned on" | | 16 | "Quinn followed, the cab's headlights" | | 17 | "Quinn stopped at the top" | | 18 | "Rain streamed down the bridge" | | 19 | "The entrance was supposed to" |
| | ratio | 0.773 | |
| 42.02% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 119 | | matches | | 0 | "If she let him disappear" |
| | ratio | 0.008 | |
| 49.18% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 61 | | technicalSentenceCount | 8 | | matches | | 0 | "Quinn's boots struck the pavement in a rhythm she hadn't broken since Camden High Street, each impact sending a jolt through her knees that reminded her she was…" | | 1 | "An investigation that had led him into a basement in Whitechapel, into something the coroner's report couldn't explain and the department wouldn't discuss." | | 2 | "She still had the crime scene photographs in her desk drawer, the ones that showed Morris's expression—not fear, but bewilderment, as though he'd walked into a …" | | 3 | "The deliveries at odd hours, the substances that didn't match anything in the Met's drug database." | | 4 | "The escalator deposited her onto a platform that had been transformed beyond recognition." | | 5 | "Bottles of liquid that moved against gravity, swirling upward inside their containers." | | 6 | "This was the place she'd been hearing whispers about for months—fragments from informants who wouldn't elaborate, references in case files that went nowhere." | | 7 | "From the market behind her came the sound of a bell—a single, clear note that rang through the tunnels and silenced the crowd for one long, held breath." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 6 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |