| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 7 | | tagDensity | 0.429 | | leniency | 0.857 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 91.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1111 | | 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) | |
| 82.00% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1111 | | totalAiIsms | 4 | | found | | 0 | | | 1 | | | 2 | | | 3 | | word | "down her spine" | | count | 1 |
|
| | highlights | | 0 | "glinting" | | 1 | "mechanical" | | 2 | "structure" | | 3 | "down her spine" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 88 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 88 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 92 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 44 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1097 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 3 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 36 | | wordCount | 1084 | | uniqueNames | 14 | | maxNameDensity | 1.11 | | worstName | "Quinn" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Quinn" | | discoveredNames | | Camden | 1 | | High | 1 | | Street | 1 | | Harlow | 1 | | Quinn | 12 | | Tomás | 2 | | Herrera | 8 | | Raven | 1 | | Nest | 1 | | Saint | 1 | | Christopher | 1 | | Morris | 3 | | Tube | 2 | | Deptford | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Tomás" | | 3 | "Herrera" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "Morris" |
| | places | | 0 | "Camden" | | 1 | "High" | | 2 | "Street" | | 3 | "Raven" | | 4 | "Deptford" |
| | globalScore | 0.946 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 58 | | glossingSentenceCount | 1 | | matches | | 0 | "something like rosemary burnt in a pan" |
| |
| 17.68% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.823 | | wordCount | 1097 | | matches | | 0 | "not brick, but the painted canvas of a construction hoarding" | | 1 | "not fear, Quinn thought, but something closer to warning" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 92 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 31 | | mean | 35.39 | | std | 24.5 | | cv | 0.692 | | sampleLengths | | 0 | 75 | | 1 | 2 | | 2 | 52 | | 3 | 46 | | 4 | 1 | | 5 | 85 | | 6 | 46 | | 7 | 2 | | 8 | 31 | | 9 | 46 | | 10 | 47 | | 11 | 34 | | 12 | 41 | | 13 | 91 | | 14 | 22 | | 15 | 2 | | 16 | 49 | | 17 | 42 | | 18 | 63 | | 19 | 24 | | 20 | 54 | | 21 | 47 | | 22 | 33 | | 23 | 4 | | 24 | 58 | | 25 | 7 | | 26 | 37 | | 27 | 14 | | 28 | 11 | | 29 | 26 | | 30 | 5 |
| |
| 93.30% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 88 | | matches | | 0 | "was gone" | | 1 | "been gone" | | 2 | "were gone" |
| |
| 6.20% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 172 | | matches | | 0 | "was going" | | 1 | "was trying" | | 2 | "was weighing" | | 3 | "was arguing" | | 4 | "was disappearing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 92 | | ratio | 0.12 | | matches | | 0 | "Her watch caught the edge of a streetlamp as she ran—the worn leather strap she'd bought in her first year on the job." | | 1 | "She'd tailed him on foot because she'd known—known the way she'd known things for three years now, since Morris—that putting a vehicle on him would spook whatever net she was trying to catch." | | 2 | "For half a second she saw his face under the sodium light—warm brown eyes, the scar on his forearm exposed where he'd pushed his sleeve up to run—and then he was gone, swallowed by the shadow of a bricked-up railway arch." | | 3 | "Instead her shoulder glanced off something that gave—not brick, but the painted canvas of a construction hoarding." | | 4 | "Below her, somewhere down those steps, she could hear Herrera's footfalls slapping away, and something else—a low thrum, not mechanical, not music, closer to the sound a crowded room makes through a thick wall." | | 5 | "Not the ordinary static of a weak signal, either—this was a sound like whispering, like a voice played backwards very quietly under the hiss." | | 6 | "Her torch beam bounced ahead of her—dust, peeling posters from the nineties, a rat that didn't bother running." | | 7 | "In their place, torchlight—actual torches, pitch and flame—and stalls." | | 8 | "He was arguing with a woman at the gate—a figure in a long coat who held out her palm." | | 9 | "Herrera reached into his collar, pulled something off over his head—not the medallion, something else, something small and pale and bone-coloured—and pressed it into the woman's hand." | | 10 | "His eyes widened—not fear, Quinn thought, but something closer to warning." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1103 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 42 | | adverbRatio | 0.038077969174977334 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.005439709882139619 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 92 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 92 | | mean | 11.92 | | std | 9.46 | | cv | 0.793 | | sampleLengths | | 0 | 29 | | 1 | 22 | | 2 | 24 | | 3 | 2 | | 4 | 4 | | 5 | 22 | | 6 | 8 | | 7 | 18 | | 8 | 23 | | 9 | 2 | | 10 | 11 | | 11 | 10 | | 12 | 1 | | 13 | 9 | | 14 | 3 | | 15 | 11 | | 16 | 29 | | 17 | 33 | | 18 | 5 | | 19 | 41 | | 20 | 2 | | 21 | 11 | | 22 | 17 | | 23 | 3 | | 24 | 12 | | 25 | 19 | | 26 | 2 | | 27 | 13 | | 28 | 4 | | 29 | 9 | | 30 | 34 | | 31 | 10 | | 32 | 3 | | 33 | 3 | | 34 | 18 | | 35 | 6 | | 36 | 1 | | 37 | 24 | | 38 | 10 | | 39 | 1 | | 40 | 10 | | 41 | 5 | | 42 | 6 | | 43 | 40 | | 44 | 2 | | 45 | 27 | | 46 | 22 | | 47 | 2 | | 48 | 16 | | 49 | 18 |
| |
| 68.12% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.4673913043478261 | | totalSentences | 92 | | uniqueOpeners | 43 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 83 | | matches | | 0 | "Instead her shoulder glanced off" | | 1 | "Somewhere a bell rang three" | | 2 | "Just a moment." | | 3 | "Then he was through." | | 4 | "Somewhere behind the shimmer, Tomás" |
| | ratio | 0.06 | |
| 75.42% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 30 | | totalSentences | 83 | | matches | | 0 | "He didn't look back." | | 1 | "He ducked between two parked" | | 2 | "She'd left her backup three" | | 3 | "Her watch caught the edge" | | 4 | "She'd chased a lot of" | | 5 | "He cut left into a" | | 6 | "Her breath came out in" | | 7 | "She'd clocked him outside The" | | 8 | "She'd tailed him on foot" | | 9 | "She hit the arch at" | | 10 | "She shoved through." | | 11 | "She'd walked past this arch" | | 12 | "She reached for her radio" | | 13 | "She killed it and clipped" | | 14 | "She'd waited for backup then." | | 15 | "She'd done it by the" | | 16 | "She'd stood at the door" | | 17 | "She thought about that now," | | 18 | "She took the steps two" | | 19 | "Her torch beam bounced ahead" |
| | ratio | 0.361 | |
| 98.55% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 60 | | totalSentences | 83 | | matches | | 0 | "Rain came down in sheets" | | 1 | "Detective Harlow Quinn vaulted a" | | 2 | "He didn't look back." | | 3 | "He ducked between two parked" | | 4 | "Quinn's radio crackled uselessly under" | | 5 | "She'd left her backup three" | | 6 | "Her watch caught the edge" | | 7 | "She'd chased a lot of" | | 8 | "None of them had ever" | | 9 | "He cut left into a" | | 10 | "Quinn's lungs burned." | | 11 | "Her breath came out in" | | 12 | "She'd clocked him outside The" | | 13 | "She'd tailed him on foot" | | 14 | "Herrera glanced over his shoulder." | | 15 | "She hit the arch at" | | 16 | "She shoved through." | | 17 | "She'd walked past this arch" | | 18 | "Quinn drew up short." | | 19 | "Water ran off her hair" |
| | ratio | 0.723 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 83 | | matches | (empty) | | ratio | 0 | |
| 51.67% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 47 | | technicalSentenceCount | 6 | | matches | | 0 | "Detective Harlow Quinn vaulted a low iron railing, her boots hitting puddled pavement hard enough to send water up to her knees." | | 1 | "Instead her shoulder glanced off something that gave—not brick, but the painted canvas of a construction hoarding." | | 2 | "Her torch beam bounced ahead of her—dust, peeling posters from the nineties, a rat that didn't bother running." | | 3 | "Glass jars held things that moved when nothing touched them." | | 4 | "The woman's face, under the hood, was patient in the particular way of something that had been patient for a long time." | | 5 | "Somewhere behind the shimmer, Tomás Herrera was disappearing into a market that, according to every file Quinn had ever read, did not exist." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 7 | | tagDensity | 0.143 | | leniency | 0.286 | | rawRatio | 0 | | effectiveRatio | 0 | |