| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 2 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said quietly [quietly]" |
| | dialogueSentences | 6 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0.5 | | effectiveRatio | 0.333 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1195 | | 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) | |
| 83.26% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1195 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "pulse" | | 1 | "pulsed" | | 2 | "could feel" | | 3 | "scanned" |
| |
| 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 | 76 | | matches | | |
| 86.47% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 0 | | narrationSentences | 76 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 79 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 62 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 2 | | totalWords | 1207 | | ratio | 0.002 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 5 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 26 | | wordCount | 1168 | | uniqueNames | 12 | | maxNameDensity | 0.68 | | worstName | "Quinn" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Quinn" | | discoveredNames | | Camden | 1 | | Detective | 1 | | Harlow | 1 | | Quinn | 8 | | Herrera | 5 | | Morris | 3 | | Victorian | 1 | | Underground | 1 | | Tube | 1 | | Whitechapel | 1 | | Tomás | 2 | | Market | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Herrera" | | 3 | "Morris" | | 4 | "Tomás" | | 5 | "Market" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 54 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.829 | | wordCount | 1207 | | matches | | 0 | "not with fear of capture but with something more particular" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 79 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 26 | | mean | 46.42 | | std | 36.82 | | cv | 0.793 | | sampleLengths | | 0 | 79 | | 1 | 67 | | 2 | 11 | | 3 | 6 | | 4 | 66 | | 5 | 80 | | 6 | 4 | | 7 | 71 | | 8 | 42 | | 9 | 77 | | 10 | 5 | | 11 | 76 | | 12 | 45 | | 13 | 5 | | 14 | 134 | | 15 | 21 | | 16 | 12 | | 17 | 135 | | 18 | 55 | | 19 | 39 | | 20 | 10 | | 21 | 61 | | 22 | 11 | | 23 | 53 | | 24 | 28 | | 25 | 14 |
| |
| 68.33% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 8 | | totalSentences | 76 | | matches | | 0 | "been left" | | 1 | "was gone" | | 2 | "been swung" | | 3 | "were tiled" | | 4 | "been ten" | | 5 | "been swallowed" | | 6 | "been pushed" | | 7 | "been raised" | | 8 | "was gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 199 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 5 | | flaggedSentences | 11 | | totalSentences | 79 | | ratio | 0.139 | | matches | | 0 | "Eighteen years on the force had taught her how to read a runner's body before he committed to the bolt — the tightening of the shoulders, the half-glance back — and she'd read this one the instant he stepped out of the chemist's doorway and clocked her across the road." | | 1 | "Her boots found purchase where his slipped; military precision, even in a foot chase, even at forty-one with her lungs starting to burn." | | 2 | "She'd buried that softness years ago, the same week she'd buried Morris — what little of him there'd been left to bury — and what remained was lean and relentless and patient." | | 3 | "Except there — low against the base of the wall, where the brick should have been solid — a seam of light." | | 4 | "She knew her city's bones; there had been a Tube stop here once, closed before she was born, sealed and forgotten." | | 5 | "Not the rumble of trains — those tracks had been dead for decades — but voices, the murmur of a crowd, and under it a music that didn't sit right in her ears, all wrong intervals and a rhythm her pulse kept trying to match and failing." | | 6 | "She'd spent three years following threads that all frayed into the same impossible knot — people who weren't on any register, places that weren't on any map, a man like Herrera who could erase himself from a sealed alley." | | 7 | "The tiled walls gave way to a platform that had no right to look the way it did — the rotted wooden benches had been pushed back, the platform edge strung with lanterns that burned without flame, and where the tracks should have lain in their trench, stalls had been raised." | | 8 | "Figures moved between them, hooded and unhooded, and Quinn's trained eye snagged on detail after detail her mind refused to file: a woman selling vials that shifted color as she breathed on them; a man with a tray of small white tokens carved from bone; jars on a shelf that turned to follow her as she passed, the things inside them blinking." | | 9 | "A few hands drifted toward hidden weapons; a few mouths shaped words she didn't want translated." | | 10 | "She scanned the moving crowd over the man's shoulder, and there — at the far end of the platform, near a stall draped in black, glancing back at her with that same calculation — was Tomás Herrera." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1161 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 31 | | adverbRatio | 0.026701119724375538 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.0068906115417743325 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 79 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 79 | | mean | 15.28 | | std | 13.03 | | cv | 0.853 | | sampleLengths | | 0 | 29 | | 1 | 50 | | 2 | 2 | | 3 | 11 | | 4 | 30 | | 5 | 24 | | 6 | 9 | | 7 | 2 | | 8 | 3 | | 9 | 3 | | 10 | 11 | | 11 | 23 | | 12 | 32 | | 13 | 25 | | 14 | 9 | | 15 | 41 | | 16 | 1 | | 17 | 4 | | 18 | 4 | | 19 | 17 | | 20 | 2 | | 21 | 5 | | 22 | 2 | | 23 | 19 | | 24 | 26 | | 25 | 22 | | 26 | 6 | | 27 | 14 | | 28 | 2 | | 29 | 18 | | 30 | 22 | | 31 | 14 | | 32 | 21 | | 33 | 5 | | 34 | 4 | | 35 | 47 | | 36 | 3 | | 37 | 22 | | 38 | 13 | | 39 | 16 | | 40 | 3 | | 41 | 13 | | 42 | 5 | | 43 | 35 | | 44 | 2 | | 45 | 2 | | 46 | 6 | | 47 | 14 | | 48 | 6 | | 49 | 39 |
| |
| 56.12% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.4050632911392405 | | totalSentences | 79 | | uniqueOpeners | 32 | |
| 98.04% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 68 | | matches | | 0 | "Then he was gone." | | 1 | "Then he slipped behind the" |
| | ratio | 0.029 | |
| 78.82% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 24 | | totalSentences | 68 | | matches | | 0 | "She had his face memorized" | | 1 | "He ran now like a" | | 2 | "Her voice cut through the" | | 3 | "He didn't stop." | | 4 | "They never did." | | 5 | "She pumped her arms and" | | 6 | "Her boots found purchase where" | | 7 | "She'd buried that softness years" | | 8 | "He was deciding something." | | 9 | "She skidded to a halt" | | 10 | "Her fingers found an iron" | | 11 | "She knew her city's bones;" | | 12 | "It was not forgotten anymore." | | 13 | "She'd spent three years following" | | 14 | "They were something else, and" | | 15 | "She could feel it the" | | 16 | "She kept her weapon low" | | 17 | "They knew she didn't belong." | | 18 | "She wore it like a" | | 19 | "he said, and his voice" |
| | ratio | 0.353 | |
| 85.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 51 | | totalSentences | 68 | | matches | | 0 | "Rain came down in sheets" | | 1 | "She had his face memorized" | | 2 | "The former paramedic, the one" | | 3 | "He ran now like a" | | 4 | "Her voice cut through the" | | 5 | "He didn't stop." | | 6 | "They never did." | | 7 | "She pumped her arms and" | | 8 | "Her boots found purchase where" | | 9 | "She'd buried that softness years" | | 10 | "Herrera cut left down an" | | 11 | "Quinn followed, vaulting a toppled" | | 12 | "Halfway down he risked the" | | 13 | "He was deciding something." | | 14 | "She skidded to a halt" | | 15 | "The rain drummed on the" | | 16 | "Quinn turned a slow circle," | | 17 | "Something colder, bluish, leaking up" | | 18 | "Her fingers found an iron" | | 19 | "The walls of it were" |
| | ratio | 0.75 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 68 | | matches | (empty) | | ratio | 0 | |
| 29.22% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 44 | | technicalSentenceCount | 7 | | matches | | 0 | "Rain came down in sheets across Camden, turning the streetlights into smeared halos and the pavement into a black mirror that swallowed Detective Harlow Quinn's…" | | 1 | "The former paramedic, the one who patched up people who never appeared in any hospital record, who vanished from every camera the moment he crossed certain thre…" | | 2 | "He ran now like a man who knew the streets better than she did, splashing through puddles, his jacket plastered dark to his back." | | 3 | "Her fingers found an iron grating, the kind that should have covered nothing but a forgotten Victorian drain." | | 4 | "Not the rumble of trains — those tracks had been dead for decades — but voices, the murmur of a crowd, and under it a music that didn't sit right in her ears, a…" | | 5 | "She'd spent three years following threads that all frayed into the same impossible knot — people who weren't on any register, places that weren't on any map, a …" | | 6 | "Figures moved between them, hooded and unhooded, and Quinn's trained eye snagged on detail after detail her mind refused to file: a woman selling vials that shi…" |
| |
| 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 | | totalTags | 2 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 6 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0 | | effectiveRatio | 0 | |