| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 9 | | tagDensity | 0.556 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1179 | | 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) | |
| 53.35% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1179 | | totalAiIsms | 11 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | word | "the last thing" | | count | 1 |
| | 6 | | | 7 | | | 8 | | | 9 | |
| | highlights | | 0 | "pulse" | | 1 | "traced" | | 2 | "weight" | | 3 | "footsteps" | | 4 | "chill" | | 5 | "the last thing" | | 6 | "lurch" | | 7 | "stomach" | | 8 | "depths" | | 9 | "unspoken" |
| |
| 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 | 57 | | matches | (empty) | |
| 42.61% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 1 | | narrationSentences | 57 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 61 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 63 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1165 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 42 | | wordCount | 1128 | | uniqueNames | 18 | | maxNameDensity | 1.06 | | worstName | "Quinn" | | maxWindowNameDensity | 3 | | worstWindowName | "Quinn" | | discoveredNames | | Camden | 2 | | High | 1 | | Street | 2 | | Harlow | 1 | | Quinn | 12 | | Men | 2 | | Tomás | 1 | | Herrera | 6 | | London | 4 | | Saint | 1 | | Christopher | 1 | | Morris | 2 | | Deptford | 1 | | Inverness | 1 | | Transport | 1 | | Tube | 2 | | Underground | 1 | | Bone | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Tomás" | | 3 | "Herrera" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "Morris" | | 7 | "Underground" |
| | places | | 0 | "Camden" | | 1 | "High" | | 2 | "Street" | | 3 | "London" | | 4 | "Deptford" | | 5 | "Inverness" | | 6 | "Transport" |
| | globalScore | 0.968 | | windowScore | 0.667 | |
| 43.62% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 47 | | glossingSentenceCount | 2 | | matches | | 0 | "something like woodsmoke and old copper and" | | 1 | "quite keep out of her voice—had satisfied some unspoken condition" |
| |
| 28.33% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.717 | | wordCount | 1165 | | matches | | 0 | "not shouting, not panicked, but murmuring, the low hum of commerce, of a crowd going about i" | | 1 | "not panicked, but murmuring, the low hum of commerce, of a crowd going about i" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 61 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 25 | | mean | 46.6 | | std | 26.47 | | cv | 0.568 | | sampleLengths | | 0 | 60 | | 1 | 19 | | 2 | 5 | | 3 | 85 | | 4 | 75 | | 5 | 63 | | 6 | 41 | | 7 | 59 | | 8 | 60 | | 9 | 52 | | 10 | 68 | | 11 | 73 | | 12 | 70 | | 13 | 12 | | 14 | 76 | | 15 | 99 | | 16 | 15 | | 17 | 2 | | 18 | 33 | | 19 | 57 | | 20 | 38 | | 21 | 23 | | 22 | 13 | | 23 | 36 | | 24 | 31 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 57 | | matches | (empty) | |
| 98.48% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 197 | | matches | | 0 | "was getting" | | 1 | "was screaming" | | 2 | "were already fading" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 15 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 61 | | ratio | 0.18 | | matches | | 0 | "Detective Harlow Quinn's boots hit the pavement in a rhythm that matched her pulse—hard, fast, relentless." | | 1 | "Ever since his name turned up in a coroner's file that didn't add up—a body with wounds no blade in London could make, and a witness statement that mentioned a man with a Saint Christopher medallion who'd arrived before the ambulance and left before the police." | | 2 | "Her leather watch, an old habit from her father, ticked against her wrist as her arm pumped—11:47." | | 3 | "Herrera cut through an alley between a shuttered noodle shop and a defunct laundromat, and Quinn nearly lost him in the dark—no streetlight reached this far, just the wet gleam of brick and a dumpster reeking of rot." | | 4 | "She heard Herrera's footsteps recede, unhurried now, as if he knew—somehow, impossibly—that she wouldn't follow him down." | | 5 | "She thought of the warehouse, and the thing she'd seen in the last five minutes before the lights went out—a shape that had not been human and had not, she was almost certain, been entirely animal either." | | 6 | "Every month brought another file that didn't fit, another body that shouldn't have died the way it did, another name—like Herrera's—that connected to nothing on paper and yet kept surfacing in her nightmares of a warehouse that didn't exist anymore, because she'd gone back once, sober and alone, and found it burned to its foundations with no record of the fire." | | 7 | "Somewhere below, she heard voices—not shouting, not panicked, but murmuring, the low hum of commerce, of a crowd going about its business." | | 8 | "Stalls lined the space where trains should have run, lit by lanterns that burned without visible flame, hung with goods she couldn't immediately name—jars of something that moved on its own, bundles of herbs that smelled of frost in a warm room, blades that caught the lantern light and threw it back in colors that didn't exist on any spectrum she knew." | | 9 | "A woman near the entrance—hooded, her face obscured—turned toward Quinn and said, without preamble, \"Token.\"" | | 10 | "The hooded woman studied her for a long moment, then stepped aside without another word, as if Quinn's answer—or her badge, or the desperation she couldn't quite keep out of her voice—had satisfied some unspoken condition." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1144 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 39 | | adverbRatio | 0.03409090909090909 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.01048951048951049 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 61 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 61 | | mean | 19.1 | | std | 14.34 | | cv | 0.751 | | sampleLengths | | 0 | 16 | | 1 | 16 | | 2 | 28 | | 3 | 9 | | 4 | 5 | | 5 | 5 | | 6 | 5 | | 7 | 9 | | 8 | 46 | | 9 | 8 | | 10 | 5 | | 11 | 17 | | 12 | 5 | | 13 | 24 | | 14 | 46 | | 15 | 20 | | 16 | 11 | | 17 | 17 | | 18 | 4 | | 19 | 11 | | 20 | 15 | | 21 | 26 | | 22 | 38 | | 23 | 21 | | 24 | 5 | | 25 | 7 | | 26 | 32 | | 27 | 16 | | 28 | 19 | | 29 | 16 | | 30 | 17 | | 31 | 5 | | 32 | 27 | | 33 | 36 | | 34 | 4 | | 35 | 37 | | 36 | 16 | | 37 | 16 | | 38 | 9 | | 39 | 61 | | 40 | 12 | | 41 | 26 | | 42 | 21 | | 43 | 22 | | 44 | 7 | | 45 | 31 | | 46 | 6 | | 47 | 62 | | 48 | 15 | | 49 | 2 |
| |
| 65.57% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.4918032786885246 | | totalSentences | 61 | | uniqueOpeners | 30 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 56 | | matches | | 0 | "Ever since his name turned" | | 1 | "Too late for witnesses." | | 2 | "Too late for backup that" | | 3 | "Then he did something strange." | | 4 | "Somewhere below, she heard voices—not" |
| | ratio | 0.089 | |
| 84.29% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 56 | | matches | | 0 | "she shouted, though she knew" | | 1 | "He didn't even look back." | | 2 | "She'd traced him to three" | | 3 | "She didn't believe in alchemy." | | 4 | "She believed in evidence, in" | | 5 | "Her leather watch, an old" | | 6 | "she called out, though she" | | 7 | "She caught the flash of" | | 8 | "He didn't run for the" | | 9 | "He dropped down a maintenance" | | 10 | "She heard Herrera's footsteps recede," | | 11 | "She had procedure for this." | | 12 | "She thought of Morris." | | 13 | "She thought of the warehouse," | | 14 | "She had told herself for" | | 15 | "She had built a whole" | | 16 | "It was the last thing" | | 17 | "She didn't know anything about" | | 18 | "She reached into her coat," |
| | ratio | 0.339 | |
| 93.93% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 41 | | totalSentences | 56 | | matches | | 0 | "Rain came down in sheets," | | 1 | "Detective Harlow Quinn's boots hit" | | 2 | "she shouted, though she knew" | | 3 | "Men like him never did." | | 4 | "He didn't even look back." | | 5 | "Quinn had been watching Tomás" | | 6 | "She'd traced him to three" | | 7 | "She didn't believe in alchemy." | | 8 | "She believed in evidence, in" | | 9 | "Herrera veered left down Inverness" | | 10 | "Quinn followed, breath burning in" | | 11 | "Her leather watch, an old" | | 12 | "she called out, though she" | | 13 | "Men who ran from her" | | 14 | "Herrera cut through an alley" | | 15 | "She caught the flash of" | | 16 | "He didn't run for the" | | 17 | "He dropped down a maintenance" | | 18 | "Quinn stopped at the top" | | 19 | "She heard Herrera's footsteps recede," |
| | ratio | 0.732 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 56 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 36 | | technicalSentenceCount | 13 | | matches | | 0 | "Detective Harlow Quinn's boots hit the pavement in a rhythm that matched her pulse—hard, fast, relentless." | | 1 | "Ever since his name turned up in a coroner's file that didn't add up—a body with wounds no blade in London could make, and a witness statement that mentioned a …" | | 2 | "She believed in evidence, in chains of custody, in the eighteen years of decorated service that had taught her patterns always led somewhere real." | | 3 | "He dropped down a maintenance stair beside a boarded storefront, the kind of stair that belonged to Transport for London, chained and disused for a decade if th…" | | 4 | "Below, the stairwell dropped into true dark, the kind that ate torchlight rather than reflected it." | | 5 | "She heard Herrera's footsteps recede, unhurried now, as if he knew—somehow, impossibly—that she wouldn't follow him down." | | 6 | "Procedure had never once mentioned the smell coming up from that darkness, something like woodsmoke and old copper and beneath it all a green, living scent that…" | | 7 | "She thought of the warehouse, and the thing she'd seen in the last five minutes before the lights went out—a shape that had not been human and had not, she was …" | | 8 | "Every month brought another file that didn't fit, another body that shouldn't have died the way it did, another name—like Herrera's—that connected to nothing on…" | | 9 | "The steps were old stone, worn smooth in the center by feet that had climbed them long before the Underground existed in any form she recognized." | | 10 | "Stalls lined the space where trains should have run, lit by lanterns that burned without visible flame, hung with goods she couldn't immediately name—jars of so…" | | 11 | "She didn't know anything about this place, this market that had no business existing beneath a city she'd sworn to protect for eighteen years, and every instinc…" | | 12 | "The hooded woman studied her for a long moment, then stepped aside without another word, as if Quinn's answer—or her badge, or the desperation she couldn't quit…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 2 | | fancyTags | | 0 | "she shouted (shout)" | | 1 | "she called out (call out)" |
| | dialogueSentences | 9 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0.667 | | effectiveRatio | 0.444 | |