| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 18 | | tagDensity | 0.222 | | leniency | 0.444 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 87.87% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2061 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "slightly" | | 1 | "suddenly" | | 2 | "slowly" | | 3 | "truly" |
| |
| 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) | |
| 27.22% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2061 | | totalAiIsms | 30 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | word | "practiced ease" | | count | 1 |
| | 12 | | | 13 | | word | "down her spine" | | count | 1 |
| | 14 | | | 15 | | | 16 | | | 17 | | | 18 | | | 19 | | | 20 | | | 21 | | | 22 | | | 23 | | | 24 | | | 25 | | | 26 | |
| | highlights | | 0 | "fractured" | | 1 | "treacherous" | | 2 | "charged" | | 3 | "looming" | | 4 | "sentinels" | | 5 | "footsteps" | | 6 | "echoing" | | 7 | "flicker" | | 8 | "pulsed" | | 9 | "standard" | | 10 | "etched" | | 11 | "practiced ease" | | 12 | "chaotic" | | 13 | "down her spine" | | 14 | "shattered" | | 15 | "velvet" | | 16 | "spectral" | | 17 | "racing" | | 18 | "echoed" | | 19 | "glinting" | | 20 | "tracing" | | 21 | "crystal" | | 22 | "silk" | | 23 | "scanned" | | 24 | "glint" | | 25 | "weight" | | 26 | "reminder" |
| |
| 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 | 1 | | narrationSentences | 194 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 3 | | narrationSentences | 194 | | filterMatches | | | hedgeMatches | | 0 | "appeared to" | | 1 | "happened to" | | 2 | "seemed to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 206 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 35 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2044 | | 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 | 78 | | wordCount | 1906 | | uniqueNames | 28 | | maxNameDensity | 0.94 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Soho | 1 | | Harlow | 2 | | Quinn | 18 | | Raven | 2 | | Nest | 2 | | Charing | 1 | | Cross | 1 | | Road | 1 | | Morris | 6 | | Herrera | 14 | | Camden | 2 | | Saint | 2 | | Christopher | 2 | | Victorian | 1 | | Bone | 1 | | Token | 1 | | Required | 1 | | Veil | 3 | | Market | 3 | | Tube | 2 | | Mind | 2 | | Gap | 1 | | Spirits | 1 | | London | 1 | | Metropolitan | 1 | | Police | 1 | | Detective | 2 | | Three | 3 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Raven" | | 3 | "Nest" | | 4 | "Morris" | | 5 | "Herrera" | | 6 | "Saint" | | 7 | "Christopher" | | 8 | "Market" | | 9 | "Tube" | | 10 | "Police" |
| | places | | 0 | "Soho" | | 1 | "Charing" | | 2 | "Cross" | | 3 | "Road" | | 4 | "Camden" | | 5 | "Veil" | | 6 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 79.08% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 141 | | glossingSentenceCount | 4 | | matches | | 0 | "felt like clawing at the edges of somet" | | 1 | "quite human" | | 2 | "looked like living fabric that shifted co" | | 3 | "felt like another universe" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 2044 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 206 | | matches | (empty) | |
| 93.01% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 50 | | mean | 40.88 | | std | 19.44 | | cv | 0.476 | | sampleLengths | | 0 | 73 | | 1 | 44 | | 2 | 35 | | 3 | 64 | | 4 | 74 | | 5 | 7 | | 6 | 50 | | 7 | 36 | | 8 | 47 | | 9 | 63 | | 10 | 35 | | 11 | 51 | | 12 | 58 | | 13 | 89 | | 14 | 77 | | 15 | 56 | | 16 | 26 | | 17 | 78 | | 18 | 51 | | 19 | 38 | | 20 | 43 | | 21 | 53 | | 22 | 56 | | 23 | 12 | | 24 | 33 | | 25 | 67 | | 26 | 28 | | 27 | 17 | | 28 | 32 | | 29 | 28 | | 30 | 35 | | 31 | 19 | | 32 | 32 | | 33 | 10 | | 34 | 39 | | 35 | 7 | | 36 | 42 | | 37 | 62 | | 38 | 23 | | 39 | 40 | | 40 | 30 | | 41 | 42 | | 42 | 33 | | 43 | 19 | | 44 | 34 | | 45 | 39 | | 46 | 38 | | 47 | 29 | | 48 | 43 | | 49 | 7 |
| |
| 98.03% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 194 | | matches | | 0 | "been repurposed" | | 1 | "was made" | | 2 | "was gone" | | 3 | "been gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 354 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 18 | | semicolonCount | 0 | | flaggedSentences | 14 | | totalSentences | 206 | | ratio | 0.068 | | matches | | 0 | "Quinn had spotted him the moment he slipped through the crowd—nervous glances, that telltale bulge under his jacket." | | 1 | "The way the suspect moved—too fluid, like the rain bent around him." | | 2 | "The scar on his left forearm—she'd read about that knife attack in his records." | | 3 | "There—a flicker of movement near a maintenance door half-hidden behind overflowing bins." | | 4 | "The air from below carried strange scents—incense, ozone, something metallic like blood and herbs." | | 5 | "Yet the memory of Morris's last transmission—static-filled screams about shadows that moved wrong—pushed her forward." | | 6 | "She'd heard rumors of this place— the underground market that shifted locations with every full moon." | | 7 | "He mouthed something—she couldn't read it—but the fear in his expression was clear." | | 8 | "The photographs on the walls of The Raven's Nest suddenly made more sense—many of these faces appeared there too, captured in black and white as if the bar served as both haven and lookout." | | 9 | "Old Tube signs had been repurposed—Mind the Gap now read Mind the Spirits in dripping red paint." | | 10 | "One broker looked up as she passed—a young man with short curly dark brown hair not unlike Herrera's." | | 11 | "A stall owner nearby—a tall figure in a hooded cloak—extended a bone token toward her with long, pale fingers." | | 12 | "Around her, the Veil Market pulsed with dangerous life—enchanted goods shimmering, banned substances glowing, information flowing like poisoned wine between stalls." | | 13 | "But the scar on his arm, the fear in his voice—they lingered." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1933 | | adjectiveStacks | 1 | | stackExamples | | 0 | "short curly dark hair." |
| | adverbCount | 56 | | adverbRatio | 0.028970512157268494 | | lyAdverbCount | 22 | | lyAdverbRatio | 0.011381272633212623 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 206 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 206 | | mean | 9.92 | | std | 5.82 | | cv | 0.586 | | sampleLengths | | 0 | 17 | | 1 | 25 | | 2 | 16 | | 3 | 15 | | 4 | 13 | | 5 | 18 | | 6 | 2 | | 7 | 11 | | 8 | 17 | | 9 | 5 | | 10 | 13 | | 11 | 14 | | 12 | 10 | | 13 | 24 | | 14 | 4 | | 15 | 12 | | 16 | 11 | | 17 | 13 | | 18 | 8 | | 19 | 20 | | 20 | 2 | | 21 | 3 | | 22 | 4 | | 23 | 10 | | 24 | 3 | | 25 | 6 | | 26 | 1 | | 27 | 19 | | 28 | 9 | | 29 | 14 | | 30 | 8 | | 31 | 9 | | 32 | 7 | | 33 | 8 | | 34 | 6 | | 35 | 4 | | 36 | 2 | | 37 | 10 | | 38 | 12 | | 39 | 10 | | 40 | 15 | | 41 | 12 | | 42 | 7 | | 43 | 16 | | 44 | 12 | | 45 | 16 | | 46 | 5 | | 47 | 4 | | 48 | 4 | | 49 | 2 |
| |
| 62.94% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.39805825242718446 | | totalSentences | 206 | | uniqueOpeners | 82 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 8 | | totalSentences | 182 | | matches | | 0 | "Instead, he veered left onto" | | 1 | "Probably from one of his" | | 2 | "Just her and the dark," | | 3 | "Further down, a stall displayed" | | 4 | "Maybe he'd explain what happened" | | 5 | "Instead, he plunged through the" | | 6 | "Then his expression hardened." | | 7 | "Truly noticed her." |
| | ratio | 0.044 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 47 | | totalSentences | 182 | | matches | | 0 | "She could smell it on" | | 1 | "Her voice cut through the" | | 2 | "She'd seen his file." | | 3 | "He knew she was onto" | | 4 | "She wouldn't lose him." | | 5 | "He disappeared around a corner" | | 6 | "She flashed her badge without" | | 7 | "She paused at the threshold." | | 8 | "she muttered, voice low" | | 9 | "Her hand tightened on her" | | 10 | "She took the first step" | | 11 | "Her military bearing kept her" | | 12 | "She'd heard rumors of this" | | 13 | "His curly hair dripped onto" | | 14 | "Their eyes met across the" | | 15 | "He mouthed something—she couldn't read" | | 16 | "He knew her face." | | 17 | "She didn't stop." | | 18 | "She kept her weapon low" | | 19 | "She ignored him." |
| | ratio | 0.258 | |
| 69.89% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 142 | | totalSentences | 182 | | matches | | 0 | "The rain hammered down on" | | 1 | "Detective Harlow Quinn sprinted after" | | 2 | "Water streamed off her closely" | | 3 | "The suspect had bolted from" | | 4 | "Quinn had spotted him the" | | 5 | "She could smell it on" | | 6 | "Her voice cut through the" | | 7 | "The figure didn't break stride." | | 8 | "Quinn's worn leather watch caught" | | 9 | "Military precision kept her strides" | | 10 | "This one felt different." | | 11 | "The way the suspect moved—too" | | 12 | "Pedestrians scattered as they charged" | | 13 | "A taxi horn blared when" | | 14 | "Quinn followed, her heart slamming" | | 15 | "The figure's hood slipped back" | | 16 | "The off-the-books medic." | | 17 | "She'd seen his file." | | 18 | "The clique's healer." | | 19 | "He knew she was onto" |
| | ratio | 0.78 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 4 | | totalSentences | 182 | | matches | | 0 | "If she caught him, maybe" | | 1 | "Before she could react, he" | | 2 | "Even if it meant becoming" | | 3 | "Even if the territory now" |
| | ratio | 0.022 | |
| 64.36% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 91 | | technicalSentenceCount | 10 | | matches | | 0 | "Detective Harlow Quinn sprinted after the hooded figure, her boots splashing through puddles that reflected the green neon glow of The Raven's Nest behind her." | | 1 | "A faint glow pulsed from below, unnatural green and violet hues that made her skin crawl." | | 2 | "The stairwell spiraled deeper, the walls transitioning from damp concrete to ancient brickwork etched with symbols that hurt to look at directly." | | 3 | "Vendors hawked glowing vials, whispering grimoires bound in scales, and artifacts that hummed with barely contained power." | | 4 | "She'd heard rumors of this place— the underground market that shifted locations with every full moon." | | 5 | "Vendors cried their wares in languages that twisted in her ears." | | 6 | "The photographs on the walls of The Raven's Nest suddenly made more sense—many of these faces appeared there too, captured in black and white as if the bar serv…" | | 7 | "Quinn pushed through a cluster of buyers examining enchanted goods, her shoulder brushing against something scaled and cold." | | 8 | "The first held rows of information brokers hunched over glowing crystals that displayed moving images of London's hidden underbelly." | | 9 | "Three years of dead ends, of cases that dissolved into mist and memory loss." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 2 | | matches | | 0 | "she muttered, voice low" | | 1 | "she called, voice steady despite the adrenaline flooding her system" |
| |
| 94.44% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 18 | | tagDensity | 0.111 | | leniency | 0.222 | | rawRatio | 0.5 | | effectiveRatio | 0.111 | |