| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 12 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 88.69% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1326 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "sharply" | | 1 | "quickly" | | 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) | |
| 43.44% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1326 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "chill" | | 1 | "pulse" | | 2 | "single tear" | | 3 | "rhythmic" | | 4 | "tinged" | | 5 | "echoing" | | 6 | "footsteps" | | 7 | "depths" | | 8 | "porcelain" | | 9 | "chaotic" | | 10 | "silk" | | 11 | "etched" | | 12 | "velvet" | | 13 | "echoed" | | 14 | "raced" |
| |
| 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 | 75 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 0 | | narrationSentences | 75 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 78 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 100 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 3 | | totalWords | 1320 | | ratio | 0.002 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 49 | | wordCount | 1222 | | uniqueNames | 19 | | maxNameDensity | 1.31 | | worstName | "Harlow" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Herrera" | | discoveredNames | | Soho | 2 | | Harlow | 16 | | Quinn | 1 | | November | 1 | | Herrera | 10 | | London | 2 | | Raven | 1 | | Nest | 1 | | Morris | 3 | | Underground | 1 | | Static | 1 | | Tube | 2 | | Camden | 1 | | Victorian | 1 | | Veil | 1 | | Market | 1 | | Tomás | 2 | | Saint | 1 | | Christopher | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "November" | | 3 | "Herrera" | | 4 | "Raven" | | 5 | "Morris" | | 6 | "Static" | | 7 | "Market" | | 8 | "Tomás" | | 9 | "Saint" | | 10 | "Christopher" |
| | places | | 0 | "Soho" | | 1 | "London" | | 2 | "Victorian" |
| | globalScore | 0.845 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 64 | | 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.758 | | wordCount | 1320 | | matches | | 0 | "not by electricity, but by floating glass globes filled with bioluminescent silt" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 78 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 35 | | mean | 37.71 | | std | 25.81 | | cv | 0.684 | | sampleLengths | | 0 | 42 | | 1 | 73 | | 2 | 113 | | 3 | 77 | | 4 | 36 | | 5 | 16 | | 6 | 9 | | 7 | 72 | | 8 | 48 | | 9 | 25 | | 10 | 19 | | 11 | 44 | | 12 | 16 | | 13 | 18 | | 14 | 48 | | 15 | 13 | | 16 | 14 | | 17 | 54 | | 18 | 77 | | 19 | 22 | | 20 | 41 | | 21 | 32 | | 22 | 22 | | 23 | 31 | | 24 | 23 | | 25 | 32 | | 26 | 97 | | 27 | 11 | | 28 | 46 | | 29 | 1 | | 30 | 53 | | 31 | 14 | | 32 | 36 | | 33 | 19 | | 34 | 26 |
| |
| 91.23% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 75 | | matches | | 0 | "being trailed" | | 1 | "been sheared" | | 2 | "was echoed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 213 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 1 | | flaggedSentences | 7 | | totalSentences | 78 | | ratio | 0.09 | | matches | | 0 | "He kept his left arm tucked close to his ribs, a instinctual posture Harlow had seen on a hundred street corners—protecting a wound, or hiding something he couldn't afford to drop." | | 1 | "A thick, copper-tinged draft drifted up from the abyss, carrying the smell of wet soot, ozone, and something sickly sweet—like crushed lavender and old blood." | | 2 | "She turned a sharp corner into a vast, disused station concourse—and stopped dead." | | 3 | "Some looked almost human, wrapped in heavy cloaks; others walked with unnatural, fluid strides, their shadows stretching at wrong angles against the damp brickwork." | | 4 | "Harlow’s mind raced. She was forty-one years old, a decorated officer with eighteen years on the force, standing in the middle of a nightmare that defied every report she’d ever filed. Every instinct honed over a career told her to fall back, call for a tactical team, secure the perimeter. But she knew with cold certainty that if she walked back up those stairs, this place would vanish. The market would move—just like the rumors said it did every full moon—and Tomás Herrera would disappear into the underbelly of a world she was only beginning to comprehend." | | 5 | "Harlow looked past the merchant. Fifty yards down the crowded platform, near a rusted train car covered in glowing moss, she caught a glimpse of olive skin and a flash of silver—a Saint Christopher medallion swinging from a man's neck as he pushed through the crowd." | | 6 | "Harlow looked down at the merchant’s dish. She didn't have a bone token. She reached into her coat, her fingers brushing against her service weapon, then settled on the small pocket watch she kept in her vest—a heavy silver timepiece her father had given her, its casing scratched from years of field use." |
| |
| 88.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 950 | | adjectiveStacks | 2 | | stackExamples | | 0 | "short, curly dark hair" | | 1 | "thick, copper-tinged draft" |
| | adverbCount | 18 | | adverbRatio | 0.018947368421052633 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.008421052631578947 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 78 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 78 | | mean | 16.92 | | std | 14.07 | | cv | 0.831 | | sampleLengths | | 0 | 19 | | 1 | 23 | | 2 | 17 | | 3 | 31 | | 4 | 25 | | 5 | 11 | | 6 | 20 | | 7 | 24 | | 8 | 22 | | 9 | 2 | | 10 | 4 | | 11 | 30 | | 12 | 40 | | 13 | 6 | | 14 | 13 | | 15 | 18 | | 16 | 6 | | 17 | 9 | | 18 | 6 | | 19 | 15 | | 20 | 16 | | 21 | 9 | | 22 | 20 | | 23 | 30 | | 24 | 22 | | 25 | 12 | | 26 | 14 | | 27 | 10 | | 28 | 2 | | 29 | 10 | | 30 | 10 | | 31 | 15 | | 32 | 9 | | 33 | 10 | | 34 | 6 | | 35 | 25 | | 36 | 11 | | 37 | 2 | | 38 | 4 | | 39 | 12 | | 40 | 18 | | 41 | 5 | | 42 | 21 | | 43 | 9 | | 44 | 13 | | 45 | 13 | | 46 | 14 | | 47 | 15 | | 48 | 8 | | 49 | 31 |
| |
| 81.62% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.5128205128205128 | | totalSentences | 78 | | uniqueOpeners | 40 | |
| 46.95% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 71 | | matches | | 0 | "Instead of stopping, Herrera broke" |
| | ratio | 0.014 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 21 | | totalSentences | 71 | | matches | | 0 | "He kept his left arm" | | 1 | "She tracked him past the" | | 2 | "She cared about Herrera." | | 3 | "She cared about the off-the-books" | | 4 | "He veered left, cutting sharply" | | 5 | "She rounded the corner into" | | 6 | "She reached the top of" | | 7 | "She raised her left wrist," | | 8 | "Her dispatch radio cracked on" | | 9 | "she said, pressing the lapel" | | 10 | "It wasn't the dead, stale" | | 11 | "She could hear his quick," | | 12 | "She turned a sharp corner" | | 13 | "She’d heard the name whispered" | | 14 | "His eyes were entirely silver," | | 15 | "He tilted his head, his" | | 16 | "She kept her" | | 17 | "she barked, reaching into her" | | 18 | "I'm pursuing a" | | 19 | "She wouldn't get another chance." |
| | ratio | 0.296 | |
| 30.42% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 61 | | totalSentences | 71 | | matches | | 0 | "Rain slicked the cobblestones of" | | 1 | "Detective Harlow Quinn adjusted the" | | 2 | "Tomás Herrera moved with the" | | 3 | "He kept his left arm" | | 4 | "Harlow unbuttoned her wool coat," | | 5 | "She tracked him past the" | | 6 | "Silas’s dive was quiet tonight," | | 7 | "She cared about Herrera." | | 8 | "She cared about the off-the-books" | | 9 | "The official report said cardiac" | | 10 | "Harlow knew a lie when" | | 11 | "Herrera was the thread that" | | 12 | "Panic flashed across his sharp" | | 13 | "He veered left, cutting sharply" | | 14 | "Harlow’s voice cut through the" | | 15 | "Harlow gave chase, her heavy" | | 16 | "She rounded the corner into" | | 17 | "The iron door hung off" | | 18 | "She reached the top of" | | 19 | "The alley was dead, saved" |
| | ratio | 0.859 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 71 | | matches | (empty) | | ratio | 0 | |
| 51.67% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 47 | | technicalSentenceCount | 6 | | matches | | 0 | "She cared about the off-the-books medical supplies slipping out of NHS distribution centers, and the strange, unexplainable casualties turning up in the morgue …" | | 1 | "Dozens of makeshift stalls leaned against the tiled walls, lit not by electricity, but by floating glass globes filled with bioluminescent silt and flickering i…" | | 2 | "On wooden trestle tables, vendors displayed goods that made Harlow’s hand tighten on her holster: jarred organs suspended in glowing liquids, silver vials etche…" | | 3 | "She’d heard the name whispered in the interrogation rooms by informants who ended up dead before their trial dates." | | 4 | "Harlow’s mind raced. She was forty-one years old, a decorated officer with eighteen years on the force, standing in the middle of a nightmare that defied every …" | | 5 | "Harlow looked down at the merchant’s dish. She didn't have a bone token. She reached into her coat, her fingers brushing against her service weapon, then settle…" |
| |
| 25.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 1 | | matches | | 0 | "Harlow said, her voice dropping to a dangerous, icy murmur" |
| |
| 66.67% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 12 | | tagDensity | 0.25 | | leniency | 0.5 | | rawRatio | 0.333 | | effectiveRatio | 0.167 | |