| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 2 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 93.52% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1543 | | 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.11% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1543 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "pounding" | | 1 | "facade" | | 2 | "standard" | | 3 | "structure" | | 4 | "flickered" | | 5 | "footsteps" | | 6 | "echoed" | | 7 | "etched" | | 8 | "silence" | | 9 | "shimmered" | | 10 | "chill" |
| |
| 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 | 2 | | narrationSentences | 94 | | matches | | 0 | "t with fear" | | 1 | "t with pity" |
| |
| 97.26% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 1 | | narrationSentences | 94 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 95 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 52 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 3 | | markdownWords | 8 | | totalWords | 1539 | | ratio | 0.005 | | matches | | 0 | "Clack-clack-clack." | | 1 | "What the hell is down there?" | | 2 | "Morris," |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 2 | | unquotedAttributions | 0 | | matches | (empty) | |
| 94.52% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 70 | | wordCount | 1532 | | uniqueNames | 35 | | maxNameDensity | 1.11 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Camden | 2 | | Harlow | 2 | | Quinn | 17 | | Tomás | 1 | | Herrera | 10 | | London | 4 | | Met | 1 | | Astra | 1 | | Raven | 2 | | Nest | 2 | | Soho | 1 | | Northern | 1 | | Line | 1 | | Seville | 1 | | Victorian | 1 | | Tube | 2 | | Hendon | 1 | | Morris | 2 | | East | 1 | | End | 1 | | July | 1 | | Airwave | 1 | | High | 1 | | Street | 1 | | Saint | 1 | | Christopher | 1 | | Oyster | 1 | | North | 1 | | Albanian | 1 | | Finsbury | 1 | | Park | 1 | | Kentish | 1 | | Town | 1 | | Hampstead | 1 | | Detective | 2 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Tomás" | | 3 | "Herrera" | | 4 | "Nest" | | 5 | "Morris" | | 6 | "Saint" | | 7 | "Christopher" |
| | places | | 0 | "Camden" | | 1 | "London" | | 2 | "Raven" | | 3 | "Soho" | | 4 | "Northern" | | 5 | "Seville" | | 6 | "Hendon" | | 7 | "East" | | 8 | "End" | | 9 | "High" | | 10 | "Street" | | 11 | "North" | | 12 | "Finsbury" | | 13 | "Park" | | 14 | "Kentish" | | 15 | "Town" | | 16 | "Hampstead" |
| | globalScore | 0.945 | | windowScore | 1 | |
| 23.42% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 79 | | glossingSentenceCount | 4 | | matches | | 0 | "sounded like tearing metal, and then Quinn" | | 1 | "looked like a carved disk of yellowed ivo" | | 2 | "looked like they were carved out of grani" | | 3 | "looked like nothing more than a collapsed" |
| |
| 70.05% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.3 | | wordCount | 1539 | | matches | | 0 | "neither standard issue nor" | | 1 | "not with fear of the law, but with pity, as if she were a child bringing a wooden sword to" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 95 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 34 | | mean | 45.26 | | std | 26.26 | | cv | 0.58 | | sampleLengths | | 0 | 82 | | 1 | 89 | | 2 | 33 | | 3 | 76 | | 4 | 69 | | 5 | 29 | | 6 | 78 | | 7 | 11 | | 8 | 18 | | 9 | 31 | | 10 | 55 | | 11 | 81 | | 12 | 30 | | 13 | 11 | | 14 | 38 | | 15 | 61 | | 16 | 9 | | 17 | 21 | | 18 | 74 | | 19 | 82 | | 20 | 8 | | 21 | 33 | | 22 | 54 | | 23 | 45 | | 24 | 22 | | 25 | 6 | | 26 | 54 | | 27 | 102 | | 28 | 17 | | 29 | 45 | | 30 | 36 | | 31 | 44 | | 32 | 45 | | 33 | 50 |
| |
| 94.06% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 94 | | matches | | 0 | "were splintered" | | 1 | "was blocked" | | 2 | "were carved" |
| |
| 84.06% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 230 | | matches | | 0 | "was meeting" | | 1 | "was happening" | | 2 | "was running" | | 3 | "was rising" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 2 | | flaggedSentences | 5 | | totalSentences | 95 | | ratio | 0.053 | | matches | | 0 | "If Herrera was meeting the rest of the clique—the same tight-lipped crew that kept turning up at the edges of her most baffling, gruesome crime scenes—it was happening before midnight." | | 1 | "He wasn't a hardened killer; his file read like a tragedy of good intentions." | | 2 | "Even from thirty feet up, something about the guard’s proportions made Quinn’s brown eyes narrow; his shoulders were too wide, his neck entirely absent, his skin the gray, pebbled texture of river stone." | | 3 | "As the turnstile clicked shut, the sound from beyond the archway seemed to swell—a low, thrumming murmur of hundreds of voices, the clinking of glass, the hiss of steam, all previously muffled by some invisible acoustic barrier that had briefly parted when the gate opened." | | 4 | "The way the witnesses from The Raven's Nest always looked at her—not with fear of the law, but with pity, as if she were a child bringing a wooden sword to a war." |
| |
| 82.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1550 | | adjectiveStacks | 3 | | stackExamples | | 0 | "same tight-lipped crew" | | 1 | "cold, soot-stained tile." | | 2 | "bare, gray-skinned fingers," |
| | adverbCount | 42 | | adverbRatio | 0.027096774193548386 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.00967741935483871 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 95 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 95 | | mean | 16.2 | | std | 10.69 | | cv | 0.66 | | sampleLengths | | 0 | 29 | | 1 | 19 | | 2 | 9 | | 3 | 25 | | 4 | 4 | | 5 | 36 | | 6 | 9 | | 7 | 5 | | 8 | 35 | | 9 | 10 | | 10 | 23 | | 11 | 7 | | 12 | 25 | | 13 | 13 | | 14 | 1 | | 15 | 30 | | 16 | 3 | | 17 | 25 | | 18 | 14 | | 19 | 27 | | 20 | 29 | | 21 | 21 | | 22 | 6 | | 23 | 23 | | 24 | 28 | | 25 | 4 | | 26 | 7 | | 27 | 12 | | 28 | 6 | | 29 | 3 | | 30 | 28 | | 31 | 8 | | 32 | 7 | | 33 | 21 | | 34 | 19 | | 35 | 10 | | 36 | 52 | | 37 | 7 | | 38 | 12 | | 39 | 7 | | 40 | 23 | | 41 | 11 | | 42 | 5 | | 43 | 33 | | 44 | 7 | | 45 | 16 | | 46 | 18 | | 47 | 20 | | 48 | 8 | | 49 | 1 |
| |
| 52.33% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.3655913978494624 | | totalSentences | 93 | | uniqueOpeners | 34 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 90 | | matches | (empty) | | ratio | 0 | |
| 91.11% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 29 | | totalSentences | 90 | | matches | | 0 | "She didn't waste energy shouting" | | 1 | "He’d spotted her unmarked Astra" | | 2 | "He was twenty-nine, agile, his" | | 3 | "She planted one hand on" | | 4 | "Her left cuff pulled back," | | 5 | "He wasn't a hardened killer;" | | 6 | "He ducked into a narrow" | | 7 | "Her boots splashed through ankle-deep" | | 8 | "He sprinted straight toward the" | | 9 | "He didn't stop." | | 10 | "He reached the plywood hoarding," | | 11 | "She paused for half a" | | 12 | "It was how DS Morris" | | 13 | "She didn't reach for her" | | 14 | "She stood in the old" | | 15 | "She peered down." | | 16 | "He adjusted the medical duffel" | | 17 | "He fumbled at his throat," | | 18 | "He pressed it into the" | | 19 | "It wasn't cash, and it" |
| | ratio | 0.322 | |
| 98.89% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 65 | | totalSentences | 90 | | matches | | 0 | "The rain in Camden didn't" | | 1 | "Detective Harlow Quinn kept her" | | 2 | "Water sluiced down the sharp" | | 3 | "Quinn lengthened her stride." | | 4 | "She didn't waste energy shouting" | | 5 | "Herrera knew she was there." | | 6 | "He’d spotted her unmarked Astra" | | 7 | "Herrera vaulted a chain-link barrier" | | 8 | "He was twenty-nine, agile, his" | | 9 | "Quinn hit the barrier three" | | 10 | "She planted one hand on" | | 11 | "Her left cuff pulled back," | | 12 | "Herrera glanced back." | | 13 | "He wasn't a hardened killer;" | | 14 | "He ducked into a narrow" | | 15 | "Quinn drew her extendable baton" | | 16 | "Her boots splashed through ankle-deep" | | 17 | "The tunnel opened onto a" | | 18 | "Herrera didn't slow down." | | 19 | "He sprinted straight toward the" |
| | ratio | 0.722 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 90 | | matches | | 0 | "If Herrera was meeting the" | | 1 | "If she called backup, whatever" | | 2 | "Even from thirty feet up," |
| | ratio | 0.033 | |
| 84.31% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 61 | | technicalSentenceCount | 5 | | matches | | 0 | "If Herrera was meeting the rest of the clique—the same tight-lipped crew that kept turning up at the edges of her most baffling, gruesome crime scenes—it was ha…" | | 1 | "He ducked into a narrow pedestrian tunnel that smelled of stale lager and damp brick, angling away from the main high street toward the dead zones of the boroug…" | | 2 | "Not the expected stench of rat droppings, wet concrete, and stagnant water that haunted London’s disused underground, but something thick and heavy: ozone, char…" | | 3 | "At the base of the stairs, the tunnel was blocked by a heavy iron turnstile that looked neither standard issue nor entirely modern." | | 4 | "As the turnstile clicked shut, the sound from beyond the archway seemed to swell—a low, thrumming murmur of hundreds of voices, the clinking of glass, the hiss …" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 1 | | matches | | 0 | "Quinn barked, her voice cutting through the roar of the downpour" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 2 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 1 | | effectiveRatio | 1 | |