| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 2 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 7 | | tagDensity | 0.286 | | leniency | 0.571 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1713 | | 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) | |
| 79.57% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1713 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "could feel" | | 1 | "flickered" | | 2 | "footsteps" | | 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 | 125 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 125 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 130 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 56 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1731 | | ratio | 0 | | matches | (empty) | |
| 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 | 49 | | wordCount | 1666 | | uniqueNames | 24 | | maxNameDensity | 0.84 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Harlow | 3 | | Quinn | 14 | | Friday-night | 1 | | Old | 1 | | Compton | 1 | | Street | 1 | | Raven | 2 | | Nest | 2 | | Soho | 1 | | House | 1 | | Petty | 3 | | Charing | 1 | | Cross | 1 | | Road | 2 | | Tube | 3 | | Tottenham | 1 | | Court | 1 | | Northern | 1 | | Morris | 2 | | Blackfriars | 1 | | London | 1 | | Camden | 1 | | Detective | 1 | | Splash | 3 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Raven" | | 3 | "Morris" | | 4 | "Camden" |
| | places | | 0 | "Old" | | 1 | "Compton" | | 2 | "Street" | | 3 | "Soho" | | 4 | "House" | | 5 | "Charing" | | 6 | "Cross" | | 7 | "Road" | | 8 | "Tottenham" | | 9 | "Court" | | 10 | "Northern" | | 11 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 84 | | glossingSentenceCount | 1 | | matches | | 0 | "looked like they were exactly where they" |
| |
| 84.46% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.155 | | wordCount | 1731 | | matches | | 0 | "not fear, not pain, but astonishment, as though he'd been told something enormous" | | 1 | "not pain, but astonishment, as though he'd been told something enormous" |
| |
| 89.74% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 3 | | totalSentences | 130 | | matches | | 0 | "have that problem" | | 1 | "look that way" | | 2 | "stooped that she" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 40 | | mean | 43.28 | | std | 31.82 | | cv | 0.735 | | sampleLengths | | 0 | 14 | | 1 | 86 | | 2 | 66 | | 3 | 133 | | 4 | 88 | | 5 | 55 | | 6 | 27 | | 7 | 26 | | 8 | 85 | | 9 | 10 | | 10 | 5 | | 11 | 12 | | 12 | 24 | | 13 | 37 | | 14 | 26 | | 15 | 22 | | 16 | 3 | | 17 | 75 | | 18 | 48 | | 19 | 44 | | 20 | 8 | | 21 | 52 | | 22 | 123 | | 23 | 57 | | 24 | 20 | | 25 | 69 | | 26 | 7 | | 27 | 29 | | 28 | 27 | | 29 | 58 | | 30 | 3 | | 31 | 53 | | 32 | 86 | | 33 | 79 | | 34 | 30 | | 35 | 45 | | 36 | 22 | | 37 | 26 | | 38 | 27 | | 39 | 24 |
| |
| 80.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 9 | | totalSentences | 125 | | matches | | 0 | "was gone" | | 1 | "been taken" | | 2 | "been closed" | | 3 | "been told" | | 4 | "were gone" | | 5 | "been hollowed" | | 6 | "been hung" | | 7 | "were arranged" | | 8 | "were supposed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 263 | | matches | | 0 | "was heading" | | 1 | "was saving" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 17 | | semicolonCount | 0 | | flaggedSentences | 14 | | totalSentences | 130 | | ratio | 0.108 | | matches | | 0 | "Quinn registered the sign without registering it — the Raven's Nest, the letters flickering verdigris in the wet — and then the suspect was past it, coat flaring, and she was past it too, badge already up and barking at the bodies that stumbled into her path." | | 1 | "Eighteen years on the job and forty-one years of age had filed something essential off her wind, and she could feel it now the way you feel a loose tooth — as a deficiency, an absence of what used to be there." | | 2 | "The collector — a small-time fence named Petty with a talent for screaming — had been face-down on the wet pavement with something dark spreading from him." | | 3 | "He was heading for the Tube — she could see it in the shape of his run now, that gathering, that final reserve he was saving." | | 4 | "Quinn shouted — \"Stop! Police!\" — but the words fell flat in the underground, swallowed by announcements and the rolling thunder of a train." | | 5 | "She got her first real look at him — thin, hollow-cheeked, a scar like a question mark on his chin, eyes that had no fear in them at all." | | 6 | "Somewhere in it, a light flickered — not a train." | | 7 | "Then a voice, thin and far away, telling her to confirm her location because her signal was — the rest of it dissolved into noise." | | 8 | "She forced herself to think about the third rail — where it sat, what it carried." | | 9 | "Stone, old — far older than the Tube, older than anything she'd expected." | | 10 | "The night she'd found him in the alley behind Blackfriars with a look on his face she'd never been able to describe to the departmental psychologist — not fear, not pain, but astonishment, as though he'd been told something enormous and true in the second before he went." | | 11 | "And in the last three months the watching had started paying out in whispers — the Raven's Nest and its back room, Petty and his collectors, tokens and debts and people who came in one side of London's night looking like people and did not entirely look that way coming out." | | 12 | "It was also something else — she could feel it the way you can feel someone watching you — and whatever it was, it fit a hole in the world at the bottom of these stairs." | | 13 | "Torches burned along the walls — actual torches, and something that moved in them like a color fire didn't have." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1659 | | adjectiveStacks | 1 | | stackExamples | | 0 | "suspect turned north, gunning" |
| | adverbCount | 47 | | adverbRatio | 0.028330319469559977 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.0030138637733574444 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 130 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 130 | | mean | 13.32 | | std | 11.89 | | cv | 0.893 | | sampleLengths | | 0 | 14 | | 1 | 36 | | 2 | 47 | | 3 | 3 | | 4 | 3 | | 5 | 42 | | 6 | 6 | | 7 | 15 | | 8 | 17 | | 9 | 27 | | 10 | 30 | | 11 | 14 | | 12 | 3 | | 13 | 20 | | 14 | 5 | | 15 | 17 | | 16 | 12 | | 17 | 6 | | 18 | 10 | | 19 | 26 | | 20 | 19 | | 21 | 15 | | 22 | 12 | | 23 | 9 | | 24 | 10 | | 25 | 24 | | 26 | 6 | | 27 | 3 | | 28 | 16 | | 29 | 2 | | 30 | 19 | | 31 | 7 | | 32 | 12 | | 33 | 26 | | 34 | 5 | | 35 | 29 | | 36 | 13 | | 37 | 10 | | 38 | 5 | | 39 | 12 | | 40 | 7 | | 41 | 3 | | 42 | 10 | | 43 | 2 | | 44 | 2 | | 45 | 4 | | 46 | 33 | | 47 | 1 | | 48 | 25 | | 49 | 5 |
| |
| 48.21% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 19 | | diversityRatio | 0.3769230769230769 | | totalSentences | 130 | | uniqueOpeners | 49 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 8 | | totalSentences | 117 | | matches | | 0 | "Then he stepped down off" | | 1 | "Somewhere in it, a light" | | 2 | "Then a voice, thin and" | | 3 | "Somewhere below, there was sound." | | 4 | "Then she took the bag" | | 5 | "Somewhere above, a train screamed" | | 6 | "Then the ceiling lifted away" | | 7 | "Then Detective Harlow Quinn went" |
| | ratio | 0.068 | |
| 76.41% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 42 | | totalSentences | 117 | | matches | | 0 | "Her lungs burned." | | 1 | "She'd first clocked him four" | | 2 | "She'd found what had been" | | 3 | "She'd bagged it on instinct." | | 4 | "He was heading for the" | | 5 | "He clipped a woman with" | | 6 | "He didn't stop at the" | | 7 | "He vaulted them." | | 8 | "She took the escalator steps" | | 9 | "He looked back at her." | | 10 | "She got her first real" | | 11 | "He glanced at her again," | | 12 | "She keyed her radio." | | 13 | "She looked at the tunnel." | | 14 | "She looked at the other" | | 15 | "She stepped down." | | 16 | "She forced herself to think" | | 17 | "She counted seconds and lost" | | 18 | "She passed a junction box," | | 19 | "She turned after them and" |
| | ratio | 0.359 | |
| 71.11% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 91 | | totalSentences | 117 | | matches | | 0 | "Rain came off the awnings" | | 1 | "The suspect was thirty meters" | | 2 | "Quinn registered the sign without" | | 3 | "Her lungs burned." | | 4 | "The suspect didn't have that" | | 5 | "The suspect ran like a" | | 6 | "She'd first clocked him four" | | 7 | "The collector — a small-time" | | 8 | "She'd found what had been" | | 9 | "A bone token." | | 10 | "She'd bagged it on instinct." | | 11 | "The suspect turned north, gunning" | | 12 | "A taxi stood on its" | | 13 | "Quinn slapped the bonnet as" | | 14 | "He was heading for the" | | 15 | "Quinn followed, her soaked shoes" | | 16 | "Commuters parted around him like" | | 17 | "He clipped a woman with" | | 18 | "Quinn shouted — but the" | | 19 | "He didn't stop at the" |
| | ratio | 0.778 | |
| 85.47% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 117 | | matches | | 0 | "By the time Quinn reached" | | 1 | "Now it sat in her" |
| | ratio | 0.017 | |
| 18.14% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 63 | | technicalSentenceCount | 11 | | matches | | 0 | "Quinn registered the sign without registering it — the Raven's Nest, the letters flickering verdigris in the wet — and then the suspect was past it, coat flarin…" | | 1 | "She got her first real look at him — thin, hollow-cheeked, a scar like a question mark on his chin, eyes that had no fear in them at all." | | 2 | "She passed a junction box, a maintenance alcove, a stenciled arrow and numbers that meant nothing to her." | | 3 | "It smelled of rain down here somehow, and underneath the rain, something medicinal, herbal, like a pharmacy that had been closed for a century." | | 4 | "Quinn stood at the top of it with her hand flat against the wet stone wall and understood, with the animal part of her brain that had kept her alive through thi…" | | 5 | "The night she'd found him in the alley behind Blackfriars with a look on his face she'd never been able to describe to the departmental psychologist — not fear,…" | | 6 | "And in the last three months the watching had started paying out in whispers — the Raven's Nest and its back room, Petty and his collectors, tokens and debts an…" | | 7 | "She came out under an arch of soot-blackened brick and stopped, because the abandoned Tube station that had been Camden's forgotten branch platform had been hol…" | | 8 | "Stalls ran down the length of the platform where the track had been, and above the track, on the opposite platform, more stalls, and above those, where the tile…" | | 9 | "The crowd was the thing that made her grip tighten on her weapon." | | 10 | "Then Detective Harlow Quinn went further in, and the dark closed over the stairs behind her like a thing that had finished being patient." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 2 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 2 | | fancyTags | | 0 | "Quinn shouted — (shout)" | | 1 | "the arch straightened up (straighten up)" |
| | dialogueSentences | 7 | | tagDensity | 0.286 | | leniency | 0.571 | | rawRatio | 1 | | effectiveRatio | 0.571 | |