| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 18 | | adverbTagCount | 2 | | adverbTags | | 0 | "She stepped carefully [carefully]" | | 1 | "she said quietly [quietly]" |
| | dialogueSentences | 52 | | tagDensity | 0.346 | | leniency | 0.692 | | rawRatio | 0.111 | | effectiveRatio | 0.077 | |
| 93.23% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1478 | | 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) | |
| 35.72% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1478 | | totalAiIsms | 19 | | found | | | highlights | | 0 | "weight" | | 1 | "familiar" | | 2 | "gloom" | | 3 | "stomach" | | 4 | "glint" | | 5 | "etched" | | 6 | "shattered" | | 7 | "glistening" | | 8 | "pulsed" | | 9 | "whisper" | | 10 | "pulse" | | 11 | "wavering" | | 12 | "echoed" | | 13 | "raced" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 2 | | found | | 0 | | label | "blood ran cold" | | count | 1 |
| | 1 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | 0 | "blood ran cold" | | 1 | "hung in the air" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 130 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 130 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 162 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 37 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 25 | | markdownWords | 31 | | totalWords | 1468 | | ratio | 0.021 | | matches | | 0 | "Visit the British Empire Exhibition!" | | 1 | "location" | | 2 | "measurements" | | 3 | "Oil? Mercury?" | | 4 | "wrongness" | | 5 | "voice" | | 6 | "Hollow Veil" | | 7 | "believe" | | 8 | "researched" | | 9 | "remembering" | | 10 | "interrupted" | | 11 | "click" | | 12 | "knew" | | 13 | "seen" | | 14 | "them" | | 15 | "more" | | 16 | "you" | | 17 | "voice" | | 18 | "stop" | | 19 | "weak" | | 20 | "laws" | | 21 | "murder" | | 22 | "survival" | | 23 | "hunger" | | 24 | "hell" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 33.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 56 | | wordCount | 1155 | | uniqueNames | 8 | | maxNameDensity | 2.08 | | worstName | "Harlow" | | maxWindowNameDensity | 4 | | worstWindowName | "Eva" | | discoveredNames | | Tube | 1 | | Harlow | 24 | | Quinn | 1 | | British | 1 | | Empire | 1 | | Kowalski | 1 | | Morris | 10 | | Eva | 17 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Kowalski" | | 3 | "Morris" | | 4 | "Eva" |
| | places | (empty) | | globalScore | 0.461 | | windowScore | 0.333 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 74 | | glossingSentenceCount | 1 | | matches | | 0 | "as if reading her mind" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.681 | | wordCount | 1468 | | matches | | 0 | "not at the rift, but at the hole in the wall" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 162 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 58 | | mean | 25.31 | | std | 21.94 | | cv | 0.867 | | sampleLengths | | 0 | 90 | | 1 | 56 | | 2 | 58 | | 3 | 90 | | 4 | 65 | | 5 | 18 | | 6 | 45 | | 7 | 19 | | 8 | 4 | | 9 | 43 | | 10 | 58 | | 11 | 73 | | 12 | 7 | | 13 | 45 | | 14 | 5 | | 15 | 19 | | 16 | 9 | | 17 | 57 | | 18 | 8 | | 19 | 26 | | 20 | 22 | | 21 | 8 | | 22 | 24 | | 23 | 13 | | 24 | 35 | | 25 | 12 | | 26 | 4 | | 27 | 36 | | 28 | 14 | | 29 | 35 | | 30 | 12 | | 31 | 7 | | 32 | 9 | | 33 | 6 | | 34 | 43 | | 35 | 7 | | 36 | 21 | | 37 | 10 | | 38 | 46 | | 39 | 12 | | 40 | 5 | | 41 | 6 | | 42 | 9 | | 43 | 18 | | 44 | 21 | | 45 | 46 | | 46 | 10 | | 47 | 35 | | 48 | 6 | | 49 | 9 |
| |
| 91.77% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 130 | | matches | | 0 | "been sealed" | | 1 | "were curled" | | 2 | "was rolled" | | 3 | "been pried" | | 4 | "was obscured" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 198 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 162 | | ratio | 0.068 | | matches | | 0 | "The beam of her torch cut through the gloom, illuminating the peeling posters of long-forgotten ad campaigns—*Visit the British Empire Exhibition!*—their edges curled like dead leaves." | | 1 | "“Traffic. And the *location* didn’t help.” She stepped carefully over a rusted track, her boots crunching on something brittle—glass, maybe, or bone." | | 2 | "His skin was waxy, his lips blue, but it wasn’t the lividity that made Harlow’s stomach clench—it was the way his fingers were curled, as if he’d been trying to claw his way out of something." | | 3 | "His sleeve was rolled up, revealing a series of fresh, precise cuts along his forearm—too clean to be defensive wounds." | | 4 | "The station was a graveyard of discarded things—rusted carts, shattered tiles, the skeletal remains of old vending machines." | | 5 | "She’d seen this before—three years ago, in the warehouse where Morris had died." | | 6 | "A whisper slithered into her ear—no, not a whisper." | | 7 | "The tread was deep, the edges sharp—military issue." | | 8 | "A sound echoed through the station—a *click*, like a hammer cocking." | | 9 | "She’d held his hand as the life bled out of him, his last words a garbled warning about *them*—the things in the dark." | | 10 | "“The same as you, Detective. Just… *more*.” He took a step forward, his boot crushing something beneath it—a bone token, its surface etched with the same sigils as the compass." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1170 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small, leather-bound journal." |
| | adverbCount | 34 | | adverbRatio | 0.02905982905982906 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.009401709401709401 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 162 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 162 | | mean | 9.06 | | std | 7.69 | | cv | 0.848 | | sampleLengths | | 0 | 25 | | 1 | 20 | | 2 | 26 | | 3 | 19 | | 4 | 15 | | 5 | 24 | | 6 | 17 | | 7 | 5 | | 8 | 22 | | 9 | 28 | | 10 | 3 | | 11 | 11 | | 12 | 29 | | 13 | 14 | | 14 | 36 | | 15 | 7 | | 16 | 11 | | 17 | 11 | | 18 | 19 | | 19 | 17 | | 20 | 4 | | 21 | 14 | | 22 | 3 | | 23 | 18 | | 24 | 20 | | 25 | 4 | | 26 | 8 | | 27 | 11 | | 28 | 3 | | 29 | 1 | | 30 | 26 | | 31 | 16 | | 32 | 1 | | 33 | 9 | | 34 | 18 | | 35 | 25 | | 36 | 2 | | 37 | 2 | | 38 | 1 | | 39 | 1 | | 40 | 9 | | 41 | 25 | | 42 | 12 | | 43 | 3 | | 44 | 13 | | 45 | 5 | | 46 | 6 | | 47 | 6 | | 48 | 1 | | 49 | 3 |
| |
| 45.88% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 14 | | diversityRatio | 0.3271604938271605 | | totalSentences | 162 | | uniqueOpeners | 53 | |
| 90.91% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 110 | | matches | | 0 | "Too large to be the" | | 1 | "Just the hum of the" | | 2 | "Then, from the far end" |
| | ratio | 0.027 | |
| 81.82% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 38 | | totalSentences | 110 | | matches | | 0 | "She adjusted the strap of" | | 1 | "Her red curls were a" | | 2 | "She stepped carefully over a" | | 3 | "She gestured to the corpse" | | 4 | "His skin was waxy, his" | | 5 | "She pried his fingers open" | | 6 | "She set the compass down" | | 7 | "His sleeve was rolled up," | | 8 | "They looked like *measurements*." | | 9 | "She waved a hand at" | | 10 | "She followed it, her boots" | | 11 | "She’d seen this before—three years" | | 12 | "She reached out, her fingers" | | 13 | "She jerked her hand back." | | 14 | "She flipped it open, revealing" | | 15 | "She followed Eva’s gaze to" | | 16 | "Her stomach twisted." | | 17 | "She knew that print." | | 18 | "She’d seen it before, in" | | 19 | "She stood abruptly, her hand" |
| | ratio | 0.345 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 102 | | totalSentences | 110 | | matches | | 0 | "The abandoned Tube station reeked" | | 1 | "She adjusted the strap of" | | 2 | "The beam of her torch" | | 3 | "The air hummed with an" | | 4 | "Eva Kowalski said, not looking" | | 5 | "Her red curls were a" | | 6 | "The leather satchel at her" | | 7 | "Harlow exhaled through her nose." | | 8 | "She stepped carefully over a" | | 9 | "The station had been sealed" | | 10 | "Eva finally looked up, her" | | 11 | "She gestured to the corpse" | | 12 | "The man lay sprawled on" | | 13 | "His skin was waxy, his" | | 14 | "Harlow crouched beside him, her" | | 15 | "The torchlight caught the glint" | | 16 | "She pried his fingers open" | | 17 | "A small brass compass, its" | | 18 | "The patina on the casing" | | 19 | "Harlow didn’t answer." |
| | ratio | 0.927 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 110 | | matches | (empty) | | ratio | 0 | |
| 94.16% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 44 | | technicalSentenceCount | 3 | | matches | | 0 | "The abandoned Tube station reeked of damp concrete and something older, something that clung to the back of Harlow Quinn’s throat like a bad memory." | | 1 | "His skin was waxy, his lips blue, but it wasn’t the lividity that made Harlow’s stomach clench—it was the way his fingers were curled, as if he’d been trying to…" | | 2 | "She picked it up, her fingers tightening around the brass casing." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 18 | | uselessAdditionCount | 8 | | matches | | 0 | "Eva Kowalski said, not looking up from where she crouched beside the body" | | 1 | "She stepped carefully, her boots crunching on something brittle—glass, maybe, or bone" | | 2 | "Eva said, as if reading her mind" | | 3 | "Eva called, her voice tight" | | 4 | "the man said, his voice a gravelly purr" | | 5 | "Harlow finished, her voice steady despite the roar in her ears" | | 6 | "He spread, the gesture almost apologetic" | | 7 | "His voice dropped, the words slithering into her ears like serpents" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 52 | | tagDensity | 0.173 | | leniency | 0.346 | | rawRatio | 0.111 | | effectiveRatio | 0.038 | |