| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 87.26% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1177 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "sharply" | | 1 | "slowly" | | 2 | "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) | |
| 19.29% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1177 | | totalAiIsms | 19 | | found | | | highlights | | 0 | "warmth" | | 1 | "pulse" | | 2 | "loomed" | | 3 | "silence" | | 4 | "whisper" | | 5 | "trembled" | | 6 | "stomach" | | 7 | "pulsed" | | 8 | "wavering" | | 9 | "searing" | | 10 | "lurch" | | 11 | "glinting" | | 12 | "flicked" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "clenched jaw/fists" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 143 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 0 | | narrationSentences | 143 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 143 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 43 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 11 | | markdownWords | 46 | | totalWords | 1169 | | ratio | 0.039 | | matches | | 0 | "Get a grip, Carter." | | 1 | "Rory." | | 2 | "You came back." | | 3 | "You always come back." | | 4 | "moved." | | 5 | "You know what you are." | | 6 | "There you are." | | 7 | "You’ve been running for so long." | | 8 | "You think that will help you?" | | 9 | "You can’t hurt me, little moth." | | 10 | "You don’t even know what you’re holding." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 2 | | unquotedAttributions | 0 | | matches | (empty) | |
| 81.57% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 25 | | wordCount | 1169 | | uniqueNames | 7 | | maxNameDensity | 1.37 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Rory" | | discoveredNames | | Heartstone | 1 | | Pendant | 1 | | Fae | 1 | | Grove | 3 | | Eva | 1 | | Rory | 16 | | Silence | 2 |
| | persons | | | places | | | globalScore | 0.816 | | windowScore | 0.833 | |
| 89.02% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 82 | | glossingSentenceCount | 2 | | matches | | 0 | "looked like faces" | | 1 | "as if leaning in" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1169 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 143 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 56 | | mean | 20.88 | | std | 22.99 | | cv | 1.101 | | sampleLengths | | 0 | 92 | | 1 | 66 | | 2 | 70 | | 3 | 6 | | 4 | 2 | | 5 | 50 | | 6 | 60 | | 7 | 5 | | 8 | 5 | | 9 | 33 | | 10 | 5 | | 11 | 44 | | 12 | 8 | | 13 | 28 | | 14 | 60 | | 15 | 8 | | 16 | 31 | | 17 | 4 | | 18 | 6 | | 19 | 1 | | 20 | 43 | | 21 | 3 | | 22 | 28 | | 23 | 4 | | 24 | 59 | | 25 | 5 | | 26 | 8 | | 27 | 41 | | 28 | 1 | | 29 | 4 | | 30 | 4 | | 31 | 50 | | 32 | 3 | | 33 | 4 | | 34 | 12 | | 35 | 69 | | 36 | 4 | | 37 | 3 | | 38 | 32 | | 39 | 6 | | 40 | 28 | | 41 | 6 | | 42 | 24 | | 43 | 6 | | 44 | 38 | | 45 | 7 | | 46 | 32 | | 47 | 2 | | 48 | 1 | | 49 | 4 |
| |
| 90.54% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 143 | | matches | | 0 | "was supposed" | | 1 | "was gone" | | 2 | "was burned" | | 3 | "were gone" | | 4 | "were made" | | 5 | "was gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 215 | | matches | | 0 | "were watching" | | 1 | "was coming" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 8 | | totalSentences | 143 | | ratio | 0.056 | | matches | | 0 | "She had come to the Fae Grove for answers—answers about the pendant, about the strange dreams that had plagued her since she’d first touched it, about the way her life had unraveled in the weeks since Eva had vanished without a trace." | | 1 | "The trees here were different—taller, their branches knotted into shapes that almost looked like faces." | | 2 | "The dreams—they were always the same." | | 3 | "Not just the shapes in the bark—the way the branches shifted, just slightly, as if leaning in." | | 4 | "She had heard it before—in the dreams." | | 5 | "She squeezed her eyes shut, but the image was burned into her retinas—the way the darkness pooled, the way it stretched, the way it *moved.*" | | 6 | "Its skin—if it was skin—was the color of old bruises, mottled and shifting, like smoke trapped beneath the surface." | | 7 | "And then—" |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1179 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 44 | | adverbRatio | 0.037319762510602206 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.007633587786259542 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 143 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 143 | | mean | 8.17 | | std | 6.39 | | cv | 0.781 | | sampleLengths | | 0 | 25 | | 1 | 25 | | 2 | 42 | | 3 | 22 | | 4 | 20 | | 5 | 9 | | 6 | 7 | | 7 | 4 | | 8 | 4 | | 9 | 10 | | 10 | 7 | | 11 | 11 | | 12 | 8 | | 13 | 16 | | 14 | 15 | | 15 | 3 | | 16 | 6 | | 17 | 2 | | 18 | 2 | | 19 | 2 | | 20 | 15 | | 21 | 5 | | 22 | 1 | | 23 | 12 | | 24 | 9 | | 25 | 4 | | 26 | 9 | | 27 | 14 | | 28 | 4 | | 29 | 6 | | 30 | 5 | | 31 | 6 | | 32 | 8 | | 33 | 8 | | 34 | 2 | | 35 | 3 | | 36 | 5 | | 37 | 2 | | 38 | 4 | | 39 | 4 | | 40 | 3 | | 41 | 14 | | 42 | 6 | | 43 | 5 | | 44 | 17 | | 45 | 17 | | 46 | 10 | | 47 | 8 | | 48 | 3 | | 49 | 4 |
| |
| 33.92% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 23 | | diversityRatio | 0.17482517482517482 | | totalSentences | 143 | | uniqueOpeners | 25 | |
| 26.46% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 126 | | matches | | 0 | "Just the trees, their gnarled" |
| | ratio | 0.008 | |
| 70.79% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 47 | | totalSentences | 126 | | matches | | 0 | "She had come to the" | | 1 | "She hesitated, her breath fogging" | | 2 | "She swallowed hard." | | 3 | "She clenched her fists, nails" | | 4 | "She knelt, pressing her fingers" | | 5 | "She had to focus." | | 6 | "She had come here to" | | 7 | "It had to be." | | 8 | "She was alone." | | 9 | "She turned slowly, her breath" | | 10 | "She knew that sound." | | 11 | "She had heard it before—in" | | 12 | "It was coming from the" | | 13 | "She took a step back," | | 14 | "It wasn’t there." | | 15 | "It couldn’t be." | | 16 | "She blinked, and it was" | | 17 | "They were inside her head" | | 18 | "Her name, spoken in a" | | 19 | "She clapped her hands over" |
| | ratio | 0.373 | |
| 7.62% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 114 | | totalSentences | 126 | | matches | | 0 | "The night air was thick" | | 1 | "Rory adjusted the strap of" | | 2 | "She had come to the" | | 3 | "The standing stones loomed ahead," | | 4 | "The boundary between worlds hummed" | | 5 | "She hesitated, her breath fogging" | | 6 | "The Grove was supposed to" | | 7 | "Isolde had sworn it." | | 8 | "The moment she stepped between" | | 9 | "The air grew heavier, the" | | 10 | "The wildflowers at her feet" | | 11 | "Rory exhaled sharply, forcing herself" | | 12 | "The clearing opened before her," | | 13 | "The trees here were different—taller," | | 14 | "She swallowed hard." | | 15 | "A sound cut through the" | | 16 | "A breath, maybe, or the" | | 17 | "Rory spun, her pulse quickening." | | 18 | "She clenched her fists, nails" | | 19 | "She knelt, pressing her fingers" |
| | ratio | 0.905 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 126 | | matches | (empty) | | ratio | 0 | |
| 36.47% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 47 | | technicalSentenceCount | 7 | | matches | | 0 | "The night air was thick with the scent of damp earth and wildflowers, the kind that bloomed only in the hidden places of the world." | | 1 | "The standing stones loomed ahead, ancient oaks twisted into shapes that defied reason, their bark blackened as if scorched by time itself." | | 2 | "The boundary between worlds hummed at the edge of her senses, a low vibration that set her teeth on edge." | | 3 | "The whispers grew louder, overlapping, a chorus of breathy, guttural sounds that didn’t belong to any language she knew." | | 4 | "Rory whirled, her hand flying to her pocket, fingers closing around the switchblade she always carried." | | 5 | "Its limbs were too long, its joints bending in ways that made her stomach lurch." | | 6 | "The thing’s voice was a scream now, a sound that set her teeth on edge." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |