| 18.18% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 11 | | adverbTagCount | 2 | | adverbTags | | 0 | "Patel said slowly [slowly]" | | 1 | "Quinn said carefully [carefully]" |
| | dialogueSentences | 21 | | tagDensity | 0.524 | | leniency | 1 | | rawRatio | 0.182 | | effectiveRatio | 0.182 | |
| 77.46% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1109 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "gently" | | 1 | "slowly" | | 2 | "carefully" |
| |
| 80.00% | AI-ism character names | Target: 0 AI-default names (17 tracked, −20% each) | | codexExemptions | (empty) | | found | | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 86.47% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1109 | | totalAiIsms | 3 | | found | | | highlights | | 0 | "profound" | | 1 | "whisper" | | 2 | "tension" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 41 | | matches | (empty) | |
| 73.17% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 0 | | narrationSentences | 41 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 50 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 83 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 15 | | totalWords | 1122 | | ratio | 0.013 | | matches | | 0 | "look twice before you think once, Quinn, the ground doesn't lie but it does whisper." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 90.97% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 28 | | wordCount | 847 | | uniqueNames | 11 | | maxNameDensity | 1.18 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Tube | 1 | | Camden | 1 | | Detective | 1 | | Harlow | 1 | | Quinn | 10 | | Constable | 1 | | Reyes | 2 | | Patel | 7 | | Morris | 2 | | Underground | 1 | | Deptford | 1 |
| | persons | | 0 | "Camden" | | 1 | "Harlow" | | 2 | "Quinn" | | 3 | "Constable" | | 4 | "Reyes" | | 5 | "Patel" | | 6 | "Morris" | | 7 | "Underground" |
| | places | | | globalScore | 0.91 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 34 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 5 | | per1kWords | 4.456 | | wordCount | 1122 | | matches | | 0 | "not fear, exactly, but something closer to profound confusion, as if he'd died aski" | | 1 | "not in the loose slackness of a heart attack victim but with tension, like he'd been gripping something" | | 2 | "not a bruise, not exactly, but a discoloration in the shape of concentric rings, like somet" | | 3 | "not exactly, but a discoloration in the shape of concentric rings, like somet" | | 4 | "Not the black smear of fire, but something paler, like the dust itself had been repelled rath" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 50 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 24 | | mean | 46.75 | | std | 32.1 | | cv | 0.687 | | sampleLengths | | 0 | 63 | | 1 | 20 | | 2 | 62 | | 3 | 64 | | 4 | 49 | | 5 | 25 | | 6 | 105 | | 7 | 42 | | 8 | 65 | | 9 | 5 | | 10 | 47 | | 11 | 4 | | 12 | 12 | | 13 | 77 | | 14 | 11 | | 15 | 66 | | 16 | 111 | | 17 | 8 | | 18 | 60 | | 19 | 6 | | 20 | 83 | | 21 | 86 | | 22 | 40 | | 23 | 11 |
| |
| 53.92% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 41 | | matches | | 0 | "been rigged" | | 1 | "were unmarked" | | 2 | "been scuffed" | | 3 | "were curled" | | 4 | "been pulled" | | 5 | "been pressed" | | 6 | "been repelled" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 133 | | matches | | 0 | "was crouching" | | 1 | "was watching" | | 2 | "was beginning" | | 3 | "was getting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 50 | | ratio | 0.12 | | matches | | 0 | "He lay on his back with his arms flung wide, and his face wore an expression Quinn had seen only twice before in her career — not fear, exactly, but something closer to profound confusion, as if he'd died asking a question nobody had bothered to answer." | | 1 | "She let her torch travel down the length of the body, slow and deliberate, the way her old training officer had taught her — *look twice before you think once, Quinn, the ground doesn't lie but it does whisper.*" | | 2 | "Beneath his cuff, just visible, was a mark — not a bruise, not exactly, but a discoloration in the shape of concentric rings, like something had been pressed there and left its signature in the skin itself." | | 3 | "There — faint, but there, if you knew to look for it — a scorch pattern in the dust, radiating outward from where the man had fallen." | | 4 | "He'd have crouched right where she was crouching now, and he'd have made some dry joke about the Underground finally living up to its name, and then he would have died two weeks later in a warehouse in Deptford with the same look on his face this man wore now — that terrible, unanswered question — and nobody, not the pathologist, not the coroner, not the eleven detectives who'd worked the case after her, had ever explained it to her satisfaction." | | 5 | "The verdigris-green tang of old copper hung faint in the air, threading beneath the rust and dust — a smell she was beginning, against every rational instinct she owned, to recognize." |
| |
| 84.08% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 842 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 49 | | adverbRatio | 0.05819477434679335 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.015439429928741092 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 50 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 50 | | mean | 22.44 | | std | 18.17 | | cv | 0.81 | | sampleLengths | | 0 | 26 | | 1 | 37 | | 2 | 10 | | 3 | 10 | | 4 | 13 | | 5 | 25 | | 6 | 24 | | 7 | 17 | | 8 | 47 | | 9 | 14 | | 10 | 24 | | 11 | 11 | | 12 | 21 | | 13 | 4 | | 14 | 51 | | 15 | 54 | | 16 | 3 | | 17 | 39 | | 18 | 7 | | 19 | 5 | | 20 | 34 | | 21 | 19 | | 22 | 5 | | 23 | 18 | | 24 | 29 | | 25 | 4 | | 26 | 12 | | 27 | 40 | | 28 | 37 | | 29 | 8 | | 30 | 3 | | 31 | 20 | | 32 | 27 | | 33 | 19 | | 34 | 5 | | 35 | 25 | | 36 | 81 | | 37 | 5 | | 38 | 3 | | 39 | 13 | | 40 | 47 | | 41 | 6 | | 42 | 83 | | 43 | 8 | | 44 | 26 | | 45 | 21 | | 46 | 31 | | 47 | 13 | | 48 | 27 | | 49 | 11 |
| |
| 100.00% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 0 | | diversityRatio | 0.66 | | totalSentences | 50 | | uniqueOpeners | 33 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 40 | | matches | | 0 | "Instead they gleamed, barely touched," | | 1 | "Somewhere above them, a train" |
| | ratio | 0.05 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 10 | | totalSentences | 40 | | matches | | 0 | "She ducked under the crime" | | 1 | "He lay on his back" | | 2 | "He was younger than her," | | 3 | "She let her torch travel" | | 4 | "He crouched again, following the" | | 5 | "She reached into her coat" | | 6 | "She thought of DS Morris." | | 7 | "He'd have crouched right where" | | 8 | "She stood, brushing nonexistent dust" | | 9 | "She did not yet have" |
| | ratio | 0.25 | |
| 72.50% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 31 | | totalSentences | 40 | | matches | | 0 | "The abandoned Tube station beneath" | | 1 | "She ducked under the crime" | | 2 | "Reyes called up from below" | | 3 | "Quinn descended anyway, her boots" | | 4 | "The platform opened up below" | | 5 | "Emergency lighting had been rigged," | | 6 | "A man, mid-thirties by the" | | 7 | "He lay on his back" | | 8 | "He was younger than her," | | 9 | "Quinn crouched where Patel had" | | 10 | "Patel gestured at the body" | | 11 | "Quinn said nothing." | | 12 | "She let her torch travel" | | 13 | "The man's shoes were unmarked" | | 14 | "That was the first wrongness." | | 15 | "He crouched again, following the" | | 16 | "The fingers were curled inward," | | 17 | "Patel offered, though his voice" | | 18 | "She reached into her coat" | | 19 | "Patel said slowly" |
| | ratio | 0.775 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 40 | | matches | | 0 | "If he'd wandered down here" |
| | ratio | 0.025 | |
| 23.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 24 | | technicalSentenceCount | 4 | | matches | | 0 | "The abandoned Tube station beneath Camden smelled of rust and something older, something that made the hair on Detective Harlow Quinn's arms rise without her pe…" | | 1 | "She ducked under the crime scene tape that Constable Reyes had strung across the top of the disused escalator, her torch beam cutting through dust motes that hu…" | | 2 | "He lay on his back with his arms flung wide, and his face wore an expression Quinn had seen only twice before in her career — not fear, exactly, but something c…" | | 3 | "He'd have crouched right where she was crouching now, and he'd have made some dry joke about the Underground finally living up to its name, and then he would ha…" |
| |
| 79.55% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 11 | | uselessAdditionCount | 1 | | matches | | 0 | "Patel offered, though his voice had lost some of its certainty" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 1 | | fancyTags | | 0 | "the man crouching (crouch)" |
| | dialogueSentences | 21 | | tagDensity | 0.19 | | leniency | 0.381 | | rawRatio | 0.25 | | effectiveRatio | 0.095 | |