| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 8 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 16 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1573 | | 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) | |
| 58.68% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1573 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "glint" | | 1 | "grave" | | 2 | "echoed" | | 3 | "footsteps" | | 4 | "flickered" | | 5 | "stomach" | | 6 | "racing" | | 7 | "pulse" | | 8 | "flicked" | | 9 | "weight" | | 10 | "pulsed" | | 11 | "raced" | | 12 | "depths" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 106 | | matches | (empty) | |
| 88.95% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 3 | | narrationSentences | 106 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 114 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 45 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1562 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 46 | | wordCount | 1452 | | uniqueNames | 15 | | maxNameDensity | 0.76 | | worstName | "Quinn" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Quinn" | | discoveredNames | | Harlow | 1 | | Quinn | 11 | | Raven | 1 | | Nest | 4 | | Christopher | 2 | | Tomás | 1 | | Herrera | 8 | | Saint | 2 | | Tube | 2 | | Camden | 1 | | Veil | 4 | | Market | 4 | | Morris | 3 | | Spanish | 1 | | Two | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Raven" | | 3 | "Christopher" | | 4 | "Tomás" | | 5 | "Herrera" | | 6 | "Saint" | | 7 | "Market" | | 8 | "Morris" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 91.18% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 85 | | glossingSentenceCount | 2 | | matches | | 0 | "smelled like damp earth and something shar" | | 1 | "graffiti that seemed to writhe in her peripheral vision—symbols she didn’t recognize, some of them glowing faintly" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1562 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 114 | | matches | | 0 | "joked that the" | | 1 | "up that ladder" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 27 | | mean | 57.85 | | std | 38.07 | | cv | 0.658 | | sampleLengths | | 0 | 95 | | 1 | 134 | | 2 | 10 | | 3 | 109 | | 4 | 136 | | 5 | 83 | | 6 | 14 | | 7 | 90 | | 8 | 120 | | 9 | 15 | | 10 | 53 | | 11 | 29 | | 12 | 44 | | 13 | 34 | | 14 | 33 | | 15 | 95 | | 16 | 26 | | 17 | 59 | | 18 | 30 | | 19 | 71 | | 20 | 85 | | 21 | 14 | | 22 | 57 | | 23 | 41 | | 24 | 39 | | 25 | 10 | | 26 | 36 |
| |
| 88.71% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 106 | | matches | | 0 | "been hunched" | | 1 | "was forbidden" | | 2 | "were lined" | | 3 | "was followed" | | 4 | "was made" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 252 | | matches | | 0 | "was lifting" | | 1 | "were emerging" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 2 | | flaggedSentences | 10 | | totalSentences | 114 | | ratio | 0.088 | | matches | | 0 | "He was fast—younger, leaner—but she had eighteen years of foot chases behind her and a fury that ran deeper than muscle." | | 1 | "The suspect’s name, according to her source, was Tomás Herrera—a disgraced paramedic who’d turned to dodgy off-the-books medicine." | | 2 | "He wrestled it aside with a grunt, the Saint Christopher medallion swinging free of his shirt—a glint of gold against the dark—and then he disappeared down the hole, legs first, his scarred left forearm visible for an instant before the shadows swallowed him." | | 3 | "A sound echoed up from the darkness—footsteps splashing through shallow water, receding fast." | | 4 | "She followed, her torchlight skating over graffiti that seemed to writhe in her peripheral vision—symbols she didn’t recognize, some of them glowing faintly." | | 5 | "Her torch beam found the gap, and a hand extended—pale, long-fingered, each nail filed to a sharp point." | | 6 | "Quinn’s hand went to her hip, but she’d left her sidearm locked in her glove box; she hadn’t wanted to risk a weapon around the Nest’s clientele." | | 7 | "Behind the creature, more figures were emerging from the deeper tunnels—shapes that moved in ways that hurt to watch, some carrying bone-white tokens that glowed faintly against their chests." | | 8 | "She could retreat, scramble back up the ladder and call for backup, but by the time anyone believed her enough to raid this place, Herrera would be gone—either killed by the clique or swallowed by the market itself." | | 9 | "It didn’t seem concerned with her now; its business was with the one who’d fled." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1325 | | adjectiveStacks | 1 | | stackExamples | | 0 | "carrying bone-white tokens" |
| | adverbCount | 34 | | adverbRatio | 0.025660377358490565 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.007547169811320755 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 114 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 114 | | mean | 13.7 | | std | 8.44 | | cv | 0.616 | | sampleLengths | | 0 | 21 | | 1 | 26 | | 2 | 18 | | 3 | 30 | | 4 | 15 | | 5 | 21 | | 6 | 9 | | 7 | 37 | | 8 | 3 | | 9 | 31 | | 10 | 18 | | 11 | 10 | | 12 | 3 | | 13 | 17 | | 14 | 16 | | 15 | 14 | | 16 | 13 | | 17 | 3 | | 18 | 43 | | 19 | 7 | | 20 | 19 | | 21 | 6 | | 22 | 15 | | 23 | 6 | | 24 | 4 | | 25 | 5 | | 26 | 21 | | 27 | 3 | | 28 | 18 | | 29 | 22 | | 30 | 10 | | 31 | 13 | | 32 | 33 | | 33 | 5 | | 34 | 10 | | 35 | 22 | | 36 | 14 | | 37 | 6 | | 38 | 17 | | 39 | 8 | | 40 | 14 | | 41 | 17 | | 42 | 5 | | 43 | 23 | | 44 | 8 | | 45 | 22 | | 46 | 24 | | 47 | 9 | | 48 | 17 | | 49 | 24 |
| |
| 46.20% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.32456140350877194 | | totalSentences | 114 | | uniqueOpeners | 37 | |
| 64.72% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 103 | | matches | | 0 | "Instead, he vaulted a low" | | 1 | "Then she heard it: a" |
| | ratio | 0.019 | |
| 41.36% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 46 | | totalSentences | 103 | | matches | | 0 | "She’d been tailing him for" | | 1 | "Her lungs burned, but she" | | 2 | "He was fast—younger, leaner—but she" | | 3 | "She’d clocked it earlier, when" | | 4 | "she shouted, her voice swallowed" | | 5 | "He didn’t stop." | | 6 | "She landed in a narrow" | | 7 | "He wrestled it aside with" | | 8 | "She stared into the darkness" | | 9 | "Her heart hammered against her" | | 10 | "She knew these tunnels." | | 11 | "She’d heard whispers about a" | | 12 | "It was forbidden territory for" | | 13 | "Her late partner, DS Morris," | | 14 | "She had no bone token." | | 15 | "She had no backup, because" | | 16 | "She had only her torch," | | 17 | "She descended rung by rung," | | 18 | "She followed, her torchlight skating" | | 19 | "She swept her torch across" |
| | ratio | 0.447 | |
| 42.52% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 86 | | totalSentences | 103 | | matches | | 0 | "The rain came down in" | | 1 | "Detective Harlow Quinn kept her" | | 2 | "She’d been tailing him for" | | 3 | "Her lungs burned, but she" | | 4 | "He was fast—younger, leaner—but she" | | 5 | "The alley stank of damp" | | 6 | "Saint Christopher medallion." | | 7 | "She’d clocked it earlier, when" | | 8 | "The suspect’s name, according to" | | 9 | "she shouted, her voice swallowed" | | 10 | "He didn’t stop." | | 11 | "Quinn swore under her breath" | | 12 | "She landed in a narrow" | | 13 | "Herrera was already at the" | | 14 | "A manhole cover." | | 15 | "He wrestled it aside with" | | 16 | "Quinn reached the opening in" | | 17 | "The cover was old iron," | | 18 | "She stared into the darkness" | | 19 | "A metal ladder descended into" |
| | ratio | 0.835 | |
| 48.54% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 103 | | matches | | | ratio | 0.01 | |
| 74.83% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 63 | | technicalSentenceCount | 6 | | matches | | 0 | "He was fast—younger, leaner—but she had eighteen years of foot chases behind her and a fury that ran deeper than muscle." | | 1 | "She landed in a narrow passageway that reeked of stale beer and cigarette smoke." | | 2 | "She had only her torch, her cuffs, and a deep-seated hatred for criminals who thought they could exploit the gaps between worlds." | | 3 | "She followed, her torchlight skating over graffiti that seemed to writhe in her peripheral vision—symbols she didn’t recognize, some of them glowing faintly." | | 4 | "She swept her torch across the stalls: jars of murky liquid, piles of desiccated herbs, a cage containing something that unfurled too many legs." | | 5 | "Behind the creature, more figures were emerging from the deeper tunnels—shapes that moved in ways that hurt to watch, some carrying bone-white tokens that glowe…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 8 | | uselessAdditionCount | 3 | | matches | | 0 | "he said, his voice breathless" | | 1 | "Quinn said, her voice steady despite her racing pulse" | | 2 | "she said, her voice flat with authority" |
| |
| 25.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 2 | | fancyTags | | 0 | "she shouted (shout)" | | 1 | "he shouted (shout)" |
| | dialogueSentences | 16 | | tagDensity | 0.375 | | leniency | 0.75 | | rawRatio | 0.333 | | effectiveRatio | 0.25 | |