| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 16 | | adverbTagCount | 5 | | adverbTags | | 0 | "she said quietly [quietly]" | | 1 | "she said slowly [slowly]" | | 2 | "She crouched again [again]" | | 3 | "she said quietly [quietly]" | | 4 | "She glanced back [back]" |
| | dialogueSentences | 38 | | tagDensity | 0.421 | | leniency | 0.842 | | rawRatio | 0.313 | | effectiveRatio | 0.263 | |
| 77.37% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2209 | | totalAiIsmAdverbs | 10 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | adverb | "deliberately" | | count | 1 |
| | 7 | | | 8 | |
| | highlights | | 0 | "softly" | | 1 | "perfectly" | | 2 | "lazily" | | 3 | "gently" | | 4 | "slowly" | | 5 | "angrily" | | 6 | "deliberately" | | 7 | "sharply" | | 8 | "really" |
| |
| 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) | |
| 70.57% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2209 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "measured" | | 1 | "echoing" | | 2 | "glinting" | | 3 | "etched" | | 4 | "quivered" | | 5 | "standard" | | 6 | "pristine" | | 7 | "perfect" | | 8 | "flickered" | | 9 | "pulse" | | 10 | "quickened" |
| |
| 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 | 162 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 2 | | narrationSentences | 162 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 183 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 68 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2191 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 18 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 54 | | wordCount | 1676 | | uniqueNames | 18 | | maxNameDensity | 0.89 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Tube | 1 | | Camden | 1 | | Harlow | 2 | | Quinn | 15 | | Maglite | 1 | | Inspector | 1 | | Malcolm | 1 | | Reeves | 12 | | Morris | 3 | | Londoners | 1 | | London | 1 | | Kowalski | 4 | | British | 1 | | Museum | 1 | | Veil | 1 | | Compass | 1 | | Detective | 3 | | Eva | 4 |
| | persons | | 0 | "Camden" | | 1 | "Harlow" | | 2 | "Quinn" | | 3 | "Inspector" | | 4 | "Malcolm" | | 5 | "Reeves" | | 6 | "Morris" | | 7 | "Kowalski" | | 8 | "Museum" | | 9 | "Compass" | | 10 | "Eva" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 39.38% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 113 | | glossingSentenceCount | 5 | | matches | | 0 | "looked like a single, impossibly clean ve" | | 1 | "something like ozone and wet dog" | | 2 | "footprints that seemed to stop abruptly ten feet from the body, as though the owner had simply vanished" | | 3 | "looked like a human finger bone, polished" | | 4 | "looked like the heart had been removed by" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 2191 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 183 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 65 | | mean | 33.71 | | std | 23.03 | | cv | 0.683 | | sampleLengths | | 0 | 75 | | 1 | 20 | | 2 | 74 | | 3 | 61 | | 4 | 59 | | 5 | 14 | | 6 | 47 | | 7 | 68 | | 8 | 77 | | 9 | 48 | | 10 | 11 | | 11 | 37 | | 12 | 56 | | 13 | 57 | | 14 | 28 | | 15 | 4 | | 16 | 11 | | 17 | 28 | | 18 | 76 | | 19 | 53 | | 20 | 9 | | 21 | 73 | | 22 | 32 | | 23 | 64 | | 24 | 51 | | 25 | 5 | | 26 | 22 | | 27 | 5 | | 28 | 47 | | 29 | 38 | | 30 | 7 | | 31 | 20 | | 32 | 11 | | 33 | 13 | | 34 | 23 | | 35 | 88 | | 36 | 12 | | 37 | 86 | | 38 | 8 | | 39 | 44 | | 40 | 43 | | 41 | 9 | | 42 | 33 | | 43 | 14 | | 44 | 46 | | 45 | 46 | | 46 | 3 | | 47 | 32 | | 48 | 33 | | 49 | 8 |
| |
| 83.60% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 10 | | totalSentences | 162 | | matches | | 0 | "been sealed" | | 1 | "been opened" | | 2 | "been welded" | | 3 | "were cauterised" | | 4 | "been heated" | | 5 | "was etched" | | 6 | "was carved" | | 7 | "been removed" | | 8 | "were curled" | | 9 | "was disturbed" | | 10 | "been dragged" | | 11 | "been closed" |
| |
| 77.45% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 272 | | matches | | 0 | "was calling" | | 1 | "was still talking" | | 2 | "were listening" | | 3 | "wasn’t looking" | | 4 | "was waiting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 1 | | flaggedSentences | 12 | | totalSentences | 183 | | ratio | 0.066 | | matches | | 0 | "The abandoned Tube station beneath Camden reeked of damp concrete, ozone, and something sharper—burnt copper and wet fur." | | 1 | "The station itself had been sealed since the 1980s; the only light now came from portable halogen lamps the forensic team had set up, casting long, theatrical shadows across the curved tile walls." | | 2 | "Reeves had been her partner’s replacement three years ago—competent enough, but he still looked at every scene like a man waiting for the world to make sense again." | | 3 | "The smell was worse up close—iron, yes, but also something like ozone and wet dog." | | 4 | "She rose and walked over, careful not to disturb the faint footprints in the dust—footprints that seemed to stop abruptly ten feet from the body, as though the owner had simply vanished." | | 5 | "The face was etched with symbols she didn’t recognise—sigils, Reeves would have called them." | | 6 | "Embedded beneath the broken nails was a single red hair—curly, vibrant, the kind that didn’t come from most Londoners." | | 7 | "The dust was disturbed in odd patterns—not footprints exactly, more like something heavy had been dragged, then the marks smoothed over." | | 8 | "The edges of the tile had vitrified—melted and re-hardened in a perfect ring." | | 9 | "There was something in his expression—not fear." | | 10 | "The victim’s coat had fallen open, revealing a small tattoo on his inner wrist—a tiny compass rose identical to the one on the brass device." | | 11 | "For a fraction of a second she thought she saw a shape—small, hunched, with too many joints—before it vanished." |
| |
| 86.86% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1691 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 90 | | adverbRatio | 0.05322294500295683 | | lyAdverbCount | 37 | | lyAdverbRatio | 0.02188054405677114 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 183 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 183 | | mean | 11.97 | | std | 9.69 | | cv | 0.809 | | sampleLengths | | 0 | 18 | | 1 | 24 | | 2 | 12 | | 3 | 21 | | 4 | 20 | | 5 | 18 | | 6 | 33 | | 7 | 5 | | 8 | 18 | | 9 | 16 | | 10 | 1 | | 11 | 2 | | 12 | 8 | | 13 | 19 | | 14 | 3 | | 15 | 7 | | 16 | 4 | | 17 | 1 | | 18 | 18 | | 19 | 13 | | 20 | 28 | | 21 | 5 | | 22 | 9 | | 23 | 7 | | 24 | 33 | | 25 | 7 | | 26 | 7 | | 27 | 15 | | 28 | 9 | | 29 | 5 | | 30 | 32 | | 31 | 8 | | 32 | 28 | | 33 | 6 | | 34 | 35 | | 35 | 3 | | 36 | 12 | | 37 | 8 | | 38 | 8 | | 39 | 2 | | 40 | 15 | | 41 | 8 | | 42 | 3 | | 43 | 37 | | 44 | 7 | | 45 | 17 | | 46 | 32 | | 47 | 10 | | 48 | 9 | | 49 | 14 |
| |
| 46.27% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 17 | | diversityRatio | 0.3333333333333333 | | totalSentences | 183 | | uniqueOpeners | 61 | |
| 90.70% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 147 | | matches | | 0 | "Instead, it quivered toward the" | | 1 | "Only the coat, the clothes," | | 2 | "Almost like wings brushing the" | | 3 | "Somewhere ahead, something with red" |
| | ratio | 0.027 | |
| 70.34% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 55 | | totalSentences | 147 | | matches | | 0 | "Her leather-soled boots rang softly" | | 1 | "She had seen her share" | | 2 | "His chest had been opened" | | 3 | "He glanced up as Quinn" | | 4 | "he said, voice low" | | 5 | "She had been in bed," | | 6 | "She had dressed in three" | | 7 | "She crouched opposite him, knees" | | 8 | "He pointed to a small," | | 9 | "She had heard the name" | | 10 | "She didn’t believe in things" | | 11 | "She pulled on nitrile gloves" | | 12 | "She rose and walked over," | | 13 | "She knelt and used a" | | 14 | "She slipped the compass into" | | 15 | "She kept her voice level" | | 16 | "She had already catalogued the" | | 17 | "She had seen similar tokens" | | 18 | "She turned the evidence bag" | | 19 | "she said quietly" |
| | ratio | 0.374 | |
| 48.44% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 121 | | totalSentences | 147 | | matches | | 0 | "The abandoned Tube station beneath" | | 1 | "Detective Harlow Quinn descended the" | | 2 | "Her leather-soled boots rang softly" | | 3 | "The worn leather watch on" | | 4 | "She had seen her share" | | 5 | "The station itself had been" | | 6 | "Moss grew in the grout." | | 7 | "Water dripped steadily from a" | | 8 | "The body lay halfway between" | | 9 | "His chest had been opened" | | 10 | "The heart was simply..." | | 11 | "Detective Inspector Malcolm Reeves was" | | 12 | "He glanced up as Quinn" | | 13 | "Reeves had been her partner’s" | | 14 | "he said, voice low" | | 15 | "She had been in bed," | | 16 | "She had dressed in three" | | 17 | "She crouched opposite him, knees" | | 18 | "The smell was worse up" | | 19 | "The victim’s eyes were open," |
| | ratio | 0.823 | |
| 34.01% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 147 | | matches | | 0 | "As though he had known" |
| | ratio | 0.007 | |
| 65.93% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 65 | | technicalSentenceCount | 7 | | matches | | 0 | "Detective Harlow Quinn descended the rusted emergency stairs with the measured tread of someone who had walked into too many places where people died." | | 1 | "She had been in bed, staring at the ceiling, when the call came through about a body in a disused station accessible only through a maintenance door that should…" | | 2 | "She rose and walked over, careful not to disturb the faint footprints in the dust—footprints that seemed to stop abruptly ten feet from the body, as though the …" | | 3 | "Embedded beneath the broken nails was a single red hair—curly, vibrant, the kind that didn’t come from most Londoners." | | 4 | "The station had gone eerily quiet, as though the walls themselves were listening." | | 5 | "The occult researcher who worked in the British Museum’s restricted archives." | | 6 | "Same verdigris patina on the ink, as if it had been there for years." |
| |
| 62.50% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 16 | | uselessAdditionCount | 2 | | matches | | 0 | "he said, voice low" | | 1 | "she said, voice tight" |
| |
| 97.37% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 2 | | fancyTags | | 0 | "Quinn muttered (mutter)" | | 1 | "she agreed (agree)" |
| | dialogueSentences | 38 | | tagDensity | 0.263 | | leniency | 0.526 | | rawRatio | 0.2 | | effectiveRatio | 0.105 | |