| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 1 | | adverbTags | | | dialogueSentences | 8 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.25 | | effectiveRatio | 0.25 | |
| 95.65% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1149 | | totalAiIsmAdverbs | 1 | | 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) | |
| 73.89% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1149 | | totalAiIsms | 6 | | found | | 0 | | | 1 | | word | "down her spine" | | count | 1 |
| | 2 | | | 3 | | | 4 | | | 5 | |
| | highlights | | 0 | "database" | | 1 | "down her spine" | | 2 | "rhythmic" | | 3 | "stomach" | | 4 | "comforting" | | 5 | "weight" |
| |
| 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 | 0 | | narrationSentences | 84 | | matches | (empty) | |
| 74.83% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 3 | | narrationSentences | 84 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 88 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 46 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 1 | | totalWords | 1141 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 34 | | wordCount | 1088 | | uniqueNames | 17 | | maxNameDensity | 0.83 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Procedure" | | discoveredNames | | London | 1 | | Camden | 1 | | High | 1 | | Street | 1 | | Harlow | 1 | | Quinn | 9 | | Herrera | 5 | | Raven | 1 | | Nest | 1 | | Soho | 1 | | Tube | 1 | | Morris | 3 | | Daniel | 1 | | Veil | 1 | | Market | 1 | | God | 1 | | Procedure | 4 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Herrera" | | 3 | "Morris" | | 4 | "Daniel" | | 5 | "Market" | | 6 | "Procedure" |
| | places | | 0 | "London" | | 1 | "Camden" | | 2 | "High" | | 3 | "Street" | | 4 | "Raven" | | 5 | "Soho" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 63 | | glossingSentenceCount | 5 | | matches | | 0 | "something between cinnamon and cold iron and th" | | 1 | "quite moss" | | 2 | "words, that seemed to shift when she wasn't staring straight at them" | | 3 | "fabrics that seemed to drink the light" | | 4 | "looked like teeth on a brass scale" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.876 | | wordCount | 1141 | | matches | | 0 | "not triumphant but afraid" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 88 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 35 | | mean | 32.6 | | std | 30.61 | | cv | 0.939 | | sampleLengths | | 0 | 71 | | 1 | 19 | | 2 | 86 | | 3 | 12 | | 4 | 42 | | 5 | 6 | | 6 | 71 | | 7 | 16 | | 8 | 21 | | 9 | 57 | | 10 | 110 | | 11 | 4 | | 12 | 63 | | 13 | 13 | | 14 | 7 | | 15 | 82 | | 16 | 6 | | 17 | 3 | | 18 | 95 | | 19 | 21 | | 20 | 33 | | 21 | 7 | | 22 | 1 | | 23 | 41 | | 24 | 22 | | 25 | 81 | | 26 | 12 | | 27 | 28 | | 28 | 45 | | 29 | 10 | | 30 | 14 | | 31 | 7 | | 32 | 7 | | 33 | 6 | | 34 | 22 |
| |
| 96.91% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 84 | | matches | | 0 | "been pried" | | 1 | "been transformed" |
| |
| 21.75% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 187 | | matches | | 0 | "was going" | | 1 | "was listening" | | 2 | "wasn't staring" | | 3 | "was weighing" | | 4 | "was looking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 0 | | flaggedSentences | 8 | | totalSentences | 88 | | ratio | 0.091 | | matches | | 0 | "Eighteen years on the job and she could still feel the old thrill of it—the hunt narrowing to a single point of light ahead." | | 1 | "Below her, half-hidden behind a curtain of sodden ivy, was the mouth of an old Tube station—one of the dead ones, the ones the maps didn't bother with anymore." | | 2 | "DS Daniel Morris, her partner of nine years, found in a locked room with no marks on him and an expression on his face she still saw when she closed her eyes—a man who had looked at something the human eye wasn't built to hold." | | 3 | "Her torch beam swam over graffiti that hurt to look at directly—symbols, not words, that seemed to shift when she wasn't staring straight at them." | | 4 | "Lanterns hung from the curved ceiling, but their flames burned in colors no flame should—violet, a sick green, a deep arterial red." | | 5 | "The voice belonged to a vast figure in the shadow of the archway—broad as a doorway, face lost beneath a hood, one pale hand extended palm-up." | | 6 | "Quinn's hand drifted to her hip, to the comforting weight that wasn't there—she'd left the firearm in the locker, because she was a detective, not an armed response officer, and God, the irony of that nearly made her laugh." | | 7 | "Quinn reached into her coat, past the dead radio, to the inside pocket where, two days ago, she'd lifted a small bone disc from a dead man's effects without entering it into evidence—because some instinct older than procedure had told her she would need it." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1100 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 32 | | adverbRatio | 0.02909090909090909 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.006363636363636364 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 88 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 88 | | mean | 12.97 | | std | 10.16 | | cv | 0.783 | | sampleLengths | | 0 | 18 | | 1 | 29 | | 2 | 24 | | 3 | 19 | | 4 | 7 | | 5 | 2 | | 6 | 16 | | 7 | 42 | | 8 | 8 | | 9 | 11 | | 10 | 7 | | 11 | 5 | | 12 | 19 | | 13 | 12 | | 14 | 11 | | 15 | 6 | | 16 | 29 | | 17 | 12 | | 18 | 30 | | 19 | 16 | | 20 | 4 | | 21 | 17 | | 22 | 3 | | 23 | 8 | | 24 | 15 | | 25 | 9 | | 26 | 3 | | 27 | 1 | | 28 | 18 | | 29 | 13 | | 30 | 6 | | 31 | 45 | | 32 | 6 | | 33 | 5 | | 34 | 2 | | 35 | 33 | | 36 | 4 | | 37 | 22 | | 38 | 2 | | 39 | 2 | | 40 | 10 | | 41 | 3 | | 42 | 16 | | 43 | 8 | | 44 | 13 | | 45 | 7 | | 46 | 22 | | 47 | 25 | | 48 | 7 | | 49 | 28 |
| |
| 59.09% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.4431818181818182 | | totalSentences | 88 | | uniqueOpeners | 39 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 78 | | matches | | 0 | "Ever since the night Morris" | | 1 | "Then, around a final turn," | | 2 | "Somewhere, a stringed instrument played" |
| | ratio | 0.038 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 78 | | matches | | 0 | "She'd been tailing him for" | | 1 | "He'd surfaced tonight at The" | | 2 | "He moved like a man" | | 3 | "He moved like a man" | | 4 | "He cut left into an" | | 5 | "She caught a glimpse of" | | 6 | "She tried again." | | 7 | "She looked at the handset" | | 8 | "She stood at the railing" | | 9 | "Her torch beam swam over" | | 10 | "She stopped dead." | | 11 | "She'd heard the name whispered" | | 12 | "She had told herself it" | | 13 | "it said again" | | 14 | "He'd stopped at a stall" | | 15 | "He shook his head once," | | 16 | "She held it up." | | 17 | "she said, her voice steadier" | | 18 | "She hadn't told it her" |
| | ratio | 0.244 | |
| 56.15% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 63 | | totalSentences | 78 | | matches | | 0 | "The rain came at London" | | 1 | "Detective Harlow Quinn ran through" | | 2 | "That point of light was" | | 3 | "She'd been tailing him for" | | 4 | "He'd surfaced tonight at The" | | 5 | "He moved like a man" | | 6 | "He moved like a man" | | 7 | "Quinn shouted, knowing it was" | | 8 | "The rain swallowed the word." | | 9 | "He cut left into an" | | 10 | "Water sluiced from a broken" | | 11 | "Quinn reached the railing and" | | 12 | "Boards had been pried away" | | 13 | "A breath of warm, strange" | | 14 | "She caught a glimpse of" | | 15 | "Quinn keyed her radio." | | 16 | "Static answered her." | | 17 | "This was a wet, breathing" | | 18 | "The hair rose on the" | | 19 | "She tried again." |
| | ratio | 0.808 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 78 | | matches | (empty) | | ratio | 0 | |
| 43.19% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 43 | | technicalSentenceCount | 6 | | matches | | 0 | "Detective Harlow Quinn ran through it, her boots slapping the wet concrete, the worn leather strap of her watch chafing against her wrist with every pump of her…" | | 1 | "He cut left into an alley, and she followed, her shoulder clipping a wheelie bin and sending it crashing." | | 2 | "She caught a glimpse of Herrera's back vanishing down a stairwell that should have led nowhere." | | 3 | "And she'd spent every day since pulling at the threads, and every thread led to people like Herrera, to places like the green-neon bar, to doors that opened ont…" | | 4 | "Figures moved among them, hooded, hunched, some too tall, some moving wrong, their joints describing angles that made Quinn's stomach clench." | | 5 | "Quinn's hand drifted to her hip, to the comforting weight that wasn't there—she'd left the firearm in the locker, because she was a detective, not an armed resp…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 1 | | matches | | 0 | "she said, her voice steadier than she felt" |
| |
| 25.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 8 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.25 | | effectiveRatio | 0.25 | |