| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 2 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 32 | | tagDensity | 0.063 | | leniency | 0.125 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1377 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 60.06% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1377 | | totalAiIsms | 11 | | found | | | highlights | | 0 | "sentinel" | | 1 | "rhythmic" | | 2 | "weight" | | 3 | "tracing" | | 4 | "etched" | | 5 | "pristine" | | 6 | "scanning" | | 7 | "measured" | | 8 | "tinged" | | 9 | "etching" | | 10 | "silence" |
| |
| 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 | 100 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 100 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 130 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 41 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1367 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 98.82% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 21 | | wordCount | 977 | | uniqueNames | 4 | | maxNameDensity | 1.02 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Pallaver" | | discoveredNames | | Tube | 1 | | Quinn | 10 | | Pallaver | 9 | | Morris | 1 |
| | persons | | 0 | "Quinn" | | 1 | "Pallaver" | | 2 | "Morris" |
| | places | (empty) | | globalScore | 0.988 | | windowScore | 1 | |
| 42.86% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 70 | | glossingSentenceCount | 3 | | matches | | 0 | "i artists, and—apparently—bodies" | | 1 | "looked like a raised border" | | 2 | "something like it before—where, she couldn't" |
| |
| 53.69% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.463 | | wordCount | 1367 | | matches | | 0 | "neither struggle nor" | | 1 | "not dust, but something almost chalky, tinged faintly green" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 130 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 53 | | mean | 25.79 | | std | 23.42 | | cv | 0.908 | | sampleLengths | | 0 | 66 | | 1 | 60 | | 2 | 66 | | 3 | 4 | | 4 | 45 | | 5 | 41 | | 6 | 66 | | 7 | 1 | | 8 | 4 | | 9 | 6 | | 10 | 23 | | 11 | 51 | | 12 | 37 | | 13 | 5 | | 14 | 16 | | 15 | 95 | | 16 | 4 | | 17 | 14 | | 18 | 31 | | 19 | 11 | | 20 | 3 | | 21 | 37 | | 22 | 14 | | 23 | 56 | | 24 | 7 | | 25 | 11 | | 26 | 15 | | 27 | 3 | | 28 | 49 | | 29 | 9 | | 30 | 9 | | 31 | 56 | | 32 | 10 | | 33 | 27 | | 34 | 56 | | 35 | 3 | | 36 | 3 | | 37 | 52 | | 38 | 20 | | 39 | 56 | | 40 | 5 | | 41 | 7 | | 42 | 8 | | 43 | 39 | | 44 | 19 | | 45 | 14 | | 46 | 36 | | 47 | 60 | | 48 | 1 | | 49 | 2 |
| |
| 98.25% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 100 | | matches | | 0 | "been decommissioned" | | 1 | "were caked" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 154 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 130 | | ratio | 0.054 | | matches | | 0 | "Now it drew trespassers, graffiti artists, and—apparently—bodies." | | 1 | "A symbol she didn't recognize—two crescents facing inward, their points connected by a vertical line." | | 2 | "She turned the left hand over and noticed something pressed into the meat of the palm—a faint impression, as though the man had been gripping something small and circular when he died." | | 3 | "His stride pattern was even and measured—no stumbling, no frantic pacing." | | 4 | "The tunnel walls sweated condensation, the floor was slick with moisture, and the man's shoes were caked in a fine powder—not dust, but something almost chalky, tinged faintly green." | | 5 | "Old work, too—the exposed edges had oxidized, suggesting it had been there for years." | | 6 | "She'd seen something like it before—where, she couldn't say." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 988 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 28 | | adverbRatio | 0.02834008097165992 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.00708502024291498 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 130 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 130 | | mean | 10.52 | | std | 8.61 | | cv | 0.819 | | sampleLengths | | 0 | 9 | | 1 | 26 | | 2 | 16 | | 3 | 15 | | 4 | 9 | | 5 | 10 | | 6 | 34 | | 7 | 7 | | 8 | 11 | | 9 | 19 | | 10 | 3 | | 11 | 2 | | 12 | 31 | | 13 | 4 | | 14 | 19 | | 15 | 3 | | 16 | 8 | | 17 | 15 | | 18 | 41 | | 19 | 5 | | 20 | 11 | | 21 | 6 | | 22 | 6 | | 23 | 3 | | 24 | 8 | | 25 | 1 | | 26 | 2 | | 27 | 24 | | 28 | 1 | | 29 | 4 | | 30 | 6 | | 31 | 4 | | 32 | 19 | | 33 | 10 | | 34 | 15 | | 35 | 12 | | 36 | 2 | | 37 | 12 | | 38 | 1 | | 39 | 9 | | 40 | 2 | | 41 | 15 | | 42 | 10 | | 43 | 5 | | 44 | 16 | | 45 | 9 | | 46 | 10 | | 47 | 4 | | 48 | 2 | | 49 | 12 |
| |
| 63.08% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.4153846153846154 | | totalSentences | 130 | | uniqueOpeners | 54 | |
| 38.76% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 86 | | matches | | 0 | "Somewhere deeper in the tunnel," |
| | ratio | 0.012 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 21 | | totalSentences | 86 | | matches | | 0 | "He sat propped against the" | | 1 | "He held a notepad at" | | 2 | "She tilted her head and" | | 3 | "She reached into her coat" | | 4 | "She moved the light lower," | | 5 | "She photographed it with her" | | 6 | "She crouched again, this time" | | 7 | "She turned the left hand" | | 8 | "He stared at the impressions" | | 9 | "She followed them, scanning the" | | 10 | "He'd walked in alone, that" | | 11 | "His stride pattern was even" | | 12 | "He'd known exactly where he" | | 13 | "She swept her penlight along" | | 14 | "She examined the overcoat more" | | 15 | "She scraped a sample into" | | 16 | "She lifted the hem of" | | 17 | "His eyes moved from the" | | 18 | "She enlarged the image, studying" | | 19 | "She pocketed her penlight and" |
| | ratio | 0.244 | |
| 70.47% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 67 | | totalSentences | 86 | | matches | | 0 | "The abandoned Tube station smelled" | | 1 | "Harlow Quinn ducked beneath the" | | 2 | "Whatever they'd found down here" | | 3 | "Quinn crossed the buckled tiles" | | 4 | "Water dripped somewhere in the" | | 5 | "The station had been decommissioned" | | 6 | "The deceased lay at the" | | 7 | "He sat propped against the" | | 8 | "He held a notepad at" | | 9 | "Quinn crouched beside the body." | | 10 | "The man's skin held a" | | 11 | "Something else entirely." | | 12 | "She tilted her head and" | | 13 | "The muscles around the mouth" | | 14 | "Pallaver shifted his weight." | | 15 | "She reached into her coat" | | 16 | "The tunnel walls were damp," | | 17 | "She moved the light lower," | | 18 | "A mark etched into the" | | 19 | "A symbol she didn't recognize—two" |
| | ratio | 0.779 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 86 | | matches | | 0 | "Now it drew trespassers, graffiti" | | 1 | "Even in the dim, the" |
| | ratio | 0.023 | |
| 93.02% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 43 | | technicalSentenceCount | 3 | | matches | | 0 | "Male, mid-thirties by the look of him, dressed in a wool overcoat that cost more than Quinn's monthly salary." | | 1 | "He sat propped against the curved brick wall with his legs extended and his hands resting palms-up on his thighs, as though he'd simply decided to meditate and …" | | 2 | "She turned the left hand over and noticed something pressed into the meat of the palm—a faint impression, as though the man had been gripping something small an…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 2 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 32 | | tagDensity | 0.031 | | leniency | 0.063 | | rawRatio | 0 | | effectiveRatio | 0 | |