| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 20 | | tagDensity | 0.45 | | leniency | 0.9 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1506 | | 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) | |
| 53.52% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1506 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "weight" | | 1 | "maw" | | 2 | "flickered" | | 3 | "silence" | | 4 | "streaming" | | 5 | "echoed" | | 6 | "gloom" | | 7 | "mosaic" | | 8 | "etched" | | 9 | "pulse" | | 10 | "pulsed" |
| |
| 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 | 98 | | matches | (empty) | |
| 84.55% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 1 | | narrationSentences | 98 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 109 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 44 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1519 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 29 | | wordCount | 1346 | | uniqueNames | 12 | | maxNameDensity | 0.59 | | worstName | "Quinn" | | maxWindowNameDensity | 1 | | worstWindowName | "Quinn" | | discoveredNames | | Quinn | 8 | | Tomás | 2 | | Herrera | 5 | | Soho | 1 | | Raven | 1 | | Nest | 1 | | Saint | 2 | | Christopher | 2 | | Seville | 1 | | London | 1 | | Tube | 1 | | Morris | 4 |
| | persons | | 0 | "Quinn" | | 1 | "Tomás" | | 2 | "Herrera" | | 3 | "Saint" | | 4 | "Christopher" | | 5 | "Morris" |
| | places | | 0 | "Soho" | | 1 | "Raven" | | 2 | "Seville" | | 3 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 75.37% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 67 | | glossingSentenceCount | 2 | | matches | | 0 | "quite human" | | 1 | "felt like grime but smelled like copper" | | 2 | "smelled like copper" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1519 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 109 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 42 | | mean | 36.17 | | std | 29.24 | | cv | 0.808 | | sampleLengths | | 0 | 75 | | 1 | 89 | | 2 | 12 | | 3 | 8 | | 4 | 110 | | 5 | 38 | | 6 | 51 | | 7 | 27 | | 8 | 14 | | 9 | 84 | | 10 | 96 | | 11 | 29 | | 12 | 23 | | 13 | 8 | | 14 | 10 | | 15 | 11 | | 16 | 18 | | 17 | 7 | | 18 | 51 | | 19 | 7 | | 20 | 69 | | 21 | 43 | | 22 | 16 | | 23 | 4 | | 24 | 86 | | 25 | 72 | | 26 | 41 | | 27 | 37 | | 28 | 12 | | 29 | 20 | | 30 | 5 | | 31 | 44 | | 32 | 6 | | 33 | 13 | | 34 | 29 | | 35 | 61 | | 36 | 30 | | 37 | 69 | | 38 | 28 | | 39 | 52 | | 40 | 11 | | 41 | 3 |
| |
| 94.52% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 98 | | matches | | 0 | "been closed" | | 1 | "were covered" | | 2 | "was made" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 210 | | matches | | 0 | "was losing" | | 1 | "were burning" | | 2 | "was measuring" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 109 | | ratio | 0.11 | | matches | | 0 | "She'd been on her feet for eleven hours, and the worn leather watch on her left wrist had stopped keeping time somewhere around the third — the battery was dead, but she never replaced it." | | 1 | "The man ahead of her, Tomás Herrera, moved through the wet Soho streets like a fox through a burning field — quick, deliberate, never wasting a step." | | 2 | "She'd recognized him from the file — Tomás Herrera, twenty-nine, born in Seville, former NHS paramedic who'd lost his license for administering unauthorized treatments to patients who weren't quite human." | | 3 | "She was faster, once — eighteen years ago, before the desk work and the late nights and the weight of a dead partner's watch on her wrist." | | 4 | "His warm brown eyes met hers for half a second, and she saw something in them — not fear." | | 5 | "Something flickered across his face — a wince, almost." | | 6 | "The sounds of the city faded above her — the rain, the traffic, the distant wail of a siren — replaced by a deep, resonant silence that pressed against her ears." | | 7 | "The walls were covered in old posters, faded and peeling, advertising products that didn't exist — tonics for the blood, salves for the soul, a dentist who promised painless extractions \"for all species.\" Quinn's skin prickled." | | 8 | "The corridor bent left, then right, and then opened into a wider space — an old ticket hall, its ceiling lost in shadow, its floor a mosaic of cracked tiles." | | 9 | "\"I know.\" He turned, and in his palm he held a small white object — a carved piece of bone, smooth and polished, etched with symbols she didn't recognize." | | 10 | "The scar on Herrera's left forearm caught the flickering light — a long, pale line running from wrist to elbow, the kind of scar that came from a knife and a fight you barely survived." | | 11 | "The air that rushed out was thick and strange — incense and candle smoke and something else, something old and mineral, like the smell of a cave that had never seen the sun." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1337 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 27 | | adverbRatio | 0.02019446522064323 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.0029917726252804786 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 109 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 109 | | mean | 13.94 | | std | 10.84 | | cv | 0.778 | | sampleLengths | | 0 | 24 | | 1 | 35 | | 2 | 6 | | 3 | 10 | | 4 | 27 | | 5 | 29 | | 6 | 33 | | 7 | 3 | | 8 | 9 | | 9 | 3 | | 10 | 5 | | 11 | 11 | | 12 | 28 | | 13 | 24 | | 14 | 30 | | 15 | 9 | | 16 | 8 | | 17 | 10 | | 18 | 28 | | 19 | 3 | | 20 | 27 | | 21 | 14 | | 22 | 6 | | 23 | 1 | | 24 | 3 | | 25 | 19 | | 26 | 1 | | 27 | 4 | | 28 | 14 | | 29 | 11 | | 30 | 27 | | 31 | 15 | | 32 | 19 | | 33 | 4 | | 34 | 8 | | 35 | 4 | | 36 | 34 | | 37 | 8 | | 38 | 6 | | 39 | 44 | | 40 | 13 | | 41 | 8 | | 42 | 8 | | 43 | 11 | | 44 | 12 | | 45 | 8 | | 46 | 4 | | 47 | 6 | | 48 | 11 | | 49 | 9 |
| |
| 36.24% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 15 | | diversityRatio | 0.28440366972477066 | | totalSentences | 109 | | uniqueOpeners | 31 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 90 | | matches | | 0 | "Instead, he'd led her on" | | 1 | "Then he turned and ran" | | 2 | "Then he said," | | 3 | "Then at him." |
| | ratio | 0.044 | |
| 33.33% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 42 | | totalSentences | 90 | | matches | | 0 | "She'd been on her feet" | | 1 | "She didn't need it to" | | 2 | "He cut left through a" | | 3 | "He didn't stop." | | 4 | "He didn't even look back." | | 5 | "She'd had him once, an" | | 6 | "He'd come out of the" | | 7 | "She'd recognized him from the" | | 8 | "She'd been waiting for him" | | 9 | "He was fast." | | 10 | "She was faster, once —" | | 11 | "She pushed harder, her military" | | 12 | "He glanced back." | | 13 | "His warm brown eyes met" | | 14 | "He was measuring her." | | 15 | "She'd read the file." | | 16 | "She'd been here before." | | 17 | "She'd spent three years trying" | | 18 | "He stopped, turned, and looked" | | 19 | "His voice carried up the" |
| | ratio | 0.467 | |
| 26.67% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 78 | | totalSentences | 90 | | matches | | 0 | "The rain came down in" | | 1 | "She'd been on her feet" | | 2 | "Morris had given it to" | | 3 | "She didn't need it to" | | 4 | "The man ahead of her," | | 5 | "He cut left through a" | | 6 | "The rain had driven most" | | 7 | "The word came out ragged," | | 8 | "He didn't stop." | | 9 | "He didn't even look back." | | 10 | "She'd had him once, an" | | 11 | "The distinctive green neon sign" | | 12 | "He'd come out of the" | | 13 | "She'd recognized him from the" | | 14 | "The file didn't say what" | | 15 | "The file was full of" | | 16 | "She'd been waiting for him" | | 17 | "He was fast." | | 18 | "She was faster, once —" | | 19 | "She pushed harder, her military" |
| | ratio | 0.867 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 90 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 44 | | technicalSentenceCount | 11 | | matches | | 0 | "The rain came down in sheets, hammering the pavement so hard it bounced back up in a fine mist that clung to Quinn's face." | | 1 | "He cut left through a gap between a shuttered kebab shop and a launderette, and Quinn followed, her boots splashing through a gutter that had become a small riv…" | | 2 | "She'd recognized him from the file — Tomás Herrera, twenty-nine, born in Seville, former NHS paramedic who'd lost his license for administering unauthorized tre…" | | 3 | "Three years ago, on a case that had ended with DS Morris dead in a drainage tunnel beneath the city, his body unmarked, his eyes wide open, his expression one o…" | | 4 | "She'd spent three years trying to prove it, and every path had led her to the same dead end: people who didn't exist, places that weren't on any map, a world th…" | | 5 | "Quinn stood at the top of the stairs, rain streaming off her closely cropped salt-and-pepper hair, her hand resting on the worn leather of her watch." | | 6 | "The stairs were slick with moss and old water, and she had to feel her way along the wall, her fingers trailing over tiles that were cold and wet and covered in…" | | 7 | "At the bottom of the stairs, a corridor stretched ahead of her, lit by a single bare bulb that flickered and buzzed." | | 8 | "The scar on Herrera's left forearm caught the flickering light — a long, pale line running from wrist to elbow, the kind of scar that came from a knife and a fi…" | | 9 | "The door swung open on silent hinges, revealing a staircase that descended into a warm, golden glow." | | 10 | "The air that rushed out was thick and strange — incense and candle smoke and something else, something old and mineral, like the smell of a cave that had never …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 20 | | tagDensity | 0.3 | | leniency | 0.6 | | rawRatio | 0.167 | | effectiveRatio | 0.1 | |