| 91.89% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 7 | | adverbTagCount | 2 | | adverbTags | | 0 | "She paused then [then]" | | 1 | "Quinn stepped back [back]" |
| | dialogueSentences | 37 | | tagDensity | 0.189 | | leniency | 0.378 | | rawRatio | 0.286 | | effectiveRatio | 0.108 | |
| 80.56% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1286 | | totalAiIsmAdverbs | 5 | | found | | 0 | | | 1 | | | 2 | | | 3 | | adverb | "barely above a whisper" | | count | 1 |
| | 4 | |
| | highlights | | 0 | "slowly" | | 1 | "lightly" | | 2 | "sharply" | | 3 | "barely above a whisper" | | 4 | "slightly" |
| |
| 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) | |
| 37.79% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1286 | | totalAiIsms | 16 | | found | | | highlights | | 0 | "scanning" | | 1 | "familiar" | | 2 | "flicked" | | 3 | "pulse" | | 4 | "electric" | | 5 | "charged" | | 6 | "whisper" | | 7 | "echo" | | 8 | "etched" | | 9 | "silence" | | 10 | "weight" | | 11 | "stark" |
| |
| 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 | 109 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 0 | | narrationSentences | 109 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 137 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 65 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 13 | | markdownWords | 16 | | totalWords | 1274 | | ratio | 0.013 | | matches | | 0 | "absence" | | 1 | "isn’t" | | 2 | "magical" | | 3 | "resettle" | | 4 | "appeared" | | 5 | "lack" | | 6 | "warm" | | 7 | "anchored" | | 8 | "don’t leave" | | 9 | "absorbed" | | 10 | "pulled" | | 11 | "into the tunnel" | | 12 | "waiting" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 5 | | unquotedAttributions | 0 | | matches | (empty) | |
| 16.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 45 | | wordCount | 899 | | uniqueNames | 7 | | maxNameDensity | 2.45 | | worstName | "Quinn" | | maxWindowNameDensity | 4.5 | | worstWindowName | "Quinn" | | discoveredNames | | Tube | 1 | | Eva | 18 | | Quinn | 22 | | Static | 1 | | Veil | 1 | | Compass | 1 | | Market | 1 |
| | persons | | | places | | | globalScore | 0.276 | | windowScore | 0.167 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 59 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1274 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 137 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 54 | | mean | 23.59 | | std | 25.01 | | cv | 1.06 | | sampleLengths | | 0 | 133 | | 1 | 44 | | 2 | 2 | | 3 | 63 | | 4 | 17 | | 5 | 78 | | 6 | 6 | | 7 | 16 | | 8 | 2 | | 9 | 82 | | 10 | 32 | | 11 | 37 | | 12 | 53 | | 13 | 25 | | 14 | 17 | | 15 | 30 | | 16 | 44 | | 17 | 10 | | 18 | 9 | | 19 | 26 | | 20 | 42 | | 21 | 4 | | 22 | 6 | | 23 | 15 | | 24 | 20 | | 25 | 5 | | 26 | 70 | | 27 | 6 | | 28 | 22 | | 29 | 12 | | 30 | 18 | | 31 | 32 | | 32 | 4 | | 33 | 30 | | 34 | 11 | | 35 | 10 | | 36 | 27 | | 37 | 1 | | 38 | 4 | | 39 | 53 | | 40 | 9 | | 41 | 25 | | 42 | 7 | | 43 | 5 | | 44 | 13 | | 45 | 38 | | 46 | 5 | | 47 | 4 | | 48 | 5 | | 49 | 9 |
| |
| 95.61% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 109 | | matches | | 0 | "was overlaid" | | 1 | "been blindfolded" | | 2 | "been killed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 160 | | matches | | 0 | "was spinning" | | 1 | "was coming" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 137 | | ratio | 0.08 | | matches | | 0 | "But it wasn’t the decay that made her jaw tighten—it was the *absence* of decay." | | 1 | "She knew that voice—Eva’s, soft with the faintest tremor beneath the dry wit." | | 2 | "Eva looked exactly as she had the last time Quinn had seen her—except for the dark smudges beneath her eyes and the way her fingers kept tapping against the strap of her satchel, a nervous tic she’d had since childhood." | | 3 | "“Either that or the Market moved without them knowing. But the Market doesn’t usually... *resettle* mid-cycle.” Eva’s voice was tight, professional—until she swallowed." | | 4 | "Torn shirt—expensive wool, now stained." | | 5 | "A faint, subdermal electric hum—like touching a charged wire too lightly." | | 6 | "Eva unclasped her satchel and pulled out a worn moleskine notebook, flipping to a page covered in sketches—warding symbols, ritual circles, diagrams of blood flow." | | 7 | "The eyes were wide, glassy—but not lifeless." | | 8 | "Three interlocking crescents—moon phases reversed." | | 9 | "The face etched with protective sigils—her father’s old pocket watch, repurposed into a Veil Compass by some artisan in the Market months ago." | | 10 | "The tunnel stretched ahead, its darkness no longer just absence—but a presence." |
| |
| 89.79% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 915 | | adjectiveStacks | 1 | | stackExamples | | 0 | "faint, subdermal electric hum—like" |
| | adverbCount | 41 | | adverbRatio | 0.04480874316939891 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.01639344262295082 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 137 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 137 | | mean | 9.3 | | std | 8.64 | | cv | 0.929 | | sampleLengths | | 0 | 17 | | 1 | 31 | | 2 | 17 | | 3 | 9 | | 4 | 15 | | 5 | 22 | | 6 | 7 | | 7 | 1 | | 8 | 7 | | 9 | 7 | | 10 | 13 | | 11 | 7 | | 12 | 4 | | 13 | 20 | | 14 | 2 | | 15 | 3 | | 16 | 13 | | 17 | 14 | | 18 | 26 | | 19 | 7 | | 20 | 17 | | 21 | 9 | | 22 | 24 | | 23 | 40 | | 24 | 5 | | 25 | 6 | | 26 | 12 | | 27 | 4 | | 28 | 2 | | 29 | 18 | | 30 | 64 | | 31 | 6 | | 32 | 19 | | 33 | 7 | | 34 | 23 | | 35 | 14 | | 36 | 5 | | 37 | 5 | | 38 | 16 | | 39 | 13 | | 40 | 7 | | 41 | 5 | | 42 | 1 | | 43 | 1 | | 44 | 18 | | 45 | 1 | | 46 | 2 | | 47 | 2 | | 48 | 2 | | 49 | 7 |
| |
| 62.29% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.40875912408759124 | | totalSentences | 137 | | uniqueOpeners | 56 | |
| 71.68% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 93 | | matches | | 0 | "Then she saw it." | | 1 | "Then, a voice:" |
| | ratio | 0.022 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 20 | | totalSentences | 93 | | matches | | 0 | "Her nostrils flared once, testing" | | 1 | "She followed the crisscrossing lines" | | 2 | "She knew that voice—Eva’s, soft" | | 3 | "She kept her eyes scanning" | | 4 | "She exhaled through her nose" | | 5 | "She paused, then added" | | 6 | "Her boots made little sound" | | 7 | "She crouched, running a gloved" | | 8 | "It was the *lack* of" | | 9 | "It wasn’t clammy." | | 10 | "It was *warm*." | | 11 | "She knelt again, this time" | | 12 | "She pulled back sharply." | | 13 | "She tapped the page" | | 14 | "It didn’t crack." | | 15 | "It *absorbed* into the sole" | | 16 | "She pulled out her radio," | | 17 | "She turned to Eva, her" | | 18 | "She looked down." | | 19 | "She slid behind Quinn’s broad" |
| | ratio | 0.215 | |
| 89.03% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 69 | | totalSentences | 93 | | matches | | 0 | "The air smelled of damp" | | 1 | "Quinn adjusted the strap of" | | 2 | "The platform stretched before her," | | 3 | "The usual stench of mildew" | | 4 | "Her nostrils flared once, testing" | | 5 | "She followed the crisscrossing lines" | | 6 | "Haphazard protective sigils, half-erased by" | | 7 | "Someone had clearly panicked." | | 8 | "The officers called in scene" | | 9 | "Quinn didn’t turn." | | 10 | "She knew that voice—Eva’s, soft" | | 11 | "She kept her eyes scanning" | | 12 | "She exhaled through her nose" | | 13 | "Quinn finally pivoted, her sharp" | | 14 | "Eva looked exactly as she" | | 15 | "That, at least, was familiar." | | 16 | "Eva touched her hair self-consciously," | | 17 | "Eva gestured toward the tunnel" | | 18 | "She paused, then added" | | 19 | "Quinn’s gaze flicked to the" |
| | ratio | 0.742 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 93 | | matches | | 0 | "As if he’d only just" | | 1 | "As if the blood hadn’t" |
| | ratio | 0.022 | |
| 40.82% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 35 | | technicalSentenceCount | 5 | | matches | | 0 | "The air smelled of damp concrete and something older, something that prickled the back of her throat." | | 1 | "But it wasn’t the decay that made her jaw tighten—it was the *absence* of decay." | | 2 | "She kept her eyes scanning the platform, her boots clicking against the cracked tiles." | | 3 | "Quinn stepped closer to the body, her eyes scanning, absorbing." | | 4 | "But it wasn’t the cut that made Quinn’s pulse hum." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 7 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 37 | | tagDensity | 0.027 | | leniency | 0.054 | | rawRatio | 0 | | effectiveRatio | 0 | |