| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 11 | | adverbTagCount | 1 | | adverbTags | | 0 | "The Seer turned away [away]" |
| | dialogueSentences | 31 | | tagDensity | 0.355 | | leniency | 0.71 | | rawRatio | 0.091 | | effectiveRatio | 0.065 | |
| 91.85% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1227 | | totalAiIsmAdverbs | 2 | | 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) | |
| 10.35% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1227 | | totalAiIsms | 22 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | |
| | highlights | | 0 | "traced" | | 1 | "pulsed" | | 2 | "gloom" | | 3 | "etched" | | 4 | "dancing" | | 5 | "lurched" | | 6 | "flickered" | | 7 | "whisper" | | 8 | "shimmered" | | 9 | "lilt" | | 10 | "silk" | | 11 | "warmth" | | 12 | "churned" | | 13 | "shattered" | | 14 | "chill" | | 15 | "unreadable" | | 16 | "depths" | | 17 | "loomed" |
| |
| 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 | 92 | | matches | (empty) | |
| 80.75% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 4 | | narrationSentences | 92 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 111 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 34 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 2 | | totalWords | 1215 | | ratio | 0.002 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 0 | | matches | (empty) | |
| 33.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 49 | | wordCount | 1039 | | uniqueNames | 11 | | maxNameDensity | 1.92 | | worstName | "Rory" | | maxWindowNameDensity | 4 | | worstWindowName | "Rory" | | discoveredNames | | Nyx | 10 | | Shade | 1 | | Rory | 20 | | Richmond | 1 | | Park | 1 | | English | 1 | | October | 1 | | Heartstone | 4 | | Fae-Forged | 1 | | Seer | 1 | | Isolde | 8 |
| | persons | | 0 | "Nyx" | | 1 | "Shade" | | 2 | "Rory" | | 3 | "Seer" | | 4 | "Isolde" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Heartstone" |
| | globalScore | 0.538 | | windowScore | 0.333 | |
| 75.37% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 67 | | glossingSentenceCount | 2 | | matches | | 0 | "patterns that seemed to shift when she looked at them directly" | | 1 | "sound that seemed to come from both miles away and right beside Rory's ear" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.823 | | wordCount | 1215 | | matches | | 0 | "Not the grey October she'd left behind, but a deep twilight purple shot through with veins of pale amber" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 111 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 54 | | mean | 22.5 | | std | 18.2 | | cv | 0.809 | | sampleLengths | | 0 | 12 | | 1 | 15 | | 2 | 47 | | 3 | 71 | | 4 | 41 | | 5 | 6 | | 6 | 30 | | 7 | 50 | | 8 | 23 | | 9 | 5 | | 10 | 14 | | 11 | 63 | | 12 | 9 | | 13 | 3 | | 14 | 47 | | 15 | 16 | | 16 | 10 | | 17 | 4 | | 18 | 3 | | 19 | 33 | | 20 | 74 | | 21 | 6 | | 22 | 43 | | 23 | 25 | | 24 | 8 | | 25 | 21 | | 26 | 50 | | 27 | 22 | | 28 | 16 | | 29 | 17 | | 30 | 25 | | 31 | 2 | | 32 | 4 | | 33 | 13 | | 34 | 47 | | 35 | 5 | | 36 | 27 | | 37 | 6 | | 38 | 11 | | 39 | 45 | | 40 | 14 | | 41 | 23 | | 42 | 8 | | 43 | 21 | | 44 | 41 | | 45 | 15 | | 46 | 9 | | 47 | 23 | | 48 | 32 | | 49 | 26 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 92 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 173 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 111 | | ratio | 0.108 | | matches | | 0 | "Wildflowers dotted the ground—foxgloves the colour of spilled wine, roses that bloomed in shifting patterns of gold and silver, tiny blue blossoms that released puffs of luminescent pollen when her passage disturbed them." | | 1 | "The deep crimson gem pulsed against her collarbone, warm and steady—a comfort against the creeping unease that prickled along her arms." | | 2 | "The grove stretched farther than it should have—far wider than the clearing she'd glimpsed from outside." | | 3 | "Moss covered their bases, but the moss glowed—a soft, phosphorescent green that cast dancing shadows across the grass." | | 4 | "Sound rushed in from everywhere at once—whispers, laughter, music that played on instruments she couldn't name." | | 5 | "In the exact middle grew a single tree—a massive willow whose leaves shimmered like strands of hammered silver." | | 6 | "Isolde smiled—a careful expression that revealed nothing." | | 7 | "The air rippled, and suddenly Rory could see them—dozens of luminous threads hanging from the willow's branches, each one glowing with a different colour." | | 8 | "One thread in particular caught her attention—a deep crimson strand that pulsed in time with her Heartstone." | | 9 | "In the distance, a figure stood silhouetted against a door of black iron—tall, horned, watching her with eyes that burned like embers." | | 10 | "\"The threads converge. Dymas calls, and you must answer.\" She reached into her robe and produced a slender dagger—the Fae-Forged blade, its moonsilver surface catching the willow's glow." | | 11 | "Somewhere in the distance, a bell tolled—a sound that seemed to come from both miles away and right beside Rory's ear." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1057 | | adjectiveStacks | 1 | | stackExamples | | 0 | "silver, tiny blue blossoms" |
| | adverbCount | 30 | | adverbRatio | 0.02838221381267739 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.00946073793755913 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 111 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 111 | | mean | 10.95 | | std | 7.17 | | cv | 0.655 | | sampleLengths | | 0 | 12 | | 1 | 13 | | 2 | 2 | | 3 | 4 | | 4 | 19 | | 5 | 24 | | 6 | 17 | | 7 | 21 | | 8 | 33 | | 9 | 5 | | 10 | 19 | | 11 | 17 | | 12 | 6 | | 13 | 14 | | 14 | 10 | | 15 | 6 | | 16 | 8 | | 17 | 21 | | 18 | 21 | | 19 | 14 | | 20 | 9 | | 21 | 5 | | 22 | 13 | | 23 | 1 | | 24 | 5 | | 25 | 16 | | 26 | 24 | | 27 | 18 | | 28 | 9 | | 29 | 3 | | 30 | 16 | | 31 | 31 | | 32 | 5 | | 33 | 3 | | 34 | 8 | | 35 | 10 | | 36 | 4 | | 37 | 3 | | 38 | 22 | | 39 | 11 | | 40 | 18 | | 41 | 18 | | 42 | 25 | | 43 | 13 | | 44 | 6 | | 45 | 13 | | 46 | 30 | | 47 | 14 | | 48 | 11 | | 49 | 3 |
| |
| 71.77% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.44144144144144143 | | totalSentences | 111 | | uniqueOpeners | 49 | |
| 38.76% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 86 | | matches | | 0 | "Somewhere in the distance, a" |
| | ratio | 0.012 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 15 | | totalSentences | 86 | | matches | | 0 | "She followed Nyx deeper into" | | 1 | "She reached out and touched" | | 2 | "Her palm tingled where she'd" | | 3 | "She shot them a look," | | 4 | "Its trunk was impossibly wide," | | 5 | "She wore robes of pale" | | 6 | "Her voice carried a melodic" | | 7 | "She swept a hand across" | | 8 | "She reached for it, hesitated." | | 9 | "She stood in a narrow" | | 10 | "She reached into her robe" | | 11 | "She pressed it into Rory's" | | 12 | "Her gaze dropped to the" | | 13 | "They slipped through the gap" | | 14 | "She wasn't ready." |
| | ratio | 0.174 | |
| 35.58% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 73 | | totalSentences | 86 | | matches | | 0 | "Aurora ducked under a low-hanging" | | 1 | "the Shade said, their voice" | | 2 | "Rory peered around them." | | 3 | "The fourth time, Nyx had" | | 4 | "The grass beneath her feet" | | 5 | "Wildflowers dotted the ground—foxgloves the" | | 6 | "Stars peeked through gaps in" | | 7 | "Nyx moved past her, their" | | 8 | "A faint violet luminescence traced" | | 9 | "Rory clutched the Heartstone pendant" | | 10 | "The deep crimson gem pulsed" | | 11 | "She followed Nyx deeper into" | | 12 | "The air smelled of honey" | | 13 | "Each breath tasted sweet on" | | 14 | "Nyx gestured with a hand" | | 15 | "Rory frowned but kept walking." | | 16 | "The grove stretched farther than" | | 17 | "Moss covered their bases, but" | | 18 | "She reached out and touched" | | 19 | "The world lurched." |
| | ratio | 0.849 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 86 | | matches | | 0 | "Before her, the trees of" | | 1 | "Now she stood at the" |
| | ratio | 0.023 | |
| 55.75% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 41 | | technicalSentenceCount | 5 | | matches | | 0 | "Wildflowers dotted the ground—foxgloves the colour of spilled wine, roses that bloomed in shifting patterns of gold and silver, tiny blue blossoms that released…" | | 1 | "The deep crimson gem pulsed against her collarbone, warm and steady—a comfort against the creeping unease that prickled along her arms." | | 2 | "She followed Nyx deeper into the clearing, her boots sinking slightly into earth that felt springy and alive beneath her tread." | | 3 | "Nyx gestured with a hand that was barely visible against the deepening gloom." | | 4 | "Standing stones ringed the space, massive slabs of oak-coloured granite etched with spiralling patterns that seemed to shift when she looked at them directly." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 11 | | uselessAdditionCount | 3 | | matches | | 0 | "the Shade said, their voice barely a ripple in the still air" | | 1 | "She reached, its moonsilver surface catching the willow's glow" | | 2 | "The Seer turned away, her robes merging with the shadows beneath the willow" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 1 | | fancyTags | | 0 | "she breathed (breathe)" |
| | dialogueSentences | 31 | | tagDensity | 0.194 | | leniency | 0.387 | | rawRatio | 0.167 | | effectiveRatio | 0.065 | |