| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 8 | | adverbTagCount | 1 | | adverbTags | | | dialogueSentences | 28 | | tagDensity | 0.286 | | leniency | 0.571 | | rawRatio | 0.125 | | effectiveRatio | 0.071 | |
| 91.62% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1193 | | 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) | |
| 45.52% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1193 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "measured" | | 1 | "gloom" | | 2 | "etched" | | 3 | "chill" | | 4 | "pulsed" | | 5 | "flickered" | | 6 | "weight" | | 7 | "wavered" | | 8 | "echoed" | | 9 | "whisper" | | 10 | "potential" |
| |
| 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 | 98 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 98 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 117 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 44 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 20 | | markdownWords | 29 | | totalWords | 1179 | | ratio | 0.025 | | matches | | 0 | "down" | | 1 | "felt" | | 2 | "her" | | 3 | "attention" | | 4 | "conspiracy theorist" | | 5 | "marker" | | 6 | "all" | | 7 | "unexplained phenomenon" | | 8 | "symbol" | | 9 | "breathe" | | 10 | "gate" | | 11 | "voices" | | 12 | "moved" | | 13 | "glowed" | | 14 | "Now" | | 15 | "wrong" | | 16 | "THE VEIL THINS AT MIDNIGHT." | | 17 | "Now" | | 18 | "Kowalski" | | 19 | "lock this station down" |
| |
| 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 | 26 | | wordCount | 918 | | uniqueNames | 7 | | maxNameDensity | 0.98 | | worstName | "Lin" | | maxWindowNameDensity | 2 | | worstWindowName | "Harlow" | | discoveredNames | | Tube | 1 | | Harlow | 8 | | Quinn | 1 | | Lin | 9 | | Morris | 5 | | Adam | 1 | | Cole | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Lin" | | 3 | "Morris" | | 4 | "Adam" | | 5 | "Cole" |
| | places | (empty) | | globalScore | 1 | | windowScore | 1 | |
| 5.77% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 52 | | glossingSentenceCount | 3 | | matches | | 0 | "looked like they’d been scratched by a tr" | | 1 | "as if reacting to her presence" | | 2 | "as if sensing her proximity to something vast and hungry" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.848 | | wordCount | 1179 | | matches | | 0 | "not the cold of the station, but something deeper, like the memory of ice on bare skin" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 117 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 42 | | mean | 28.07 | | std | 25.95 | | cv | 0.924 | | sampleLengths | | 0 | 78 | | 1 | 36 | | 2 | 75 | | 3 | 43 | | 4 | 8 | | 5 | 23 | | 6 | 7 | | 7 | 53 | | 8 | 60 | | 9 | 1 | | 10 | 116 | | 11 | 7 | | 12 | 46 | | 13 | 6 | | 14 | 27 | | 15 | 79 | | 16 | 4 | | 17 | 48 | | 18 | 26 | | 19 | 10 | | 20 | 21 | | 21 | 6 | | 22 | 42 | | 23 | 55 | | 24 | 11 | | 25 | 10 | | 26 | 41 | | 27 | 1 | | 28 | 26 | | 29 | 5 | | 30 | 5 | | 31 | 5 | | 32 | 26 | | 33 | 6 | | 34 | 10 | | 35 | 45 | | 36 | 4 | | 37 | 11 | | 38 | 39 | | 39 | 31 | | 40 | 9 | | 41 | 17 |
| |
| 98.10% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 98 | | matches | | 0 | "been scratched" | | 1 | "were gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 161 | | matches | | 0 | "was coming" | | 1 | "was waiting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 117 | | ratio | 0.077 | | matches | | 0 | "The beam of her torch cut through the gloom, illuminating the graffiti-scarred walls—tags in languages she didn’t recognize, symbols that made her fingers twitch toward the cross at her throat." | | 1 | "The verdigris patina was unmistakable—old, but not antique." | | 2 | "The moment her fingers brushed the brass, a chill ran up her arm—not the cold of the station, but something deeper, like the memory of ice on bare skin." | | 3 | "The security footage had shown nothing—just Morris stepping into a patch of shadow and vanishing." | | 4 | "The tracks called to her, that unnatural dark pulling at something deep in her chest—the same instinct that had made her trust Morris when he’d laughed off her concerns about the warehouse, the same instinct that had failed her when it mattered." | | 5 | "But a *symbol*, carved into the wall at eye level—a circle bisected by a jagged line, the same mark she’d found scrawled in Morris’s notebook the night he disappeared." | | 6 | "A sound echoed behind her—the scuff of a shoe on concrete." | | 7 | "Not a voice—*voices*, layered, distorted, like a radio tuned between stations." | | 8 | "For a heartbeat, the darkness *moved*, coalescing into shapes—tall, slender figures with limbs too long, their edges blurring into the black." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 928 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 23 | | adverbRatio | 0.02478448275862069 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.005387931034482759 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 117 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 117 | | mean | 10.08 | | std | 8.45 | | cv | 0.839 | | sampleLengths | | 0 | 22 | | 1 | 19 | | 2 | 30 | | 3 | 4 | | 4 | 3 | | 5 | 21 | | 6 | 6 | | 7 | 9 | | 8 | 3 | | 9 | 9 | | 10 | 9 | | 11 | 28 | | 12 | 5 | | 13 | 21 | | 14 | 11 | | 15 | 8 | | 16 | 1 | | 17 | 4 | | 18 | 3 | | 19 | 16 | | 20 | 8 | | 21 | 7 | | 22 | 16 | | 23 | 5 | | 24 | 2 | | 25 | 3 | | 26 | 36 | | 27 | 14 | | 28 | 3 | | 29 | 18 | | 30 | 29 | | 31 | 3 | | 32 | 5 | | 33 | 2 | | 34 | 1 | | 35 | 10 | | 36 | 13 | | 37 | 3 | | 38 | 24 | | 39 | 15 | | 40 | 15 | | 41 | 16 | | 42 | 20 | | 43 | 3 | | 44 | 4 | | 45 | 5 | | 46 | 41 | | 47 | 2 | | 48 | 4 | | 49 | 17 |
| |
| 56.70% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.37606837606837606 | | totalSentences | 117 | | uniqueOpeners | 44 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 90 | | matches | | 0 | "Instead, she let her gaze" | | 1 | "Then she saw it." | | 2 | "Then the torch steadied, and" | | 3 | "Then she keyed her radio" |
| | ratio | 0.044 | |
| 91.11% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 29 | | totalSentences | 90 | | matches | | 0 | "His torch wobbled, casting jagged" | | 1 | "She never did when the" | | 2 | "It pointed *down*, toward the" | | 3 | "She crouched, gloved fingers hovering" | | 4 | "They were functional." | | 5 | "She’d seen enough occult nonsense" | | 6 | "she asked, voice low" | | 7 | "He lowered his voice" | | 8 | "She reached into her coat," | | 9 | "She ignored Lin, turning the" | | 10 | "she said, standing abruptly" | | 11 | "She pocketed the compass, the" | | 12 | "She didn’t wait for an" | | 13 | "She stepped onto the rails," | | 14 | "Her breath fogged." | | 15 | "Her torchlight wavered." | | 16 | "She spun, hand going to" | | 17 | "Her voice was steel" | | 18 | "She didn’t answer." | | 19 | "She didn’t know how." |
| | ratio | 0.322 | |
| 76.67% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 69 | | totalSentences | 90 | | matches | | 0 | "The abandoned Tube station reeked" | | 1 | "Detective Harlow Quinn stepped over" | | 2 | "The beam of her torch" | | 3 | "The voice belonged to PC" | | 4 | "His torch wobbled, casting jagged" | | 5 | "Harlow didn’t answer." | | 6 | "She never did when the" | | 7 | "The platform was empty save" | | 8 | "The needle didn’t point north." | | 9 | "It pointed *down*, toward the" | | 10 | "She crouched, gloved fingers hovering" | | 11 | "The verdigris patina was unmistakable—old," | | 12 | "The sigils weren’t decorative." | | 13 | "They were functional." | | 14 | "She’d seen enough occult nonsense" | | 15 | "she asked, voice low" | | 16 | "Lin flipped a page on" | | 17 | "Harlow exhaled through her nose." | | 18 | "The constable hesitated." | | 19 | "He lowered his voice" |
| | ratio | 0.767 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 90 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 34 | | technicalSentenceCount | 7 | | matches | | 0 | "The abandoned Tube station reeked of damp concrete and something older, something that clung to the back of the throat like rust." | | 1 | "The beam of her torch cut through the gloom, illuminating the graffiti-scarred walls—tags in languages she didn’t recognize, symbols that made her fingers twitc…" | | 2 | "The platform was empty save for a single object: a small brass compass, its casing etched with sigils that looked like they’d been scratched by a trembling hand…" | | 3 | "The sigils pulsed faintly under her torchlight, as if reacting to her presence." | | 4 | "The tracks called to her, that unnatural dark pulling at something deep in her chest—the same instinct that had made her trust Morris when he’d laughed off her …" | | 5 | "But the compass in her pocket grew heavier, the needle spinning wildly now, as if sensing her proximity to something vast and hungry." | | 6 | "For a heartbeat, the darkness *moved*, coalescing into shapes—tall, slender figures with limbs too long, their edges blurring into the black." |
| |
| 62.50% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 8 | | uselessAdditionCount | 1 | | matches | | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 28 | | tagDensity | 0.107 | | leniency | 0.214 | | rawRatio | 0.333 | | effectiveRatio | 0.071 | |