| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 12 | | adverbTagCount | 1 | | adverbTags | | 0 | "Nyx said sharply [sharply]" |
| | dialogueSentences | 41 | | tagDensity | 0.293 | | leniency | 0.585 | | rawRatio | 0.083 | | effectiveRatio | 0.049 | |
| 77.54% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1336 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "sweetly" | | 1 | "slightly" | | 2 | "really" | | 3 | "lazily" | | 4 | "sharply" | | 5 | "suddenly" |
| |
| 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) | |
| 21.41% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1336 | | totalAiIsms | 21 | | found | | | highlights | | 0 | "loomed" | | 1 | "pulsed" | | 2 | "whisper" | | 3 | "glint" | | 4 | "chill" | | 5 | "could feel" | | 6 | "weight" | | 7 | "stomach" | | 8 | "lurched" | | 9 | "silence" | | 10 | "warmth" | | 11 | "flickered" | | 12 | "etched" | | 13 | "fleeting" | | 14 | "pulse" | | 15 | "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 | 126 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 126 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 152 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 32 | | ratio | 0 | | matches | (empty) | |
| 36.24% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 30 | | markdownWords | 108 | | totalWords | 1319 | | ratio | 0.082 | | matches | | 0 | "\"This place is not for us,\"" | | 1 | "\"But it will tolerate us. For now.\"" | | 2 | "shivered" | | 3 | "\"Some doors should not be opened twice.\"" | | 4 | "twisted" | | 5 | "really" | | 6 | "should" | | 7 | "between" | | 8 | "\"Not entirely.\"" | | 9 | "\"And not not on Earth. The Fae realms don’t obey the same rules.\"" | | 10 | "\"Time works differently here. We could stay an hour and return to find years have passed. Or decades.\"" | | 11 | "\"I do not joke about the Fae.\"" | | 12 | "light" | | 13 | "cold" | | 14 | "burning" | | 15 | "waiting" | | 16 | "wrong" | | 17 | "fuck" | | 18 | "\"We are being watched.\"" | | 19 | "\"By the grove itself.\"" | | 20 | "\"This place is alive. And it is deciding whether or not we are prey.\"" | | 21 | "\"It’s herding us.\"" | | 22 | "where" | | 23 | "Her" | | 24 | "invited" | | 25 | "\"You knew we would come.\"" | | 26 | "hungry" | | 27 | "need" | | 28 | "mine" | | 29 | "what" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 50.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 52 | | wordCount | 1084 | | uniqueNames | 7 | | maxNameDensity | 1.66 | | worstName | "Rory" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Isolde" | | discoveredNames | | Heartstone | 2 | | Eva | 11 | | December | 1 | | Fae | 3 | | Isolde | 8 | | Rory | 18 | | Nyx | 9 |
| | persons | | 0 | "Eva" | | 1 | "Isolde" | | 2 | "Rory" | | 3 | "Nyx" |
| | places | | | globalScore | 0.67 | | windowScore | 0.5 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 76 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 48.37% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.516 | | wordCount | 1319 | | matches | | 0 | "not nausea, but the sensation of her edges blurring, her skin prickling as i" | | 1 | "not with mist, but with *light*" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 152 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 58 | | mean | 22.74 | | std | 18.99 | | cv | 0.835 | | sampleLengths | | 0 | 7 | | 1 | 61 | | 2 | 33 | | 3 | 42 | | 4 | 48 | | 5 | 3 | | 6 | 10 | | 7 | 58 | | 8 | 81 | | 9 | 26 | | 10 | 57 | | 11 | 19 | | 12 | 21 | | 13 | 51 | | 14 | 6 | | 15 | 40 | | 16 | 13 | | 17 | 27 | | 18 | 21 | | 19 | 5 | | 20 | 7 | | 21 | 25 | | 22 | 63 | | 23 | 3 | | 24 | 41 | | 25 | 6 | | 26 | 24 | | 27 | 11 | | 28 | 38 | | 29 | 6 | | 30 | 14 | | 31 | 10 | | 32 | 8 | | 33 | 25 | | 34 | 28 | | 35 | 5 | | 36 | 5 | | 37 | 41 | | 38 | 15 | | 39 | 10 | | 40 | 23 | | 41 | 2 | | 42 | 6 | | 43 | 56 | | 44 | 6 | | 45 | 7 | | 46 | 13 | | 47 | 11 | | 48 | 11 | | 49 | 12 |
| |
| 99.69% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 126 | | matches | | 0 | "being unspooled" | | 1 | "was gone" |
| |
| 98.48% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 197 | | matches | | 0 | "was staring" | | 1 | "was *waiting" | | 2 | "was staring" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 13 | | totalSentences | 152 | | ratio | 0.086 | | matches | | 0 | "The standing stones loomed ahead—ancient oaks fused together in an unnatural arch, their bark blackened with age and something older, something that hummed beneath her fingertips when she brushed against them." | | 1 | "Eva—who had dragged them here with that reckless glint in her eye—stepped forward first, boots crushing frost-kissed wildflowers that shouldn’t have been blooming in December." | | 2 | "Rory’s stomach lurched—not nausea, but the sensation of her edges blurring, her skin prickling as if dipped in static." | | 3 | "Their trunks were smooth as polished bone, their branches laden with leaves that shifted color as she watched—emerald to gold to deepest violet, like fabric caught in a shifting light." | | 4 | "Their shadowy form had gone rigid, their violet eyes fixed on the horizon—or where the horizon *should* have been." | | 5 | "Rory’s hand flew to the Fae blade, but it was only a fox—no, not a fox." | | 6 | "A sound cut through the hum—a melody, high and clear, like wind chimes made of ice." | | 7 | "The air thickened, not with mist, but with *light*—golden motes drifting lazily, catching on her lashes, her hair." | | 8 | "Something moved beneath the surface—pale, elongated, *wrong*." | | 9 | "Rory’s scar—old, half-forgotten—ached suddenly, a phantom sting on her wrist." | | 10 | "They retraced their steps—or tried to." | | 11 | "And in the clearing—" | | 12 | "Isolde stood beneath a tree whose branches cradled a nest of glowing orbs—fruit, maybe, or something else entirely." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1101 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 40 | | adverbRatio | 0.03633060853769301 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.006357856494096276 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 152 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 152 | | mean | 8.68 | | std | 6.39 | | cv | 0.736 | | sampleLengths | | 0 | 7 | | 1 | 19 | | 2 | 31 | | 3 | 11 | | 4 | 10 | | 5 | 16 | | 6 | 7 | | 7 | 25 | | 8 | 4 | | 9 | 13 | | 10 | 14 | | 11 | 15 | | 12 | 19 | | 13 | 3 | | 14 | 10 | | 15 | 6 | | 16 | 5 | | 17 | 19 | | 18 | 16 | | 19 | 12 | | 20 | 5 | | 21 | 30 | | 22 | 23 | | 23 | 23 | | 24 | 6 | | 25 | 20 | | 26 | 3 | | 27 | 19 | | 28 | 5 | | 29 | 7 | | 30 | 23 | | 31 | 7 | | 32 | 12 | | 33 | 8 | | 34 | 13 | | 35 | 5 | | 36 | 16 | | 37 | 9 | | 38 | 21 | | 39 | 2 | | 40 | 4 | | 41 | 5 | | 42 | 11 | | 43 | 7 | | 44 | 2 | | 45 | 11 | | 46 | 2 | | 47 | 2 | | 48 | 7 | | 49 | 6 |
| |
| 43.42% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.27631578947368424 | | totalSentences | 152 | | uniqueOpeners | 42 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 112 | | matches | | 0 | "Too late now." | | 1 | "Just more trees, more shifting" | | 2 | "Just an unbroken carpet of" | | 3 | "Then the stream." | | 4 | "Just depth, endless and dark." |
| | ratio | 0.045 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 25 | | totalSentences | 112 | | matches | | 0 | "they murmured, voice a whisper" | | 1 | "They *shivered*, tiny tremors running" | | 2 | "She could feel the weight" | | 3 | "Their trunks were smooth as" | | 4 | "Their shadowy form had gone" | | 5 | "Its fur was too blue," | | 6 | "It paused ten feet away," | | 7 | "She touched it, half-expecting it" | | 8 | "It cut through the grove" | | 9 | "She gasped, yanking her hand" | | 10 | "Her voice cracked" | | 11 | "It was *waiting*." | | 12 | "She clenched her fist." | | 13 | "They retraced their steps—or tried" | | 14 | "They were the color of" | | 15 | "She was staring at the" | | 16 | "Her silver hair spilled over" | | 17 | "She wore a dress of" | | 18 | "It wasn’t a kind expression." | | 19 | "Her smile deepened" |
| | ratio | 0.223 | |
| 35.89% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 95 | | totalSentences | 112 | | matches | | 0 | "The air changed before the" | | 1 | "Rory exhaled, her breath curling" | | 2 | "The standing stones loomed ahead—ancient" | | 3 | "The Heartstone at her throat" | | 4 | "Nyx shifted beside her, their" | | 5 | "they murmured, voice a whisper" | | 6 | "Eva—who had dragged them here" | | 7 | "The petals didn’t wilt." | | 8 | "They *shivered*, tiny tremors running" | | 9 | "Rory flexed her fingers around" | | 10 | "The moonsilver was cold, always" | | 11 | "She could feel the weight" | | 12 | "The moment they crossed beneath" | | 13 | "Rory’s stomach lurched—not nausea, but" | | 14 | "The air smelled of wet" | | 15 | "The trees were too tall." | | 16 | "Their trunks were smooth as" | | 17 | "The ground beneath her boots" | | 18 | "Eva let out a low" | | 19 | "Nyx didn’t answer." |
| | ratio | 0.848 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 112 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 40 | | technicalSentenceCount | 8 | | matches | | 0 | "Rory exhaled, her breath curling into silver mist that lingered too long, as if the cold itself were thick." | | 1 | "The standing stones loomed ahead—ancient oaks fused together in an unnatural arch, their bark blackened with age and something older, something that hummed bene…" | | 2 | "Eva—who had dragged them here with that reckless glint in her eye—stepped forward first, boots crushing frost-kissed wildflowers that shouldn’t have been bloomi…" | | 3 | "Rory’s stomach lurched—not nausea, but the sensation of her edges blurring, her skin prickling as if dipped in static." | | 4 | "Their trunks were smooth as polished bone, their branches laden with leaves that shifted color as she watched—emerald to gold to deepest violet, like fabric cau…" | | 5 | "The ground beneath her boots was springy, covered in moss that gave slightly with each step, as if she walked on something alive." | | 6 | "It paused ten feet away, tail flicking, before dissolving into a scatter of leaves that skittered away on an unfelt wind." | | 7 | "The trees here grew in impossible spirals, their bark etched with symbols that made Rory’s eyes ache if she stared too long." |
| |
| 83.33% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 12 | | uselessAdditionCount | 1 | | matches | | 0 | "She stepped, the moss parting beneath her bare feet" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 1 | | fancyTags | | 0 | "they murmured (murmur)" |
| | dialogueSentences | 41 | | tagDensity | 0.098 | | leniency | 0.195 | | rawRatio | 0.25 | | effectiveRatio | 0.049 | |