| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 31 | | tagDensity | 0.29 | | leniency | 0.581 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 89.71% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1458 | | totalAiIsmAdverbs | 3 | | 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) | |
| 58.85% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1458 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "fractured" | | 1 | "shimmered" | | 2 | "tapestry" | | 3 | "pulse" | | 4 | "pulsed" | | 5 | "flickered" | | 6 | "glinting" | | 7 | "weight" | | 8 | "silence" |
| |
| 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 | 113 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 0 | | narrationSentences | 113 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 134 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 42 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 4 | | markdownWords | 12 | | totalWords | 1439 | | ratio | 0.008 | | matches | | 0 | "This is not your jurisdiction. This is not real." | | 1 | "were" | | 2 | "something" | | 3 | "him" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 36 | | wordCount | 1129 | | uniqueNames | 16 | | maxNameDensity | 0.71 | | worstName | "Harlow" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Harlow" | | discoveredNames | | Soho | 1 | | Detective | 1 | | Harlow | 8 | | Quinn | 2 | | London | 1 | | Herrera | 1 | | Morris | 5 | | Camden | 1 | | Veil | 2 | | Market | 3 | | Tube | 1 | | Metropolitan | 1 | | Police | 1 | | Saint | 1 | | Christopher | 1 | | Tomás | 6 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Herrera" | | 3 | "Morris" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "Tomás" |
| | places | | 0 | "Soho" | | 1 | "London" | | 2 | "Metropolitan" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 67 | | 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.695 | | wordCount | 1439 | | matches | | 0 | "not for a weapon, but for a small, leather-bound notebook" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 134 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 59 | | mean | 24.39 | | std | 23.37 | | cv | 0.958 | | sampleLengths | | 0 | 98 | | 1 | 2 | | 2 | 88 | | 3 | 5 | | 4 | 14 | | 5 | 53 | | 6 | 62 | | 7 | 3 | | 8 | 60 | | 9 | 54 | | 10 | 2 | | 11 | 51 | | 12 | 44 | | 13 | 3 | | 14 | 91 | | 15 | 36 | | 16 | 4 | | 17 | 60 | | 18 | 7 | | 19 | 7 | | 20 | 25 | | 21 | 7 | | 22 | 13 | | 23 | 8 | | 24 | 25 | | 25 | 15 | | 26 | 12 | | 27 | 3 | | 28 | 18 | | 29 | 4 | | 30 | 42 | | 31 | 49 | | 32 | 13 | | 33 | 9 | | 34 | 3 | | 35 | 29 | | 36 | 5 | | 37 | 6 | | 38 | 36 | | 39 | 19 | | 40 | 31 | | 41 | 39 | | 42 | 40 | | 43 | 5 | | 44 | 19 | | 45 | 5 | | 46 | 21 | | 47 | 29 | | 48 | 20 | | 49 | 21 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 113 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 216 | | matches | | 0 | "was running" | | 1 | "wasn’t chasing" | | 2 | "was walking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 18 | | semicolonCount | 0 | | flaggedSentences | 15 | | totalSentences | 134 | | ratio | 0.112 | | matches | | 0 | "Her breath came in ragged bursts, sharp and hot in the cold London night, her boots splashing through puddles that reflected the fractured neon glow—red, blue, pink—of signs advertising dive bars, sex shops, and takeaways long closed." | | 1 | "A disgraced paramedic, license stripped, last seen vanishing into the underground after administering treatments no official report could explain—treatments involving wounds that healed too fast, blood that shimmered under UV light, patients who whispered in languages no one recognized." | | 2 | "Her worn leather watch—Morris’s watch—slapped against her wrist with each step, a ghostly rhythm against her pulse." | | 3 | "Rumors had it this stairwell led to something beneath Camden—something that didn’t appear on any map." | | 4 | "And he’d died three years ago chasing a lead that ended with a tunnel, a bone-white token, and a symbol carved into wet concrete—a raven with outstretched wings." | | 5 | "Halfway down, she found what she expected—footprints." | | 6 | "Sound rose—a low hum of voices, clinking metal, the murmur of bartering in languages not all human." | | 7 | "She stood on a curved platform above a vast, open chamber carved into the earth—once an abandoned Tube station, now something else entirely." | | 8 | "He wore the same coat, but now the collar was turned up, a silver medallion—Saint Christopher—glinting at his throat." | | 9 | "Before the woman could answer, Tomás looked up—directly at her." | | 10 | "A stall of enchanted mirrors flickered as she passed, showing her a dozen versions of herself—some wounded, some aged, some wearing Morris’s face." | | 11 | "The stone walls narrowed, then opened into a dead-end chamber—a service room with broken tiles and a single iron door sealed with a latch shaped like a crow’s head." | | 12 | "Tomás reached slowly into his coat—not for a weapon, but for a small, leather-bound notebook." | | 13 | "Somewhere deep in the tunnels, a bell rang—three slow chimes." | | 14 | "As they moved deeper into the undercity, Harlow Quinn felt the weight of her world shifting—the solid ground of her reality cracking open like the earth beneath her feet." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1155 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small, leather-bound notebook." |
| | adverbCount | 31 | | adverbRatio | 0.02683982683982684 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.006926406926406926 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 134 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 134 | | mean | 10.74 | | std | 8.77 | | cv | 0.817 | | sampleLengths | | 0 | 28 | | 1 | 37 | | 2 | 19 | | 3 | 1 | | 4 | 1 | | 5 | 12 | | 6 | 2 | | 7 | 4 | | 8 | 3 | | 9 | 39 | | 10 | 42 | | 11 | 5 | | 12 | 9 | | 13 | 5 | | 14 | 3 | | 15 | 20 | | 16 | 13 | | 17 | 17 | | 18 | 26 | | 19 | 11 | | 20 | 2 | | 21 | 2 | | 22 | 5 | | 23 | 16 | | 24 | 3 | | 25 | 3 | | 26 | 17 | | 27 | 8 | | 28 | 4 | | 29 | 28 | | 30 | 15 | | 31 | 9 | | 32 | 11 | | 33 | 19 | | 34 | 2 | | 35 | 7 | | 36 | 2 | | 37 | 9 | | 38 | 8 | | 39 | 10 | | 40 | 15 | | 41 | 18 | | 42 | 9 | | 43 | 17 | | 44 | 3 | | 45 | 12 | | 46 | 23 | | 47 | 14 | | 48 | 23 | | 49 | 19 |
| |
| 63.43% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.40298507462686567 | | totalSentences | 134 | | uniqueOpeners | 54 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 6 | | totalSentences | 93 | | matches | | 0 | "Then she saw him." | | 1 | "Only a flickering bulb, a" | | 2 | "Then a voice behind her." | | 3 | "Somewhere deep in the tunnels," | | 4 | "Then at him." | | 5 | "Then, slowly, she lowered the" |
| | ratio | 0.065 | |
| 52.26% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 39 | | totalSentences | 93 | | matches | | 0 | "Her breath came in ragged" | | 1 | "She could see him ahead," | | 2 | "She knew his name." | | 3 | "He was a loose thread" | | 4 | "He didn’t stop." | | 5 | "He turned sharply down a" | | 6 | "She followed, drawing her sidearm," | | 7 | "Her worn leather watch—Morris’s watch—slapped" | | 8 | "She cleared the alley and" | | 9 | "It descended into darkness, the" | | 10 | "Her jaw tightened." | | 11 | "She holstered her weapon, unzipped" | | 12 | "She followed, her bearing sharp," | | 13 | "Her training screamed at her:" | | 14 | "She stood on a curved" | | 15 | "She kept low, blending into" | | 16 | "Her badge was in her" | | 17 | "He wore the same coat," | | 18 | "He handed over a small" | | 19 | "She moved closer, keeping to" |
| | ratio | 0.419 | |
| 78.28% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 71 | | totalSentences | 93 | | matches | | 0 | "Rain drummed against the pavement" | | 1 | "Her breath came in ragged" | | 2 | "She could see him ahead," | | 3 | "She knew his name." | | 4 | "A disgraced paramedic, license stripped," | | 5 | "He was a loose thread" | | 6 | "Harlow shouted, her voice cutting" | | 7 | "He didn’t stop." | | 8 | "He turned sharply down a" | | 9 | "She followed, drawing her sidearm," | | 10 | "Her worn leather watch—Morris’s watch—slapped" | | 11 | "She cleared the alley and" | | 12 | "It descended into darkness, the" | | 13 | "Rumors had it this stairwell" | | 14 | "The Veil Market." | | 15 | "Her jaw tightened." | | 16 | "The Market was myth to" | | 17 | "A black bazaar for things" | | 18 | "She holstered her weapon, unzipped" | | 19 | "The steps spiraled down, disappearing" |
| | ratio | 0.763 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 93 | | matches | | 0 | "If they even *were* people." | | 1 | "Before the woman could answer," |
| | ratio | 0.022 | |
| 31.75% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 45 | | technicalSentenceCount | 7 | | matches | | 0 | "Her breath came in ragged bursts, sharp and hot in the cold London night, her boots splashing through puddles that reflected the fractured neon glow—red, blue, …" | | 1 | "A disgraced paramedic, license stripped, last seen vanishing into the underground after administering treatments no official report could explain—treatments inv…" | | 2 | "He was a loose thread in a tapestry she’d been pulling at for months, one that led from missing persons files to unexplained energy spikes near old ley lines, t…" | | 3 | "Rumors had it this stairwell led to something beneath Camden—something that didn’t appear on any map." | | 4 | "And he’d died three years ago chasing a lead that ended with a tunnel, a bone-white token, and a symbol carved into wet concrete—a raven with outstretched wings…" | | 5 | "Vendors with too-still eyes and hands that flickered in the corner of her vision offered curses, cures, stolen shadows." | | 6 | "As they moved deeper into the undercity, Harlow Quinn felt the weight of her world shifting—the solid ground of her reality cracking open like the earth beneath…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 3 | | matches | | 0 | "Harlow shouted, her voice cutting through the downpour" | | 1 | "Harlow replied, voice low" | | 2 | "he said, voice calm" |
| |
| 85.48% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 2 | | fancyTags | | 0 | "Harlow shouted (shout)" | | 1 | "she shouted (shout)" |
| | dialogueSentences | 31 | | tagDensity | 0.29 | | leniency | 0.581 | | rawRatio | 0.222 | | effectiveRatio | 0.129 | |