| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 1 | | adverbTags | | 0 | "Her fingers closed around [around]" |
| | dialogueSentences | 28 | | tagDensity | 0.536 | | leniency | 1 | | rawRatio | 0.067 | | effectiveRatio | 0.067 | |
| 94.37% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 888 | | totalAiIsmAdverbs | 1 | | 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) | |
| 26.80% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 888 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "echoed" | | 1 | "flickered" | | 2 | "traced" | | 3 | "shimmered" | | 4 | "silk" | | 5 | "flicked" | | 6 | "synthetic" | | 7 | "pristine" | | 8 | "beacon" | | 9 | "pulsed" | | 10 | "whisper" |
| |
| 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 | 68 | | matches | (empty) | |
| 79.83% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 0 | | narrationSentences | 68 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 81 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 36 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 6 | | markdownWords | 27 | | totalWords | 881 | | ratio | 0.031 | | matches | | 0 | "Resin" | | 1 | "Or ash" | | 2 | "breathed" | | 3 | "Not a tear," | | 4 | "A hunger. It’s not the shadows you have to worry about. It’s what’s inside them." | | 5 | "Like a camera lens focusing." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.53% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 29 | | wordCount | 677 | | uniqueNames | 14 | | maxNameDensity | 1.33 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Underground | 1 | | Harlow | 1 | | Quinn | 9 | | Tube | 1 | | Northern | 1 | | Line | 1 | | David | 1 | | Hales | 7 | | Windsor | 1 | | Veil | 2 | | Market | 1 | | Compass | 1 | | Morris | 1 | | Pale | 1 |
| | persons | | 0 | "Underground" | | 1 | "Harlow" | | 2 | "Quinn" | | 3 | "Line" | | 4 | "David" | | 5 | "Hales" | | 6 | "Market" | | 7 | "Morris" |
| | places | | | globalScore | 0.835 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 45 | | glossingSentenceCount | 4 | | matches | | 0 | "looked like he’d been plucked from a boar" | | 1 | "something like liquid oil under a blacklight" | | 2 | "looked like black ink but smelled like dr" | | 3 | "smelled like dried blood" | | 4 | "smelled like the cold breath of a static T" |
| |
| 86.49% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 1.135 | | wordCount | 881 | | matches | | 0 | "not toward the exit, but into the tunnel beyond the platform" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 81 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 29 | | mean | 30.38 | | std | 25.45 | | cv | 0.838 | | sampleLengths | | 0 | 95 | | 1 | 46 | | 2 | 80 | | 3 | 7 | | 4 | 7 | | 5 | 4 | | 6 | 45 | | 7 | 4 | | 8 | 52 | | 9 | 65 | | 10 | 11 | | 11 | 14 | | 12 | 3 | | 13 | 60 | | 14 | 51 | | 15 | 14 | | 16 | 19 | | 17 | 3 | | 18 | 59 | | 19 | 42 | | 20 | 5 | | 21 | 6 | | 22 | 31 | | 23 | 44 | | 24 | 10 | | 25 | 37 | | 26 | 37 | | 27 | 2 | | 28 | 28 |
| |
| 94.94% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 68 | | matches | | 0 | "been plucked" | | 1 | "was knotted" |
| |
| 92.47% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 124 | | matches | | 0 | "was lying" | | 1 | "was waiting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 1 | | flaggedSentences | 7 | | totalSentences | 81 | | ratio | 0.086 | | matches | | 0 | "The victim—a man in a tailored pinstripe suit, face frozen in a silent scream—looked like he’d been plucked from a boardroom and dumped here with a red pen still clutched in his stiff fingers." | | 1 | "The walls here were different from the others she’d seen in this line of work—the concrete bore puckered scars where it should have been smooth, as though something had pressed up against it and *breathed*." | | 2 | "When she flicked it open, the needle spun wildly before locking northward—not toward the exit, but into the tunnel beyond the platform." | | 3 | "Quinn plucked it free; the thing was warm, thrumming." | | 4 | "The compass needle twitched, then steadied—pointing directly at the dead man’s left eye." | | 5 | "She leaned closer—no, the same eye." | | 6 | "She looked at the corpse’s watch—silver, sleek, pristine." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 686 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 20 | | adverbRatio | 0.029154518950437316 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.004373177842565598 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 81 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 81 | | mean | 10.88 | | std | 7.76 | | cv | 0.714 | | sampleLengths | | 0 | 19 | | 1 | 24 | | 2 | 18 | | 3 | 34 | | 4 | 14 | | 5 | 8 | | 6 | 24 | | 7 | 13 | | 8 | 19 | | 9 | 14 | | 10 | 3 | | 11 | 2 | | 12 | 6 | | 13 | 23 | | 14 | 7 | | 15 | 2 | | 16 | 5 | | 17 | 4 | | 18 | 14 | | 19 | 13 | | 20 | 18 | | 21 | 4 | | 22 | 17 | | 23 | 35 | | 24 | 6 | | 25 | 17 | | 26 | 22 | | 27 | 20 | | 28 | 2 | | 29 | 9 | | 30 | 10 | | 31 | 4 | | 32 | 3 | | 33 | 3 | | 34 | 12 | | 35 | 8 | | 36 | 11 | | 37 | 11 | | 38 | 2 | | 39 | 9 | | 40 | 4 | | 41 | 23 | | 42 | 9 | | 43 | 10 | | 44 | 9 | | 45 | 6 | | 46 | 8 | | 47 | 7 | | 48 | 12 | | 49 | 3 |
| |
| 62.96% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.4074074074074074 | | totalSentences | 81 | | uniqueOpeners | 33 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 56 | | matches | | 0 | "Just a smear of something" | | 1 | "Somewhere in the dark, something" |
| | ratio | 0.036 | |
| 70.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 21 | | totalSentences | 56 | | matches | | 0 | "Her boots echoed in the" | | 1 | "His voice hummed with the" | | 2 | "She lifted his left hand," | | 3 | "Her left wrist twitched where" | | 4 | "she said, voice flat" | | 5 | "He squinted at the scuffed" | | 6 | "She pointed at the tendrils" | | 7 | "She stood, sweeping her gaze" | | 8 | "Her fingers closed around the" | | 9 | "She stepped closer to the" | | 10 | "Her partner, Morris, had described" | | 11 | "It’s not the shadows you" | | 12 | "It’s what’s inside them.*" | | 13 | "she cut in" | | 14 | "She ground the token between" | | 15 | "She leaned closer—no, the same" | | 16 | "She looked at the corpse’s" | | 17 | "she nodded at the compass" | | 18 | "She turned to the tunnel," | | 19 | "It smelled like the cold" |
| | ratio | 0.375 | |
| 31.43% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 48 | | totalSentences | 56 | | matches | | 0 | "The greasy smoke of the" | | 1 | "Her boots echoed in the" | | 2 | "A single bulb overhead flickered," | | 3 | "The victim—a man in a" | | 4 | "A digital blood-spatter analysis glowed" | | 5 | "His voice hummed with the" | | 6 | "Quinn crouched, gloved fingers itching" | | 7 | "The dead man’s tie was" | | 8 | "She lifted his left hand," | | 9 | "*Resin*, she thought." | | 10 | "The Veil Market dealt in" | | 11 | "Her left wrist twitched where" | | 12 | "she said, voice flat" | | 13 | "He squinted at the scuffed" | | 14 | "She pointed at the tendrils" | | 15 | "The threads shimmered with a" | | 16 | "She stood, sweeping her gaze" | | 17 | "The walls here were different" | | 18 | "A faint buzz pricked her" | | 19 | "Quinn reached into her coat" |
| | ratio | 0.857 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 56 | | matches | (empty) | | ratio | 0 | |
| 91.84% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 28 | | technicalSentenceCount | 2 | | matches | | 0 | "The threads shimmered with a color that didn’t exist in daylight, something like liquid oil under a blacklight." | | 1 | "The walls here were different from the others she’d seen in this line of work—the concrete bore puckered scars where it should have been smooth, as though somet…" |
| |
| 58.33% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 2 | | matches | | 0 | "she said, voice flat" | | 1 | "She turned, the air there thickening" |
| |
| 78.57% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 2 | | fancyTags | | 0 | "muttered the sergeant beside her (mutter)" | | 1 | "he snapped (snap)" |
| | dialogueSentences | 28 | | tagDensity | 0.214 | | leniency | 0.429 | | rawRatio | 0.333 | | effectiveRatio | 0.143 | |