| 53.66% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 18 | | adverbTagCount | 3 | | adverbTags | | 0 | "he said quietly [quietly]" | | 1 | "Herrera exhaled slowly [slowly]" | | 2 | "Herrera's hand closed around [around]" |
| | dialogueSentences | 41 | | tagDensity | 0.439 | | leniency | 0.878 | | rawRatio | 0.167 | | effectiveRatio | 0.146 | |
| 89.77% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1955 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "carefully" | | 1 | "lightly" | | 2 | "slowly" |
| |
| 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) | |
| 66.75% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1955 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "flicked" | | 1 | "flickered" | | 2 | "footsteps" | | 3 | "echoing" | | 4 | "complex" | | 5 | "silence" | | 6 | "tension" | | 7 | "silk" |
| |
| 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 | 1 | | narrationSentences | 128 | | matches | | |
| 98.21% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 3 | | narrationSentences | 128 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 150 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 51 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1940 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 16 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 54 | | wordCount | 1563 | | uniqueNames | 15 | | maxNameDensity | 1.41 | | worstName | "Quinn" | | maxWindowNameDensity | 3 | | worstWindowName | "Quinn" | | discoveredNames | | Soho | 1 | | Harlow | 1 | | Quinn | 22 | | Tomás | 1 | | Herrera | 14 | | Raven | 1 | | Nest | 1 | | Saint | 2 | | Christopher | 2 | | Town | 1 | | Morris | 4 | | Veil | 1 | | Market | 1 | | Tube | 1 | | Arabic | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Tomás" | | 3 | "Herrera" | | 4 | "Nest" | | 5 | "Saint" | | 6 | "Christopher" | | 7 | "Morris" | | 8 | "Market" |
| | places | | | globalScore | 0.796 | | windowScore | 0.667 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 91 | | glossingSentenceCount | 6 | | matches | | 0 | "r, faster, and apparently terrified enough to" | | 1 | "looked like it had been condemned for yea" | | 2 | "looked like teeth" | | 3 | "syllables that seemed to crawl along her skin" | | 4 | "not quite human" | | 5 | "looked like someone who'd seen too much" |
| |
| 45.36% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 1.546 | | wordCount | 1940 | | matches | | 0 | "not fear, exactly, but something more complex" | | 1 | "not yet, but they were watchful" | | 2 | "not footsteps, exactly, but something" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 150 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 61 | | mean | 31.8 | | std | 23.05 | | cv | 0.725 | | sampleLengths | | 0 | 62 | | 1 | 78 | | 2 | 68 | | 3 | 13 | | 4 | 56 | | 5 | 45 | | 6 | 70 | | 7 | 11 | | 8 | 66 | | 9 | 31 | | 10 | 57 | | 11 | 35 | | 12 | 13 | | 13 | 78 | | 14 | 78 | | 15 | 24 | | 16 | 58 | | 17 | 48 | | 18 | 36 | | 19 | 51 | | 20 | 5 | | 21 | 3 | | 22 | 52 | | 23 | 20 | | 24 | 36 | | 25 | 12 | | 26 | 7 | | 27 | 4 | | 28 | 31 | | 29 | 28 | | 30 | 21 | | 31 | 7 | | 32 | 13 | | 33 | 6 | | 34 | 40 | | 35 | 41 | | 36 | 75 | | 37 | 13 | | 38 | 56 | | 39 | 12 | | 40 | 30 | | 41 | 5 | | 42 | 35 | | 43 | 21 | | 44 | 15 | | 45 | 3 | | 46 | 47 | | 47 | 41 | | 48 | 8 | | 49 | 40 |
| |
| 88.82% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 128 | | matches | | 0 | "been condemned" | | 1 | "was gutted" | | 2 | "been transformed" | | 3 | "was mixed" | | 4 | "being screamed" | | 5 | "was gone" |
| |
| 55.07% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 276 | | matches | | 0 | "was going" | | 1 | "was gaining" | | 2 | "was heading" | | 3 | "was watching" | | 4 | "was looking" | | 5 | "was already pulling" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 16 | | semicolonCount | 1 | | flaggedSentences | 15 | | totalSentences | 150 | | ratio | 0.1 | | matches | | 0 | "He'd spotted her the moment she walked through the door—something in the way his warm brown eyes had flicked to the exit, the way his hand had moved instinctively to the Saint Christopher medallion at his throat." | | 1 | "Quinn knew these streets—she'd walked this beat as a constable, back when her hair was still fully brown and her partner Morris had been alive to watch her back." | | 2 | "The memory flickered unbidden: Morris's face in the dim light of that warehouse, the fear in his eyes as something moved in the shadows behind him—" | | 3 | "He was heading down—she found the stairs and descended, one hand trailing along the damp wall for balance." | | 4 | "The sounds came next—voices, dozens of them, overlapping in languages she didn't recognize." | | 5 | "The rain was a distant memory down here; the air was thick and warm and carried scents Quinn couldn't identify." | | 6 | "And the people—if they could all be called people—moved through the cramped spaces with the easy familiarity of regular customers." | | 7 | "Book him on suspicion of—what, exactly?" | | 8 | "She felt eyes on her back—too many eyes, some of them not positioned where eyes should be." | | 9 | "The pity was still there, but now it was mixed with something else—recognition, maybe, or resignation." | | 10 | "Quinn studied the young man's face—the deep brown eyes, the lines of tension around his mouth." | | 11 | "Quinn opened her mouth to respond—and then stopped, because something was wrong." | | 12 | "Even the ambient sounds of the market—the haggling, the footsteps, the clink of commerce—had faded to silence." | | 13 | "Quinn could hear sounds of pursuit behind them—not footsteps, exactly, but something that might have been footsteps if feet came in configurations she didn't want to imagine." | | 14 | "\"Or you don't. And if you don't, you find me at the Nest next week. Same time.\" He pressed something into her palm—small, smooth, warm from his body heat." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1586 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 63 | | adverbRatio | 0.03972257250945776 | | lyAdverbCount | 22 | | lyAdverbRatio | 0.013871374527112233 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 150 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 150 | | mean | 12.93 | | std | 9.01 | | cv | 0.697 | | sampleLengths | | 0 | 17 | | 1 | 23 | | 2 | 22 | | 3 | 18 | | 4 | 37 | | 5 | 23 | | 6 | 39 | | 7 | 3 | | 8 | 26 | | 9 | 12 | | 10 | 1 | | 11 | 5 | | 12 | 33 | | 13 | 9 | | 14 | 9 | | 15 | 5 | | 16 | 28 | | 17 | 12 | | 18 | 15 | | 19 | 29 | | 20 | 26 | | 21 | 5 | | 22 | 1 | | 23 | 5 | | 24 | 21 | | 25 | 12 | | 26 | 2 | | 27 | 17 | | 28 | 5 | | 29 | 5 | | 30 | 4 | | 31 | 5 | | 32 | 14 | | 33 | 12 | | 34 | 12 | | 35 | 14 | | 36 | 13 | | 37 | 18 | | 38 | 11 | | 39 | 13 | | 40 | 11 | | 41 | 13 | | 42 | 24 | | 43 | 20 | | 44 | 14 | | 45 | 20 | | 46 | 20 | | 47 | 15 | | 48 | 18 | | 49 | 25 |
| |
| 58.67% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.4 | | totalSentences | 150 | | uniqueOpeners | 60 | |
| 55.56% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 120 | | matches | | 0 | "Just rumors and paranoid speculation." | | 1 | "Even the ambient sounds of" |
| | ratio | 0.017 | |
| 86.67% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 40 | | totalSentences | 120 | | matches | | 0 | "She'd found him at The" | | 1 | "He'd spotted her the moment" | | 2 | "He'd bolted before she could" | | 3 | "Her lungs burned." | | 4 | "she shouted, the words torn" | | 5 | "He cut left into a" | | 6 | "She was gaining on him." | | 7 | "His olive skin gleamed under" | | 8 | "She could hear him breathing" | | 9 | "She shoved the thought away." | | 10 | "She was off-duty, following up" | | 11 | "She couldn't let it go." | | 12 | "She could hear Herrera ahead" | | 13 | "He was heading down—she found" | | 14 | "It occupied what had clearly" | | 15 | "Her hand found the wall" | | 16 | "He stood at the edge" | | 17 | "He was watching her, and" | | 18 | "She could arrest him." | | 19 | "She pushed into the crowd," |
| | ratio | 0.333 | |
| 68.33% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 94 | | totalSentences | 120 | | matches | | 0 | "The rain came down in" | | 1 | "Detective Harlow Quinn's boots slammed" | | 2 | "She'd found him at The" | | 3 | "He'd spotted her the moment" | | 4 | "He'd bolted before she could" | | 5 | "Her lungs burned." | | 6 | "she shouted, the words torn" | | 7 | "Herrera didn't even glance back." | | 8 | "He cut left into a" | | 9 | "The alley stank of rotting" | | 10 | "A cat yowled and scattered" | | 11 | "She was gaining on him." | | 12 | "His olive skin gleamed under" | | 13 | "She could hear him breathing" | | 14 | "Camden Town opened up around" | | 15 | "Quinn knew these streets—she'd walked" | | 16 | "The memory flickered unbidden: Morris's" | | 17 | "She shoved the thought away." | | 18 | "The suspect was what mattered." | | 19 | "Herrera ducked beneath a half-lowered" |
| | ratio | 0.783 | |
| 41.67% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 120 | | matches | | 0 | "Now the chase had dragged" |
| | ratio | 0.008 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 63 | | technicalSentenceCount | 2 | | matches | | 0 | "Two figures in hooded cloaks brushed past her without a glance, their conversation a low murmur of syllables that seemed to crawl along her skin." | | 1 | "Quinn could hear sounds of pursuit behind them—not footsteps, exactly, but something that might have been footsteps if feet came in configurations she didn't wa…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 18 | | uselessAdditionCount | 5 | | matches | | 0 | "she shouted, the words torn away by wind and rain" | | 1 | "Herrera exhaled slowly, his fingers finding his Saint Christopher medallion again" | | 2 | "someone said, their voice carrying in the sudden stillness" | | 3 | "Herrera's hand closed around, his grip urgent" | | 4 | "Herrera said, not slowing" |
| |
| 76.83% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 3 | | fancyTags | | 0 | "she shouted (shout)" | | 1 | "he continued (continue)" | | 2 | "He pressed (press)" |
| | dialogueSentences | 41 | | tagDensity | 0.171 | | leniency | 0.341 | | rawRatio | 0.429 | | effectiveRatio | 0.146 | |