| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 1 | | adverbTags | | 0 | "Harlow crouched again [again]" |
| | dialogueSentences | 35 | | tagDensity | 0.429 | | leniency | 0.857 | | rawRatio | 0.067 | | effectiveRatio | 0.057 | |
| 94.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 833 | | totalAiIsmAdverbs | 1 | | found | | 0 | | adverb | "barely above a whisper" | | count | 1 |
|
| | highlights | | 0 | "barely above a whisper" |
| |
| 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) | |
| 33.97% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 833 | | totalAiIsms | 11 | | found | | | highlights | | 0 | "tension" | | 1 | "clenching" | | 2 | "fluttered" | | 3 | "pulse" | | 4 | "flicked" | | 5 | "etched" | | 6 | "traced" | | 7 | "whisper" | | 8 | "echoed" | | 9 | "vibrated" |
| |
| 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 | 67 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 67 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 85 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 44 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 8 | | markdownWords | 9 | | totalWords | 827 | | ratio | 0.011 | | matches | | 0 | "placed" | | 1 | "set" | | 2 | "supernatural" | | 3 | "something else" | | 4 | "wrong" | | 5 | "taken" | | 6 | "someone" | | 7 | "click" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 0 | | matches | (empty) | |
| 57.72% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 33 | | wordCount | 596 | | uniqueNames | 12 | | maxNameDensity | 1.85 | | worstName | "Harlow" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Harlow" | | discoveredNames | | Tube | 1 | | Camden | 1 | | Harlow | 11 | | Quinn | 1 | | Kowalski | 1 | | Eva | 9 | | Veil | 3 | | Compass | 2 | | Market | 1 | | London | 1 | | Daniel | 1 | | Mercer | 1 |
| | persons | | 0 | "Camden" | | 1 | "Harlow" | | 2 | "Quinn" | | 3 | "Kowalski" | | 4 | "Eva" | | 5 | "Compass" | | 6 | "Daniel" | | 7 | "Mercer" |
| | places | | | globalScore | 0.577 | | windowScore | 0.833 | |
| 93.18% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 44 | | glossingSentenceCount | 1 | | matches | | 0 | "something between a growl and a whisper" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 827 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 85 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 23 | | mean | 35.96 | | std | 27.89 | | cv | 0.776 | | sampleLengths | | 0 | 99 | | 1 | 51 | | 2 | 59 | | 3 | 28 | | 4 | 54 | | 5 | 7 | | 6 | 48 | | 7 | 14 | | 8 | 76 | | 9 | 6 | | 10 | 45 | | 11 | 13 | | 12 | 65 | | 13 | 13 | | 14 | 59 | | 15 | 14 | | 16 | 84 | | 17 | 23 | | 18 | 5 | | 19 | 24 | | 20 | 35 | | 21 | 3 | | 22 | 2 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 67 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 96 | | matches | (empty) | |
| 42.02% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 3 | | semicolonCount | 0 | | flaggedSentences | 3 | | totalSentences | 85 | | ratio | 0.035 | | matches | | 0 | "The abandoned Tube station beneath Camden had long since surrendered to the damp, but the air here was thicker than usual—sticky with the scent of wet stone and something else, something metallic and faintly sweet, like old coins left in a rain barrel." | | 1 | "No sign of struggle—just the way he’d been left." | | 2 | "A low, guttural sound vibrated through the air—something between a growl and a whisper." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 600 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 23 | | adverbRatio | 0.03833333333333333 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.02 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 85 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 85 | | mean | 9.73 | | std | 7.19 | | cv | 0.739 | | sampleLengths | | 0 | 43 | | 1 | 23 | | 2 | 18 | | 3 | 6 | | 4 | 9 | | 5 | 18 | | 6 | 17 | | 7 | 10 | | 8 | 6 | | 9 | 9 | | 10 | 17 | | 11 | 17 | | 12 | 13 | | 13 | 3 | | 14 | 8 | | 15 | 20 | | 16 | 12 | | 17 | 2 | | 18 | 9 | | 19 | 7 | | 20 | 2 | | 21 | 7 | | 22 | 5 | | 23 | 5 | | 24 | 5 | | 25 | 2 | | 26 | 5 | | 27 | 7 | | 28 | 11 | | 29 | 17 | | 30 | 13 | | 31 | 6 | | 32 | 8 | | 33 | 11 | | 34 | 20 | | 35 | 3 | | 36 | 13 | | 37 | 20 | | 38 | 5 | | 39 | 4 | | 40 | 3 | | 41 | 3 | | 42 | 16 | | 43 | 3 | | 44 | 10 | | 45 | 6 | | 46 | 10 | | 47 | 9 | | 48 | 4 | | 49 | 13 |
| |
| 53.33% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.3764705882352941 | | totalSentences | 85 | | uniqueOpeners | 32 | |
| 57.47% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 58 | | matches | | | ratio | 0.017 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 16 | | totalSentences | 58 | | matches | | 0 | "She tucked a strand of" | | 1 | "she said without looking up," | | 2 | "She nodded toward the body" | | 3 | "She turned her attention to" | | 4 | "She stood, brushing dirt from" | | 5 | "She gestured to the platform" | | 6 | "She pulled a small brass" | | 7 | "She flipped it open, the" | | 8 | "She pocketed it without a" | | 9 | "She traced a finger along" | | 10 | "She pulled out her phone," | | 11 | "She didn’t have to." | | 12 | "She turned back to the" | | 13 | "She crouched beside him again," | | 14 | "Her touch lingered." | | 15 | "She stepped forward, her hand" |
| | ratio | 0.276 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 56 | | totalSentences | 58 | | matches | | 0 | "The abandoned Tube station beneath" | | 1 | "Detective Harlow Quinn adjusted the" | | 2 | "The fluorescent lights above buzzed" | | 3 | "This wasn’t just another crime" | | 4 | "This was a place where" | | 5 | "Eva Kowalski stood near the" | | 6 | "She tucked a strand of" | | 7 | "she said without looking up," | | 8 | "Harlow exhaled through her nose," | | 9 | "She nodded toward the body" | | 10 | "A man in a rumpled" | | 11 | "The coroner’s tape fluttered around" | | 12 | "Eva said, finally meeting her" | | 13 | "Harlow crouched beside the body," | | 14 | "She turned her attention to" | | 15 | "A single boot print, half-covered" | | 16 | "Harlow’s voice was low, precise" | | 17 | "She stood, brushing dirt from" | | 18 | "She gestured to the platform" | | 19 | "Eva hesitated, then followed her" |
| | ratio | 0.966 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 58 | | matches | (empty) | | ratio | 0 | |
| 58.82% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 17 | | technicalSentenceCount | 2 | | matches | | 0 | "The fluorescent lights above buzzed weakly, casting long shadows that stretched like skeletal fingers across the cracked concrete." | | 1 | "The group of occult researchers and collectors who operated in the shadows of London’s elite." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 4 | | matches | | 0 | "she said, her voice tight" | | 1 | "She pulled, its casing etched with sigils, the needle twitching restlessly" | | 2 | "Harlow stood, her gaze sweeping over the scene" | | 3 | "She crouched, her fingers brushing the man’s jacket pocket" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 35 | | tagDensity | 0.114 | | leniency | 0.229 | | rawRatio | 0.25 | | effectiveRatio | 0.057 | |