| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 16 | | adverbTagCount | 1 | | adverbTags | | | dialogueSentences | 56 | | tagDensity | 0.286 | | leniency | 0.571 | | rawRatio | 0.063 | | effectiveRatio | 0.036 | |
| 86.10% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1799 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "lazily" | | 1 | "sharply" | | 2 | "gently" | | 3 | "very" |
| |
| 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) | |
| 61.09% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1799 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "etched" | | 1 | "eyebrow" | | 2 | "pulsed" | | 3 | "gloom" | | 4 | "flickered" | | 5 | "tracing" | | 6 | "chill" | | 7 | "almost alive" | | 8 | "otherworldly" | | 9 | "racing" | | 10 | "loomed" | | 11 | "furrowed" |
| |
| 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 | 155 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 155 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 195 | | 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 | 3 | | markdownWords | 38 | | totalWords | 1788 | | ratio | 0.021 | | matches | | 0 | "\"The Veil is thinning. The rifts are growing. If the Market moves again, we may not be able to contain it.\"" | | 1 | "\"He knows. He's coming for us.\"" | | 2 | "\"Quinn. Don't trust the Market. Don't trust anyone. They're already here.\"" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 21 | | unquotedAttributions | 0 | | matches | (empty) | |
| 76.78% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 46 | | wordCount | 1434 | | uniqueNames | 15 | | maxNameDensity | 1.46 | | worstName | "Davies" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Davies" | | discoveredNames | | Tube | 2 | | Sergeant | 1 | | Davies | 21 | | Faint | 1 | | Veil | 2 | | Market | 3 | | Camden | 1 | | High | 1 | | Street | 1 | | Kowalski | 2 | | Aurora | 2 | | Eva | 6 | | British | 1 | | Museum | 1 | | London | 1 |
| | persons | | 0 | "Tube" | | 1 | "Sergeant" | | 2 | "Davies" | | 3 | "Market" | | 4 | "Kowalski" | | 5 | "Aurora" | | 6 | "Eva" | | 7 | "Museum" |
| | places | | 0 | "Veil" | | 1 | "Camden" | | 2 | "High" | | 3 | "Street" | | 4 | "London" |
| | globalScore | 0.768 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 102 | | glossingSentenceCount | 2 | | matches | | 0 | "as if welcoming the darkness above" | | 1 | "looked like blood" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1788 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 195 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 71 | | mean | 25.18 | | std | 19.29 | | cv | 0.766 | | sampleLengths | | 0 | 82 | | 1 | 12 | | 2 | 28 | | 3 | 33 | | 4 | 28 | | 5 | 53 | | 6 | 57 | | 7 | 14 | | 8 | 6 | | 9 | 45 | | 10 | 14 | | 11 | 9 | | 12 | 37 | | 13 | 65 | | 14 | 13 | | 15 | 22 | | 16 | 26 | | 17 | 6 | | 18 | 44 | | 19 | 12 | | 20 | 14 | | 21 | 50 | | 22 | 4 | | 23 | 15 | | 24 | 19 | | 25 | 28 | | 26 | 8 | | 27 | 57 | | 28 | 12 | | 29 | 27 | | 30 | 59 | | 31 | 7 | | 32 | 43 | | 33 | 70 | | 34 | 18 | | 35 | 70 | | 36 | 10 | | 37 | 13 | | 38 | 20 | | 39 | 23 | | 40 | 13 | | 41 | 26 | | 42 | 27 | | 43 | 2 | | 44 | 5 | | 45 | 21 | | 46 | 31 | | 47 | 9 | | 48 | 28 | | 49 | 5 |
| |
| 82.63% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 10 | | totalSentences | 155 | | matches | | 0 | "were splayed" | | 1 | "been nestled" | | 2 | "were carved" | | 3 | "were parted" | | 4 | "were cracked" | | 5 | "been led" | | 6 | "were scuffed" | | 7 | "was tucked" | | 8 | "were housed" | | 9 | "were filled" |
| |
| 97.83% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 261 | | matches | | 0 | "was pulling" | | 1 | "was pulling" | | 2 | "was burning" | | 3 | "was glowing" |
| |
| 54.95% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 195 | | ratio | 0.031 | | matches | | 0 | "His skin held the waxy sheen of death, but his eyes—his eyes were wrong." | | 1 | "Faint chalk marks glowed under the harsh crime scene lights—symbols that twisted like vines, looping and curling in ways that made my eyes ache." | | 2 | "The symbols weren't just drawn—they were carved into the wall, shallow grooves filled with something dark and sticky." | | 3 | "The air that wafted up was thick with the scent of incense and something sharper—ozone, maybe, or the tang of old magic." | | 4 | "The crowd was a mix of the mundane and the otherworldly—men in sharp suits haggling with creatures that had too many eyes, women in flowing robes examining vials of liquid that shifted colour with every breath." | | 5 | "But someone had added other lines, other stations—places that didn't exist on any official map." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 584 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 22 | | adverbRatio | 0.03767123287671233 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.005136986301369863 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 195 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 195 | | mean | 9.17 | | std | 5.92 | | cv | 0.646 | | sampleLengths | | 0 | 21 | | 1 | 20 | | 2 | 16 | | 3 | 14 | | 4 | 11 | | 5 | 10 | | 6 | 2 | | 7 | 16 | | 8 | 9 | | 9 | 3 | | 10 | 27 | | 11 | 6 | | 12 | 9 | | 13 | 15 | | 14 | 4 | | 15 | 14 | | 16 | 24 | | 17 | 15 | | 18 | 9 | | 19 | 18 | | 20 | 5 | | 21 | 5 | | 22 | 19 | | 23 | 1 | | 24 | 5 | | 25 | 9 | | 26 | 4 | | 27 | 2 | | 28 | 3 | | 29 | 11 | | 30 | 8 | | 31 | 9 | | 32 | 12 | | 33 | 2 | | 34 | 6 | | 35 | 8 | | 36 | 2 | | 37 | 7 | | 38 | 12 | | 39 | 17 | | 40 | 3 | | 41 | 5 | | 42 | 13 | | 43 | 22 | | 44 | 14 | | 45 | 16 | | 46 | 5 | | 47 | 8 | | 48 | 3 | | 49 | 7 |
| |
| 41.79% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 16 | | diversityRatio | 0.26153846153846155 | | totalSentences | 195 | | uniqueOpeners | 51 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 12 | | totalSentences | 139 | | matches | | 0 | "Too wide, too bright, like" | | 1 | "Instead, I knelt again, this" | | 2 | "Just more tile, more graffiti," | | 3 | "Instead, I ran my fingers" | | 4 | "Instead, I flagged down a" | | 5 | "Instead, I knocked twice, then" | | 6 | "Then he sighed, his breath" | | 7 | "Instead, I pulled out my" | | 8 | "Instead, I turned to the" | | 9 | "Instead, I pulled out my" | | 10 | "Instead, I turned back to" | | 11 | "Instead, I pulled the compass" |
| | ratio | 0.086 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 39 | | totalSentences | 139 | | matches | | 0 | "I crouched beside the body," | | 1 | "His skin held the waxy" | | 2 | "I adjusted the leather strap" | | 3 | "I took it, turning it" | | 4 | "I stepped closer, my boots" | | 5 | "His wounds were clean, precise." | | 6 | "I didn't answer." | | 7 | "His lips were parted, tongue" | | 8 | "I stood, brushing dust from" | | 9 | "I didn't answer." | | 10 | "He'd been led." | | 11 | "I blinked, and they were" | | 12 | "I ignored him." | | 13 | "I turned back to the" | | 14 | "I pocketed the compass." | | 15 | "I didn't answer." | | 16 | "I plucked it free and" | | 17 | "I didn't answer." | | 18 | "I ignored him, my gaze" | | 19 | "I followed it, weaving through" |
| | ratio | 0.281 | |
| 78.71% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 106 | | totalSentences | 139 | | matches | | 0 | "The air smelled of damp" | | 1 | "I crouched beside the body," | | 2 | "The victim lay sprawled on" | | 3 | "His skin held the waxy" | | 4 | "Detective Sergeant Davies didn't look" | | 5 | "I adjusted the leather strap" | | 6 | "The victim's fingers were splayed," | | 7 | "Davies held up a small" | | 8 | "The needle spun lazily, never" | | 9 | "I took it, turning it" | | 10 | "The metal was cold, too" | | 11 | "Davies gestured to the wall" | | 12 | "I stepped closer, my boots" | | 13 | "The symbols weren't just drawn—they" | | 14 | "Blood, but not the victim's." | | 15 | "His wounds were clean, precise." | | 16 | "A single cut across the" | | 17 | "Davies raised an eyebrow." | | 18 | "I didn't answer." | | 19 | "His lips were parted, tongue" |
| | ratio | 0.763 | |
| 35.97% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 139 | | matches | | 0 | "As if whatever had been" |
| | ratio | 0.007 | |
| 27.65% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 62 | | technicalSentenceCount | 10 | | matches | | 0 | "The air smelled of damp stone and something older, something that clung to the back of my throat like copper pennies." | | 1 | "The victim lay sprawled on his back, arms flung wide as if welcoming the darkness above." | | 2 | "The metal was cold, too cold for something that had been nestled against a body." | | 3 | "Faint chalk marks glowed under the harsh crime scene lights—symbols that twisted like vines, looping and curling in ways that made my eyes ache." | | 4 | "A man who might have known his way around the underground." | | 5 | "The station exit spat us out onto Camden High Street, the late afternoon sun doing little to warm the chill that had settled in my bones." | | 6 | "The air that wafted up was thick with the scent of incense and something sharper—ozone, maybe, or the tang of old magic." | | 7 | "Jars of glowing liquid, bundles of dried herbs, weapons that hummed with unnatural energy." | | 8 | "The crowd was a mix of the mundane and the otherworldly—men in sharp suits haggling with creatures that had too many eyes, women in flowing robes examining vial…" | | 9 | "He smiled when he saw me, revealing teeth that were too sharp, too numerous." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 16 | | uselessAdditionCount | 4 | | matches | | 0 | "I adjusted, the worn band digging into my wrist" | | 1 | "I turned back, my gaze sweeping over the body" | | 2 | "I leaned in, my voice low" | | 3 | "Davies said, his voice tight" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 56 | | tagDensity | 0.143 | | leniency | 0.286 | | rawRatio | 0.125 | | effectiveRatio | 0.036 | |