| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 11 | | adverbTagCount | 1 | | adverbTags | | 0 | "She crouched again [again]" |
| | dialogueSentences | 53 | | tagDensity | 0.208 | | leniency | 0.415 | | rawRatio | 0.091 | | effectiveRatio | 0.038 | |
| 91.09% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1683 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "precisely" | | 1 | "slightly" | | 2 | "slowly" |
| |
| 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) | |
| 28.70% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1683 | | totalAiIsms | 24 | | found | | | highlights | | 0 | "mosaic" | | 1 | "perfect" | | 2 | "etched" | | 3 | "intricate" | | 4 | "mechanical" | | 5 | "pristine" | | 6 | "swept away" | | 7 | "flicker" | | 8 | "standard" | | 9 | "depths" | | 10 | "magnetic" | | 11 | "electric" | | 12 | "flickered" | | 13 | "footsteps" |
| |
| 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 | 117 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 2 | | narrationSentences | 117 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 159 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 38 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1698 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 28 | | wordCount | 1185 | | uniqueNames | 9 | | maxNameDensity | 0.84 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Patel" | | discoveredNames | | Harlow | 1 | | Quinn | 10 | | Patel | 10 | | Camden | 2 | | Town | 1 | | Metropolitan | 1 | | Police | 1 | | Tyvek | 1 | | Victorian | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Patel" | | 3 | "Police" | | 4 | "Tyvek" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 79 | | glossingSentenceCount | 1 | | matches | | 0 | "looked like bird vertebrae, a few larger" |
| |
| 82.21% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.178 | | wordCount | 1698 | | matches | | 0 | "not cardinal directions, but symbols similar to those on the mosaic floor" | | 1 | "Not much, perhaps a centimetre, but the whole section shifted on hidden hinges" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 159 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 66 | | mean | 25.73 | | std | 21.77 | | cv | 0.846 | | sampleLengths | | 0 | 66 | | 1 | 22 | | 2 | 76 | | 3 | 6 | | 4 | 24 | | 5 | 49 | | 6 | 4 | | 7 | 35 | | 8 | 1 | | 9 | 6 | | 10 | 54 | | 11 | 2 | | 12 | 28 | | 13 | 63 | | 14 | 1 | | 15 | 20 | | 16 | 49 | | 17 | 7 | | 18 | 12 | | 19 | 26 | | 20 | 7 | | 21 | 25 | | 22 | 5 | | 23 | 9 | | 24 | 28 | | 25 | 75 | | 26 | 5 | | 27 | 3 | | 28 | 11 | | 29 | 13 | | 30 | 56 | | 31 | 4 | | 32 | 34 | | 33 | 22 | | 34 | 52 | | 35 | 32 | | 36 | 3 | | 37 | 55 | | 38 | 5 | | 39 | 4 | | 40 | 77 | | 41 | 12 | | 42 | 20 | | 43 | 20 | | 44 | 21 | | 45 | 18 | | 46 | 63 | | 47 | 35 | | 48 | 6 | | 49 | 33 |
| |
| 84.27% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 7 | | totalSentences | 117 | | matches | | 0 | "been ripped" | | 1 | "been tinted" | | 2 | "been bound" | | 3 | "been etched" | | 4 | "been swept" | | 5 | "being absorbed" | | 6 | "was unchanged" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 191 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 159 | | ratio | 0.069 | | matches | | 0 | "In their place, someone had laid out a mosaic of symbols — bone fragments pressed into hardened wax, forming patterns that curved and spiralled like nothing she'd encountered in eighteen years of Metropolitan Police work." | | 1 | "The bone pieces varied — animal jaw fragments, what looked like bird vertebrae, a few larger pieces she suspected were human phalanges." | | 2 | "That surprised her — most victims of underground violence showed at least some postmortem damage." | | 3 | "The casing showed a patina of verdigris, and the face had been etched with intricate markings — not cardinal directions, but symbols similar to those on the mosaic floor." | | 4 | "Each ring contained different symbols — the innermost near the body used bone and wax, the next ring used what appeared to be crushed mineral, green and blue, the outermost ring was simple chalk but drawn with mechanical precision." | | 5 | "What she'd assumed was a bricked wall had a section that didn't match — newer mortar, different colour, the outline of a doorway." | | 6 | "But the mortar lines were wrong — too clean, too uniform." | | 7 | "She pushed harder and the door swung inward, revealing a passage beyond — low ceilinged, lit by a string of bare bulbs that still hummed with electricity." | | 8 | "She'd dismissed them as unrelated — different ages, different professions, different last known locations." | | 9 | "The wax, even dry, emitted a faint luminescence under her torch — a purple undertone that shouldn't exist in candle wax or paraffin." | | 10 | "The symbol on his forehead — the circle with the forked line — was fainter than before." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1178 | | adjectiveStacks | 1 | | stackExamples | | 0 | "different last known locations." |
| | adverbCount | 40 | | adverbRatio | 0.03395585738539898 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.005942275042444821 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 159 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 159 | | mean | 10.68 | | std | 7.99 | | cv | 0.749 | | sampleLengths | | 0 | 19 | | 1 | 27 | | 2 | 20 | | 3 | 13 | | 4 | 9 | | 5 | 11 | | 6 | 17 | | 7 | 35 | | 8 | 13 | | 9 | 6 | | 10 | 15 | | 11 | 9 | | 12 | 12 | | 13 | 22 | | 14 | 5 | | 15 | 10 | | 16 | 4 | | 17 | 10 | | 18 | 25 | | 19 | 1 | | 20 | 6 | | 21 | 4 | | 22 | 8 | | 23 | 3 | | 24 | 18 | | 25 | 12 | | 26 | 9 | | 27 | 2 | | 28 | 7 | | 29 | 14 | | 30 | 7 | | 31 | 5 | | 32 | 15 | | 33 | 12 | | 34 | 13 | | 35 | 7 | | 36 | 11 | | 37 | 1 | | 38 | 14 | | 39 | 6 | | 40 | 6 | | 41 | 8 | | 42 | 29 | | 43 | 6 | | 44 | 7 | | 45 | 12 | | 46 | 4 | | 47 | 12 | | 48 | 10 | | 49 | 7 |
| |
| 76.52% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.4779874213836478 | | totalSentences | 159 | | uniqueOpeners | 76 | |
| 95.24% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 105 | | matches | | 0 | "All young professionals, all vanished" | | 1 | "Somewhere in the darkness, water" | | 2 | "Then the second." |
| | ratio | 0.029 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 29 | | totalSentences | 105 | | matches | | 0 | "She aimed her own torch" | | 1 | "She'd need forensics to confirm." | | 2 | "She studied the body." | | 3 | "They rolled the body with" | | 4 | "His expression was calm, almost" | | 5 | "He held up an evidence" | | 6 | "She dismissed it as the" | | 7 | "She made a note." | | 8 | "She crouched again, her torch" | | 9 | "She counted the rings aloud" | | 10 | "She pointed her torch at" | | 11 | "She swept her beam toward" | | 12 | "He followed her beam and" | | 13 | "She pushed harder and the" | | 14 | "She pulled out her phone." | | 15 | "She hadn't considered that angle." | | 16 | "She'd dismissed them as unrelated" | | 17 | "She crouched by the mosaic" | | 18 | "He turned away, one hand" | | 19 | "She was certain of it." |
| | ratio | 0.276 | |
| 93.33% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 77 | | totalSentences | 105 | | matches | | 0 | "The emergency services tape snapped" | | 1 | "Detective Harlow Quinn ducked beneath" | | 2 | "The air tasted of mould" | | 3 | "Sergeant Patel's torch beam danced" | | 4 | "She aimed her own torch" | | 5 | "The platform tiles, once white" | | 6 | "A body lay at the" | | 7 | "Patel consulted his notebook" | | 8 | "Quinn crouched beside the mosaic," | | 9 | "The bone pieces varied —" | | 10 | "She'd need forensics to confirm." | | 11 | "The wax itself had been" | | 12 | "Patel checked his phone" | | 13 | "She studied the body." | | 14 | "Hands had been bound behind" | | 15 | "The wire had bitten into" | | 16 | "Patel signalled to the waiting" | | 17 | "They rolled the body with" | | 18 | "The man's face was intact." | | 19 | "That surprised her — most" |
| | ratio | 0.733 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 4 | | totalSentences | 105 | | matches | | 0 | "Even through the plastic, she" | | 1 | "As though someone had used" | | 2 | "To an untrained eye, it" | | 3 | "As though the wax were" |
| | ratio | 0.038 | |
| 79.08% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 56 | | technicalSentenceCount | 5 | | matches | | 0 | "In their place, someone had laid out a mosaic of symbols — bone fragments pressed into hardened wax, forming patterns that curved and spiralled like nothing she…" | | 1 | "His expression was calm, almost serene, lips slightly parted as though mid-sentence." | | 2 | "All young professionals, all vanished without witnesses, all with backgrounds that flagged on no databases." | | 3 | "The wax, even dry, emitted a faint luminescence under her torch — a purple undertone that shouldn't exist in candle wax or paraffin." | | 4 | "The needle, which had been spinning aimlessly, now pointed with rigid certainty toward the open doorway in the false wall." |
| |
| 79.55% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 11 | | uselessAdditionCount | 1 | | matches | | 0 | "She crouched again, her torch illuminating the chalk rings" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 53 | | tagDensity | 0.038 | | leniency | 0.075 | | rawRatio | 0 | | effectiveRatio | 0 | |