| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 6 | | tagDensity | 0.167 | | leniency | 0.333 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 90.39% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1041 | | totalAiIsmAdverbs | 2 | | 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) | |
| 51.97% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1041 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "glinting" | | 1 | "etched" | | 2 | "familiar" | | 3 | "weight" | | 4 | "footsteps" | | 5 | "echoing" | | 6 | "flicker" | | 7 | "depths" |
| |
| 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 | 35 | | matches | | |
| 61.22% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 35 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 41 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 54 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1018 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 30 | | wordCount | 966 | | uniqueNames | 11 | | maxNameDensity | 1.35 | | worstName | "Harlow" | | maxWindowNameDensity | 3 | | worstWindowName | "Harlow" | | discoveredNames | | Harlow | 13 | | Morris | 2 | | Camden | 1 | | Raven | 1 | | Nest | 1 | | Soho | 1 | | Tube | 3 | | Saint | 1 | | Christopher | 1 | | Tomás | 5 | | Herrera | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Morris" | | 2 | "Saint" | | 3 | "Christopher" | | 4 | "Tomás" | | 5 | "Herrera" |
| | places | | 0 | "Camden" | | 1 | "Raven" | | 2 | "Soho" | | 3 | "Tube" |
| | globalScore | 0.827 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 34 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.982 | | wordCount | 1018 | | matches | | 0 | "not really, but she recognized a smokescreen" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 41 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 12 | | mean | 84.83 | | std | 55 | | cv | 0.648 | | sampleLengths | | 0 | 16 | | 1 | 96 | | 2 | 132 | | 3 | 113 | | 4 | 67 | | 5 | 13 | | 6 | 90 | | 7 | 21 | | 8 | 17 | | 9 | 127 | | 10 | 152 | | 11 | 174 |
| |
| 95.24% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 35 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 170 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 6 | | flaggedSentences | 16 | | totalSentences | 41 | | ratio | 0.39 | | matches | | 0 | "She pivoted off a fire escape rail, her military precision cutting the suspect’s lead by a step—her worn leather watch glinting as she reached for his jacket hem." | | 1 | "He slipped free, his hood flapping back to reveal a flash of a charcoal-black rune etched into his neck; Harlow’s jaw tightened." | | 2 | "Harlow’s lungs burned, but she didn’t falter—18 years of decorated service had forged her stamina into something unyielding." | | 3 | "She’d tailed him from The Raven’s Nest, the dim Soho bar with its distinctive green neon sign and walls lined with frayed old maps; she’d watched him slip through the hidden bookshelf room’s secret latch, emerging 20 minutes later with a small cloth-wrapped package clutched so tight to his chest his knuckles whitened." | | 4 | "Now he skidded to a halt at the mouth of an abandoned Tube station—its concrete arch crusted with fuzzy green moss, its pried-loose sign leaning against a graffiti-scrawled wall." | | 5 | "Harlow’s eyes caught the thin, pale scar running along his left forearm—she’d memorized his file: Tomás Herrera, former NHS paramedic stripped of his license for administering unauthorized treatments to patients with unaccounted-for injuries that had stumped even the hospital’s top specialists." | | 6 | "She noted the faint tremor in his fingers—he’d been patching up a market patron, she realized; whispers of his off-the-books care for the clique had circulated in her informants’ reports for months, his services a lifeline for those who couldn’t seek help from the NHS without exposing their supernatural ties." | | 7 | "Harlow’s voice was sharp, clipped—military discipline bleeding through every syllable." | | 8 | "Tomás shifted his weight, his hand brushing a small, weathered bone token tucked into his belt loop; Harlow’s gaze locked on it." | | 9 | "She didn’t buy the supernatural claims, not really, but she recognized a smokescreen when she saw one—this market was where the clique laundered their worst secrets, traded the items that made their crimes untraceable." | | 10 | "She’d spent three years chasing the ghost of Morris’s case, piecing together fragments of clues that didn’t fit into any normal criminal profile—runes scrawled on abandoned buildings, missing bone tokens found at crime scenes, patients with injuries that healed overnight without medical intervention." | | 11 | "She lunged toward Tomás, her hand snatching the bone token from his belt loop before he could react; his scarred forearm flinched, but he didn’t fight back, his eyes softening with a flicker of pity she didn’t trust—pity for her, or for the fate that waited her in the market’s depths?" | | 12 | "Dim iron lanterns hung from the tunnel’s ceiling, casting flickering shadows over rows of stalls piled with enchanted trinkets—small wooden dolls with glass eyes that seemed to follow her, glass vials of glowing blue liquid that bubbled softly, rolled-up scrolls bound with black leather that creaked when she passed." | | 13 | "She passed a stall selling banned alchemical substances, the vendor’s face hidden by a hood, and her skin crawled; she’d never felt so out of her depth, but she pushed the feeling aside, her focus fixed on the suspect’s last known location." | | 14 | "The figure nodded, sliding a pouch of gold coins across the stall’s splintered wooden surface—coins that glinted with a faint red hue in the lantern light." | | 15 | "Before Harlow could call out, identify herself as police, demand they surrender, the hooded figure’s head snapped toward her—their eyes were empty, black pits, and they let out a guttural snarl that bounced off the tunnel walls, making her ears ring." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 434 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small cloth-wrapped package" |
| | adverbCount | 6 | | adverbRatio | 0.013824884792626729 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.002304147465437788 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 41 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 41 | | mean | 24.83 | | std | 14.79 | | cv | 0.596 | | sampleLengths | | 0 | 16 | | 1 | 28 | | 2 | 22 | | 3 | 23 | | 4 | 23 | | 5 | 27 | | 6 | 18 | | 7 | 53 | | 8 | 34 | | 9 | 29 | | 10 | 18 | | 11 | 25 | | 12 | 41 | | 13 | 17 | | 14 | 50 | | 15 | 3 | | 16 | 3 | | 17 | 7 | | 18 | 10 | | 19 | 22 | | 20 | 24 | | 21 | 34 | | 22 | 15 | | 23 | 6 | | 24 | 6 | | 25 | 5 | | 26 | 6 | | 27 | 3 | | 28 | 43 | | 29 | 30 | | 30 | 51 | | 31 | 14 | | 32 | 47 | | 33 | 49 | | 34 | 42 | | 35 | 14 | | 36 | 28 | | 37 | 26 | | 38 | 41 | | 39 | 21 | | 40 | 44 |
| |
| 52.85% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.3902439024390244 | | totalSentences | 41 | | uniqueOpeners | 16 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 35 | | matches | (empty) | | ratio | 0 | |
| 82.86% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 12 | | totalSentences | 35 | | matches | | 0 | "She pivoted off a fire" | | 1 | "He slipped free, his hood" | | 2 | "She’d never understood the unexplained" | | 3 | "She’d tailed him from The" | | 4 | "She’d waited until he left" | | 5 | "She noted the faint tremor" | | 6 | "She’d read scattered, unsubstantiated reports" | | 7 | "She didn’t buy the supernatural" | | 8 | "She’d spent three years chasing" | | 9 | "She lunged toward Tomás, her" | | 10 | "She spun toward the Tube" | | 11 | "She passed a stall selling" |
| | ratio | 0.343 | |
| 17.14% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 31 | | totalSentences | 35 | | matches | | 0 | "Harlow’s sharp elbow cracked the" | | 1 | "She pivoted off a fire" | | 2 | "He slipped free, his hood" | | 3 | "She’d never understood the unexplained" | | 4 | "The suspect bolted toward Camden’s" | | 5 | "Harlow’s lungs burned, but she" | | 6 | "She’d tailed him from The" | | 7 | "She’d waited until he left" | | 8 | "Harlow skidded to a stop" | | 9 | "A man stood in the" | | 10 | "Harlow’s eyes caught the thin," | | 11 | "Tomás tucked a bloodied gauze" | | 12 | "She noted the faint tremor" | | 13 | "Harlow’s voice was sharp, clipped—military" | | 14 | "Tomás shifted his weight, his" | | 15 | "She’d read scattered, unsubstantiated reports" | | 16 | "She didn’t buy the supernatural" | | 17 | "The suspect vanished into the" | | 18 | "Tomás stepped forward, blocking Harlow’s" | | 19 | "Harlow’s jaw hardened." |
| | ratio | 0.886 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 35 | | matches | | 0 | "Now he skidded to a" | | 1 | "Before Harlow could call out," |
| | ratio | 0.057 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 32 | | technicalSentenceCount | 10 | | matches | | 0 | "She’d never understood the unexplained edge to his disappearance, but the rune’s sight stoked a cold, familiar anger that coiled in her gut." | | 1 | "Harlow’s eyes caught the thin, pale scar running along his left forearm—she’d memorized his file: Tomás Herrera, former NHS paramedic stripped of his license fo…" | | 2 | "She didn’t buy the supernatural claims, not really, but she recognized a smokescreen when she saw one—this market was where the clique laundered their worst sec…" | | 3 | "She’d spent three years chasing the ghost of Morris’s case, piecing together fragments of clues that didn’t fit into any normal criminal profile—runes scrawled …" | | 4 | "She lunged toward Tomás, her hand snatching the bone token from his belt loop before he could react; his scarred forearm flinched, but he didn’t fight back, his…" | | 5 | "Dim iron lanterns hung from the tunnel’s ceiling, casting flickering shadows over rows of stalls piled with enchanted trinkets—small wooden dolls with glass eye…" | | 6 | "The suspect stood six feet away, handing the cloth-wrapped package to a hooded figure whose hands were covered in blackened, cracked skin that oozed a thin, sti…" | | 7 | "The figure nodded, sliding a pouch of gold coins across the stall’s splintered wooden surface—coins that glinted with a faint red hue in the lantern light." | | 8 | "Before Harlow could call out, identify herself as police, demand they surrender, the hooded figure’s head snapped toward her—their eyes were empty, black pits, …" | | 9 | "The hooded figure snapped their fingers, and three large, clawed creatures emerged from the shadows, their paws scraping the concrete floor as they lunged towar…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 6 | | tagDensity | 0.167 | | leniency | 0.333 | | rawRatio | 1 | | effectiveRatio | 0.333 | |