| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 3 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 97.21% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1792 | | totalAiIsmAdverbs | 1 | | 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) | |
| 46.99% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1792 | | totalAiIsms | 19 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | |
| | highlights | | 0 | "measured" | | 1 | "footfall" | | 2 | "familiar" | | 3 | "scanning" | | 4 | "pulse" | | 5 | "facade" | | 6 | "flickered" | | 7 | "shimmered" | | 8 | "weight" | | 9 | "scanned" | | 10 | "warmth" | | 11 | "pulsed" | | 12 | "standard" | | 13 | "intricate" | | 14 | "loomed" | | 15 | "rhythmic" | | 16 | "mechanical" | | 17 | "resonated" | | 18 | "footsteps" |
| |
| 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 | 150 | | matches | (empty) | |
| 85.71% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 4 | | narrationSentences | 150 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 152 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 55 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1769 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 64 | | wordCount | 1752 | | uniqueNames | 33 | | maxNameDensity | 0.74 | | worstName | "Quinn" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Street" | | discoveredNames | | Soho | 2 | | Bateman | 1 | | Street | 4 | | Raven | 2 | | Nest | 2 | | Tuesday | 1 | | Vauxhall | 1 | | Greek | 1 | | Herrera | 9 | | United | 1 | | Kingdom | 1 | | Wardour | 1 | | Saint | 1 | | Christopher | 1 | | Tottenham | 1 | | Court | 1 | | Road | 1 | | Camden | 1 | | High | 1 | | Thursday | 1 | | Havers | 2 | | Met | 2 | | Victorian | 1 | | Portland | 1 | | Tube | 2 | | Marrakech | 1 | | Veil | 1 | | Market | 1 | | Quinn | 13 | | Morris | 3 | | Major | 1 | | Crimes | 1 | | Monday | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Herrera" | | 3 | "Saint" | | 4 | "Christopher" | | 5 | "Havers" | | 6 | "Quinn" | | 7 | "Morris" | | 8 | "Major" |
| | places | | 0 | "Soho" | | 1 | "Bateman" | | 2 | "Street" | | 3 | "Vauxhall" | | 4 | "Greek" | | 5 | "United" | | 6 | "Kingdom" | | 7 | "Wardour" | | 8 | "Tottenham" | | 9 | "Court" | | 10 | "Road" | | 11 | "Camden" | | 12 | "High" | | 13 | "Portland" | | 14 | "Market" |
| | globalScore | 1 | | windowScore | 1 | |
| 46.91% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 97 | | glossingSentenceCount | 4 | | matches | | 0 | "quite fear" | | 1 | "looked like a cross between a Marrakech s" | | 2 | "light that seemed to have weight, to fall like liquid onto the merchandise below" | | 3 | "tattoos that seemed to shift and rearrange across his forearms—tracked her with flat, assessing eyes as she passed" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.565 | | wordCount | 1769 | | matches | | 0 | "not at her, but at the market behind him, like a man checking" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 3 | | totalSentences | 152 | | matches | | 0 | "knew that place" | | 1 | "known that the" | | 2 | "checking that he" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 41 | | mean | 43.15 | | std | 28.18 | | cv | 0.653 | | sampleLengths | | 0 | 69 | | 1 | 14 | | 2 | 61 | | 3 | 51 | | 4 | 68 | | 5 | 60 | | 6 | 27 | | 7 | 2 | | 8 | 45 | | 9 | 9 | | 10 | 62 | | 11 | 38 | | 12 | 91 | | 13 | 13 | | 14 | 8 | | 15 | 67 | | 16 | 43 | | 17 | 51 | | 18 | 6 | | 19 | 105 | | 20 | 81 | | 21 | 34 | | 22 | 26 | | 23 | 57 | | 24 | 92 | | 25 | 32 | | 26 | 89 | | 27 | 39 | | 28 | 50 | | 29 | 23 | | 30 | 84 | | 31 | 12 | | 32 | 54 | | 33 | 35 | | 34 | 65 | | 35 | 9 | | 36 | 25 | | 37 | 6 | | 38 | 11 | | 39 | 52 | | 40 | 3 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 150 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 282 | | matches | | 0 | "was running" | | 1 | "was already drying" | | 2 | "was talking" | | 3 | "wasn't dealing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 23 | | semicolonCount | 2 | | flaggedSentences | 19 | | totalSentences | 152 | | ratio | 0.125 | | matches | | 0 | "Quinn's boots struck the slick cobblestones in a rhythm she hadn't felt since her army days—measured, controlled, every footfall placed with purpose despite the burning in her lungs." | | 1 | "The connection wasn't lost on her—her suspect had been circling back toward familiar ground before she'd flushed him from the alley behind Greek Street." | | 2 | "The gap opened onto Wardour Street and she caught a flash of him—olive skin slicked with rain, that Saint Christopher medallion catching light as it bounced against his chest—before he disappeared into a crowd spilling out of a late-night dim sum place." | | 3 | "No—past it." | | 4 | "He ducked into Camden High Street and the crowd thickened again—late Thursday revellers, tourists who didn't know enough to get out of the rain, rough sleepers huddled in doorways." | | 5 | "The street bled colour—red from a kebab shop, sickly yellow from a betting parlour, the blue pulse of a phone screen held by a kid in a doorway." | | 6 | "She pulled out her phone—one bar of signal that flickered to zero as she watched." | | 7 | "The stairwell beyond smelled of rust and stagnant water and something else—something sweet and chemical that she couldn't place." | | 8 | "She didn't carry a firearm—Met regs, and she'd never had cause to push for authorization." | | 9 | "The institutional tile gave way to older brick, then to stone that looked Victorian, then to something rougher still—hand-hewn blocks of Portland limestone stained with what might have been centuries of soot." | | 10 | "It was a Tube station—she could see the bones of it, the curved walls, the platform edge, the dark mouths of tunnels at either end—but it had been transformed into something that looked like a cross between a Marrakech souk and a fever dream." | | 11 | "Quinn's eyes caught details and her brain tried to file them and jam after jam built up: a woman whose fingers were too long by at least two knuckles; a man whose shadow moved independently of him; a child, maybe eight or nine, whose eyes reflected light like a cat's when he turned his head." | | 12 | "He was talking to the vendor—an old woman who sat on a high stool and watched him with an expression of wary familiarity." | | 13 | "Herrera wasn't dealing—he was restocking." | | 14 | "Not because of the strangeness—though that alone should have been enough—but because of what admitting this place existed would mean." | | 15 | "The report was a lie—she'd known that the day she read it." | | 16 | "He looked back over his shoulder—not at her, but at the market behind him, like a man checking that he wasn't followed." | | 17 | "A vendor at the nearest stall—a thin man with intricate tattoos that seemed to shift and rearrange across his forearms—tracked her with flat, assessing eyes as she passed." | | 18 | "The air beyond was cooler and carried a sound she almost recognized—a low, rhythmic thrum, not mechanical, not natural, something in between that resonated in the bones of her inner ear." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1785 | | adjectiveStacks | 1 | | stackExamples | | 0 | "strange hand-blown fixtures," |
| | adverbCount | 46 | | adverbRatio | 0.0257703081232493 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.004481792717086834 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 152 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 152 | | mean | 11.64 | | std | 10.26 | | cv | 0.882 | | sampleLengths | | 0 | 17 | | 1 | 28 | | 2 | 24 | | 3 | 4 | | 4 | 3 | | 5 | 7 | | 6 | 18 | | 7 | 4 | | 8 | 15 | | 9 | 24 | | 10 | 2 | | 11 | 1 | | 12 | 7 | | 13 | 11 | | 14 | 30 | | 15 | 13 | | 16 | 13 | | 17 | 42 | | 18 | 4 | | 19 | 3 | | 20 | 12 | | 21 | 13 | | 22 | 5 | | 23 | 2 | | 24 | 21 | | 25 | 9 | | 26 | 11 | | 27 | 5 | | 28 | 2 | | 29 | 2 | | 30 | 3 | | 31 | 10 | | 32 | 3 | | 33 | 29 | | 34 | 9 | | 35 | 2 | | 36 | 2 | | 37 | 15 | | 38 | 6 | | 39 | 28 | | 40 | 9 | | 41 | 1 | | 42 | 11 | | 43 | 3 | | 44 | 23 | | 45 | 5 | | 46 | 2 | | 47 | 15 | | 48 | 7 | | 49 | 2 |
| |
| 53.95% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.375 | | totalSentences | 152 | | uniqueOpeners | 57 | |
| 50.13% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 133 | | matches | | 0 | "More like desperation." | | 1 | "Then he stepped into the" |
| | ratio | 0.015 | |
| 81.65% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 46 | | totalSentences | 133 | | matches | | 0 | "She keyed her radio." | | 1 | "She knew that place." | | 2 | "He vaulted a low railing" | | 3 | "She pushed through bodies." | | 4 | "He crossed against traffic and" | | 5 | "She could see his breathing" | | 6 | "He wasn't trained for this." | | 7 | "He glanced back." | | 8 | "He ducked into Camden High" | | 9 | "She lost him at the" | | 10 | "She turned a slow circle," | | 11 | "She wiped water from her" | | 12 | "It was closing." | | 13 | "She pulled out her phone—one" | | 14 | "She glanced at her worn" | | 15 | "She'd been off shift when" | | 16 | "She caught it with her" | | 17 | "She didn't carry a firearm—Met" | | 18 | "She was second-guessing that now" | | 19 | "She was below street level" |
| | ratio | 0.346 | |
| 50.23% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 109 | | totalSentences | 133 | | matches | | 0 | "Quinn's boots struck the slick" | | 1 | "She keyed her radio." | | 2 | "Nothing but static." | | 3 | "The green neon of the" | | 4 | "She knew that place." | | 5 | "The connection wasn't lost on" | | 6 | "The file on her desk" | | 7 | "The file didn't explain why" | | 8 | "He vaulted a low railing" | | 9 | "Quinn followed without breaking stride," | | 10 | "The gap opened onto Wardour" | | 11 | "She pushed through bodies." | | 12 | "Elbows and complaints." | | 13 | "Someone's umbrella caught her across" | | 14 | "Herrera was already across the" | | 15 | "He crossed against traffic and" | | 16 | "Quinn dodged the same van" | | 17 | "She could see his breathing" | | 18 | "He wasn't trained for this." | | 19 | "He glanced back." |
| | ratio | 0.82 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 133 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 68 | | technicalSentenceCount | 14 | | matches | | 0 | "He ducked into Camden High Street and the crowd thickened again—late Thursday revellers, tourists who didn't know enough to get out of the rain, rough sleepers …" | | 1 | "Rain running in channels down the sharp line of her jaw, soaking through her collar." | | 2 | "She'd been off shift when she spotted Herrera coming out of the Raven's Nest, and she'd made the decision to follow on foot instead of calling it in because cal…" | | 3 | "Emergency lighting that hadn't been emergency for decades, rewired now with a low amber glow that came from no bulb she recognized." | | 4 | "The institutional tile gave way to older brick, then to stone that looked Victorian, then to something rougher still—hand-hewn blocks of Portland limestone stai…" | | 5 | "It was a Tube station—she could see the bones of it, the curved walls, the platform edge, the dark mouths of tunnels at either end—but it had been transformed i…" | | 6 | "Lanterns hung from the arched ceiling on chains of black iron, casting pools of light that seemed to have weight, to fall like liquid onto the merchandise below…" | | 7 | "Every detective who'd worked the strange-adjacent cases had heard rumours." | | 8 | "A black market for things that weren't supposed to exist, operating somewhere underground, moving locations to avoid detection." | | 9 | "The air tasted of copper and anise and something that made the fillings in her back teeth ache." | | 10 | "He was talking to the vendor—an old woman who sat on a high stool and watched him with an expression of wary familiarity." | | 11 | "For the questions she'd been asking about DS Morris for three years now, the ones that had earned her a mandatory psych evaluation and a quiet demotion from Maj…" | | 12 | "The amber light still pulsed gently in those strange hand-blown fixtures, marking the path back to the street, to the rain, to a world that operated on rules sh…" | | 13 | "A vendor at the nearest stall—a thin man with intricate tattoos that seemed to shift and rearrange across his forearms—tracked her with flat, assessing eyes as …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 3 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0 | | effectiveRatio | 0 | |