| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 12 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1626 | | 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) | |
| 72.32% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1626 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "determined" | | 1 | "scanned" | | 2 | "could feel" | | 3 | "weight" | | 4 | "resolving" | | 5 | "flicker" | | 6 | "framework" | | 7 | "streaming" | | 8 | "measured" |
| |
| 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 | 107 | | matches | (empty) | |
| 62.75% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 4 | | hedgeCount | 2 | | narrationSentences | 107 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 113 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 53 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1612 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 53 | | wordCount | 1517 | | uniqueNames | 22 | | maxNameDensity | 0.99 | | worstName | "Quinn" | | maxWindowNameDensity | 3 | | worstWindowName | "Quinn" | | discoveredNames | | Shaftesbury | 1 | | Avenue | 1 | | Quinn | 15 | | Tomás | 3 | | Herrera | 6 | | Seville | 1 | | Raven | 1 | | Nest | 1 | | Soho | 2 | | Glock | 4 | | Camden | 1 | | High | 1 | | Street | 1 | | Underground | 2 | | Morris | 5 | | Richard | 1 | | Docklands | 2 | | Putney | 1 | | Sunday | 1 | | Tube | 1 | | Veil | 1 | | Market | 1 |
| | persons | | 0 | "Quinn" | | 1 | "Tomás" | | 2 | "Herrera" | | 3 | "Raven" | | 4 | "Morris" | | 5 | "Richard" |
| | places | | 0 | "Shaftesbury" | | 1 | "Avenue" | | 2 | "Seville" | | 3 | "Soho" | | 4 | "Camden" | | 5 | "High" | | 6 | "Street" | | 7 | "Docklands" | | 8 | "Putney" |
| | globalScore | 1 | | windowScore | 0.667 | |
| 85.06% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 77 | | glossingSentenceCount | 2 | | matches | | 0 | "quite add up" | | 1 | "looked like lantern light" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1612 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 113 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 34 | | mean | 47.41 | | std | 28.03 | | cv | 0.591 | | sampleLengths | | 0 | 69 | | 1 | 31 | | 2 | 29 | | 3 | 106 | | 4 | 51 | | 5 | 87 | | 6 | 41 | | 7 | 103 | | 8 | 46 | | 9 | 39 | | 10 | 103 | | 11 | 83 | | 12 | 41 | | 13 | 54 | | 14 | 17 | | 15 | 73 | | 16 | 51 | | 17 | 34 | | 18 | 11 | | 19 | 14 | | 20 | 20 | | 21 | 45 | | 22 | 33 | | 23 | 63 | | 24 | 18 | | 25 | 21 | | 26 | 24 | | 27 | 89 | | 28 | 40 | | 29 | 50 | | 30 | 45 | | 31 | 67 | | 32 | 6 | | 33 | 8 |
| |
| 79.03% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 8 | | totalSentences | 107 | | matches | | 0 | "been sealed" | | 1 | "been closed" | | 2 | "was rusted" | | 3 | "been pulled" | | 4 | "been sealed" | | 5 | "were tiled" | | 6 | "been trained" | | 7 | "were made" | | 8 | "been turned" |
| |
| 89.81% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 242 | | matches | | 0 | "was doing" | | 1 | "was, standing" | | 2 | "was putting" | | 3 | "was doing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 113 | | ratio | 0.088 | | matches | | 0 | "License revoked fourteen months ago for administering unauthorized treatments—the details of which had been sealed with a thoroughness that made her teeth itch." | | 1 | "Tonight she'd spotted him leaving the Raven's Nest, that dingy Soho bar with its sickly green neon sign, and something about the way he'd clocked her—one sharp glance, immediate recognition, the kind of look that said he knew exactly who she was—had triggered the chase before she'd consciously decided to pursue." | | 2 | "But she'd read the file on that scar along his left forearm—knife attack, the details murky—and anyone who ran that hard from a police detective had reasons they didn't want examined." | | 3 | "There—a flash of movement near the old Underground entrance, the one that had been closed since the early nineties." | | 4 | "She thumbed her phone—no signal, not even a single bar." | | 5 | "She'd let nearly everything else go instead—the flat in Putney, the Sunday dinners with her sister's family, the possibility of sleep that didn't involve two fingers of whiskey first—but not the case." | | 6 | "The steps were cracked, weeds pushing through the concrete, but the wear patterns told a different story—smooth channels where feet had passed, recently, in numbers." | | 7 | "The walls were tiled in the old Underground style, cream and burgundy, but someone had scratched symbols into the glaze—patterns that repeated and interlocked in ways that made her eyes slide off them if she looked too long." | | 8 | "The woman's hand closed on her shoulder, and the grip was wrong—too strong, the fingers too rigid, as if the bones beneath the skin were made of something denser than calcium." | | 9 | "The woman's lips didn't move, but the faintest shift in her gaze—a quick, involuntary flick toward the corridor beyond—told Quinn everything." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1533 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 46 | | adverbRatio | 0.030006523157208087 | | lyAdverbCount | 17 | | lyAdverbRatio | 0.011089367253750815 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 113 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 113 | | mean | 14.27 | | std | 10.72 | | cv | 0.751 | | sampleLengths | | 0 | 21 | | 1 | 29 | | 2 | 3 | | 3 | 16 | | 4 | 6 | | 5 | 6 | | 6 | 19 | | 7 | 3 | | 8 | 14 | | 9 | 12 | | 10 | 7 | | 11 | 29 | | 12 | 9 | | 13 | 23 | | 14 | 18 | | 15 | 6 | | 16 | 3 | | 17 | 11 | | 18 | 51 | | 19 | 7 | | 20 | 10 | | 21 | 19 | | 22 | 15 | | 23 | 5 | | 24 | 31 | | 25 | 16 | | 26 | 4 | | 27 | 21 | | 28 | 21 | | 29 | 13 | | 30 | 16 | | 31 | 19 | | 32 | 34 | | 33 | 7 | | 34 | 13 | | 35 | 26 | | 36 | 5 | | 37 | 2 | | 38 | 10 | | 39 | 22 | | 40 | 4 | | 41 | 22 | | 42 | 10 | | 43 | 40 | | 44 | 27 | | 45 | 9 | | 46 | 34 | | 47 | 5 | | 48 | 32 | | 49 | 3 |
| |
| 44.25% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 15 | | diversityRatio | 0.34513274336283184 | | totalSentences | 113 | | uniqueOpeners | 39 | |
| 32.68% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 102 | | matches | | 0 | "Somewhere beneath her feet, in" |
| | ratio | 0.01 | |
| 78.82% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 36 | | totalSentences | 102 | | matches | | 0 | "He was fast." | | 1 | "She keyed her radio without" | | 2 | "She'd been watching him for" | | 3 | "He'd surfaced on her radar" | | 4 | "He cut left onto a" | | 5 | "Her hand went to the" | | 6 | "He hadn't shown a weapon." | | 7 | "He hit the end of" | | 8 | "She scanned the street, breathing" | | 9 | "She pulled up short at" | | 10 | "She thumbed her phone—no signal," | | 11 | "She knew this feeling." | | 12 | "She'd felt it three years" | | 13 | "She'd spent three years trying" | | 14 | "She hadn't let it go." | | 15 | "She'd let nearly everything else" | | 16 | "She pulled the fence back" | | 17 | "It was a door that" | | 18 | "She started down." | | 19 | "She could hear sounds now:" |
| | ratio | 0.353 | |
| 38.43% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 86 | | totalSentences | 102 | | matches | | 0 | "The rain came sideways off" | | 1 | "He was fast." | | 2 | "Quinn's boots hammered the wet" | | 3 | "She keyed her radio without" | | 4 | "Static hissed back." | | 5 | "The rain was doing something" | | 6 | "Soho had dead spots that" | | 7 | "She'd been watching him for" | | 8 | "Tomás Herrera, twenty-nine, born in" | | 9 | "License revoked fourteen months ago" | | 10 | "He'd surfaced on her radar" | | 11 | "A name whispered by informants" | | 12 | "Tonight she'd spotted him leaving" | | 13 | "He cut left onto a" | | 14 | "Quinn followed, nearly losing her" | | 15 | "The lane was narrow, barely" | | 16 | "Her hand went to the" | | 17 | "He hadn't shown a weapon." | | 18 | "The words ripped from her" | | 19 | "Herrera didn't even flinch." |
| | ratio | 0.843 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 102 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 55 | | technicalSentenceCount | 11 | | matches | | 0 | "Faster than she'd expected from someone who spent his nights stitching people up in back rooms." | | 1 | "Eleven days of cold coffee in unmarked cars, of cross-referencing CCTV footage until her eyes burned, of sifting through the debris of a life that didn't quite …" | | 2 | "License revoked fourteen months ago for administering unauthorized treatments—the details of which had been sealed with a thoroughness that made her teeth itch." | | 3 | "Tonight she'd spotted him leaving the Raven's Nest, that dingy Soho bar with its sickly green neon sign, and something about the way he'd clocked her—one sharp …" | | 4 | "Through the gap she could see concrete steps descending into blackness, and from somewhere far below, a faint amber glow that had no business being there." | | 5 | "Three years of pulling threads that led nowhere, or worse, that led to locked doors and polite refusals and the quiet suggestion from her DCI that maybe it was …" | | 6 | "She'd let nearly everything else go instead—the flat in Putney, the Sunday dinners with her sister's family, the possibility of sleep that didn't involve two fi…" | | 7 | "The walls were tiled in the old Underground style, cream and burgundy, but someone had scratched symbols into the glaze—patterns that repeated and interlocked i…" | | 8 | "She could hear sounds now: the murmur of voices, the clink of glass or metal, a low thrumming that might have been music or might have been something else entir…" | | 9 | "The woman's hand closed on her shoulder, and the grip was wrong—too strong, the fingers too rigid, as if the bones beneath the skin were made of something dense…" | | 10 | "Somewhere beneath her feet, in the hidden market that had no name she knew yet, Tomás Herrera was putting distance between himself and the surface world." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 6 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 12 | | tagDensity | 0.25 | | leniency | 0.5 | | rawRatio | 0 | | effectiveRatio | 0 | |