| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 1 | | adverbTags | | 0 | "Isolde said softly [softly]" |
| | dialogueSentences | 32 | | tagDensity | 0.156 | | leniency | 0.313 | | rawRatio | 0.2 | | effectiveRatio | 0.063 | |
| 83.09% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1183 | | totalAiIsmAdverbs | 4 | | found | | 0 | | | 1 | | adverb | "deliberately" | | count | 1 |
| | 2 | | | 3 | |
| | highlights | | 0 | "slowly" | | 1 | "deliberately" | | 2 | "slightly" | | 3 | "softly" |
| |
| 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) | |
| 15.47% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1183 | | totalAiIsms | 20 | | found | | | highlights | | 0 | "weight" | | 1 | "whisper" | | 2 | "silence" | | 3 | "shimmered" | | 4 | "vibrated" | | 5 | "could feel" | | 6 | "flickered" | | 7 | "pulse" | | 8 | "rhythmic" | | 9 | "flicked" | | 10 | "trembled" | | 11 | "unraveling" | | 12 | "echoing" |
| |
| 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 | 88 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 88 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 114 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 44 | | ratio | 0 | | matches | (empty) | |
| 0.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 56 | | markdownWords | 166 | | totalWords | 1168 | | ratio | 0.142 | | matches | | 0 | "she" | | 1 | "\"She waits. The Seer always waits.\"" | | 2 | "not a sound, but a thought, sharp as a blade drawn across stone." | | 3 | "You are late." | | 4 | "not" | | 5 | "Silence is a courtesy here." | | 6 | "moved" | | 7 | "alive" | | 8 | "breathing" | | 9 | "\"Do not touch what you do not understand.\"" | | 10 | "\"Because some things remember.\"" | | 11 | "moved" | | 12 | "weird" | | 13 | "\"Weird is the least of it,\"" | | 14 | "clicking" | | 15 | "sing" | | 16 | "quiet" | | 17 | "floated" | | 18 | "floating" | | 19 | "\"The earth remembers me.\"" | | 20 | "\"She remembers *everything" | | 21 | "\"You have brought the key.\"" | | 22 | "\"To the door that should not be opened.\"" | | 23 | "\"The Veil thins. The hunger stirs.\"" | | 24 | "\"Yes.\"" | | 25 | "\"The barrier weakens. And where the barrier weakens, the hungry things come.\"" | | 26 | "screamed" | | 27 | "wrong" | | 28 | "\"We should go.\"" | | 29 | "\"No. You should *listen" | | 30 | "organic" | | 31 | "shifted" | | 32 | "\"The grove is waking,\"" | | 33 | "\"And it is hungry.\"" | | 34 | "thing" | | 35 | "smiled" | | 36 | "\"Run.\"" | | 37 | "burning" | | 38 | "split" | | 39 | "screamed" | | 40 | "snap" | | 41 | "\"The key is true. But the hunger is not yet sated.\"" | | 42 | "\"We need to leave. Now.\"" | | 43 | "\"The Veil is thinning,\"" | | 44 | "\"And whatever is on the other side is *waiting" | | 45 | "Now." | | 46 | "reacted" | | 47 | "feel" | | 48 | "knowing" | | 49 | "watched" | | 50 | "\"Aurora, *now" | | 51 | "wrong" | | 52 | "screaming" | | 53 | "see" | | 54 | "clicking" | | 55 | "\"We are not done.\"" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 1 | | matches | | 0 | "A low, resonant hum vibrated up her arm, and for a heartbeat, she swore she could feel the tree *breathing*." |
| |
| 16.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 52 | | wordCount | 1019 | | uniqueNames | 5 | | maxNameDensity | 2.65 | | worstName | "Aurora" | | maxWindowNameDensity | 4.5 | | worstWindowName | "Aurora" | | discoveredNames | | Nyx | 10 | | Aurora | 27 | | Fae-forged | 3 | | Heartstone | 1 | | Isolde | 11 |
| | persons | | | places | | | globalScore | 0.175 | | windowScore | 0.167 | |
| 36.36% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 66 | | glossingSentenceCount | 3 | | matches | | 0 | "something like rusted iron and crushed petal" | | 1 | "as if watching" | | 2 | "as if holding its breath" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.856 | | wordCount | 1168 | | matches | | 0 | "not a sound, but a thought, sharp as a blade drawn across stone" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 114 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 57 | | mean | 20.49 | | std | 15.97 | | cv | 0.779 | | sampleLengths | | 0 | 5 | | 1 | 49 | | 2 | 15 | | 3 | 14 | | 4 | 25 | | 5 | 12 | | 6 | 20 | | 7 | 68 | | 8 | 43 | | 9 | 22 | | 10 | 7 | | 11 | 4 | | 12 | 58 | | 13 | 9 | | 14 | 8 | | 15 | 53 | | 16 | 29 | | 17 | 29 | | 18 | 4 | | 19 | 9 | | 20 | 10 | | 21 | 22 | | 22 | 6 | | 23 | 25 | | 24 | 5 | | 25 | 26 | | 26 | 36 | | 27 | 11 | | 28 | 10 | | 29 | 31 | | 30 | 12 | | 31 | 11 | | 32 | 11 | | 33 | 48 | | 34 | 5 | | 35 | 14 | | 36 | 44 | | 37 | 3 | | 38 | 40 | | 39 | 15 | | 40 | 19 | | 41 | 9 | | 42 | 11 | | 43 | 21 | | 44 | 7 | | 45 | 3 | | 46 | 41 | | 47 | 6 | | 48 | 7 | | 49 | 34 |
| |
| 97.29% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 88 | | matches | | 0 | "was gone" | | 1 | "was dragged" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 181 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 15 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 114 | | ratio | 0.105 | | matches | | 0 | "Aurora stepped forward, her boots sinking into damp earth that smelled of damp earth and something older—something like rusted iron and crushed petals." | | 1 | "Isolde’s voice slithered into Aurora’s mind before she could react—*not a sound, but a thought, sharp as a blade drawn across stone.* **You are late.**" | | 2 | "They rose like skeletal fingers from the earth, their bark smooth and silvered, their leaves—if they could be called leaves—long and veined with veins of liquid silver that shimmered when the wind stirred." | | 3 | "The silvered trees gave way to others—taller, their leaves broad and flat, catching the light in ways that made her eyes ache." | | 4 | "A sound cut through the silence—a soft, rhythmic *clicking*, like bones knitting together." | | 5 | "A figure emerged from between two of the shifting trees—tall, slender, her silver hair catching the dim light like spun moonlight." | | 6 | "Isolde’s gaze flicked to the pendant at Aurora’s throat—the Heartstone, warm against her skin now, pulsing faintly." | | 7 | "Not an earthquake—something deeper, something *organic*." | | 8 | "Its mouth—if it could be called a mouth—was a slit of black, dripping with something that wasn’t saliva." | | 9 | "The thing shrieked, its tendrils lashing out—but Isolde was already there, her hand pressed to the earth, chanting in a language that made Aurora’s teeth ache." | | 10 | "Aurora could *feel* it—the hunger, the *knowing*, the way the grove itself *watched*." | | 11 | "Aurora turned, her boots crunching on something—something *wrong*—as she ran." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1034 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 41 | | adverbRatio | 0.039651837524177946 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.014506769825918761 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 114 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 114 | | mean | 10.25 | | std | 7.69 | | cv | 0.75 | | sampleLengths | | 0 | 5 | | 1 | 23 | | 2 | 10 | | 3 | 16 | | 4 | 15 | | 5 | 8 | | 6 | 6 | | 7 | 25 | | 8 | 8 | | 9 | 4 | | 10 | 20 | | 11 | 7 | | 12 | 33 | | 13 | 4 | | 14 | 24 | | 15 | 12 | | 16 | 11 | | 17 | 20 | | 18 | 14 | | 19 | 8 | | 20 | 5 | | 21 | 2 | | 22 | 4 | | 23 | 9 | | 24 | 17 | | 25 | 22 | | 26 | 10 | | 27 | 6 | | 28 | 3 | | 29 | 8 | | 30 | 13 | | 31 | 13 | | 32 | 19 | | 33 | 8 | | 34 | 7 | | 35 | 21 | | 36 | 1 | | 37 | 3 | | 38 | 15 | | 39 | 11 | | 40 | 2 | | 41 | 2 | | 42 | 5 | | 43 | 4 | | 44 | 7 | | 45 | 3 | | 46 | 17 | | 47 | 5 | | 48 | 3 | | 49 | 3 |
| |
| 44.74% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.2719298245614035 | | totalSentences | 114 | | uniqueOpeners | 31 | |
| 39.68% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 84 | | matches | | 0 | "Too many limbs, too many" |
| | ratio | 0.012 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 13 | | totalSentences | 84 | | matches | | 0 | "They rose like skeletal fingers" | | 1 | "It *moved*, slipping through the" | | 2 | "It was *quiet*, as if" | | 3 | "She didn’t walk." | | 4 | "She *floated*, her feet barely" | | 5 | "It was wrong." | | 6 | "Its mouth—if it could be" | | 7 | "It *smiled*, and the sound" | | 8 | "She bolted, the blade in" | | 9 | "She didn’t need to be" | | 10 | "She didn’t look back." | | 11 | "She could *see* the edge" | | 12 | "She collapsed to her knees," |
| | ratio | 0.155 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 81 | | totalSentences | 84 | | matches | | 0 | "The grove swallowed them whole." | | 1 | "Aurora stepped forward, her boots" | | 2 | "The air hummed, thick with" | | 3 | "Nyx drifted beside her, their" | | 4 | "Aurora muttered, her breath curling" | | 5 | "Nyx’s whisper slithered through the" | | 6 | "Isolde’s voice slithered into Aurora’s" | | 7 | "Aurora flinched, pressing a hand" | | 8 | "**Silence is a courtesy here.**" | | 9 | "The trees here weren’t trees" | | 10 | "They rose like skeletal fingers" | | 11 | "The wind didn’t stir." | | 12 | "It *moved*, slipping through the" | | 13 | "Aurora reached out, her fingers" | | 14 | "The bark was cool, almost" | | 15 | "A low, resonant hum vibrated" | | 16 | "Nyx’s shadow flickered closer, their" | | 17 | "Aurora jerked her hand back." | | 18 | "The ground sloped downward, the" | | 19 | "The deeper they went, the" |
| | ratio | 0.964 | |
| 59.52% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 84 | | matches | | 0 | "Because she knew, with a" |
| | ratio | 0.012 | |
| 57.82% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 42 | | technicalSentenceCount | 5 | | matches | | 0 | "Aurora stepped forward, her boots sinking into damp earth that smelled of damp earth and something older—something like rusted iron and crushed petals." | | 1 | "They rose like skeletal fingers from the earth, their bark smooth and silvered, their leaves—if they could be called leaves—long and veined with veins of liquid…" | | 2 | "She bolted, the blade in her hand *burning* now, its cold energy flaring to life." | | 3 | "The thing shrieked, its tendrils lashing out—but Isolde was already there, her hand pressed to the earth, chanting in a language that made Aurora’s teeth ache." | | 4 | "Aurora didn’t stop running until she was clear of the grove, until the last of the silvered trees faded behind her, until the only thing she could hear was her …" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 2 | | matches | | 0 | "Isolde stepped, her bare feet leaving no impression in the damp earth" | | 1 | "Isolde said, her voice a thread of warning" |
| |
| 87.50% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 2 | | fancyTags | | 0 | "Aurora muttered (mutter)" | | 1 | "Nyx murmured (murmur)" |
| | dialogueSentences | 32 | | tagDensity | 0.125 | | leniency | 0.25 | | rawRatio | 0.5 | | effectiveRatio | 0.125 | |