| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 12 | | tagDensity | 0.083 | | leniency | 0.167 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 85.10% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 671 | | 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) | |
| 0.00% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 671 | | totalAiIsms | 16 | | found | | | highlights | | 0 | "weight" | | 1 | "pulsed" | | 2 | "stomach" | | 3 | "sentinels" | | 4 | "whisper" | | 5 | "flickered" | | 6 | "shimmered" | | 7 | "warmth" | | 8 | "silence" | | 9 | "flicked" | | 10 | "rhythmic" | | 11 | "trembled" |
| |
| 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 | 52 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 52 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 63 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 33 | | ratio | 0 | | matches | (empty) | |
| 49.62% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 10 | | markdownWords | 50 | | totalWords | 665 | | ratio | 0.075 | | matches | | 0 | "\"Walk slower, little mortal. The stones remember.\"" | | 1 | "\"This place doesn’t like us.\"" | | 2 | "\"They’re not trees. They’re guardians.\"" | | 3 | "\"Stay close,\"" | | 4 | "\"A trickster. Or a guide.\"" | | 5 | "\"This is where the Veil thins.\"" | | 6 | "\"The Fae Courts are close. But so is Hel.\"" | | 7 | "\"We wait. Or we listen.\"" | | 8 | "\"It’s singing.\"" | | 9 | "\"The stones are calling.\"" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 59.54% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 28 | | wordCount | 608 | | uniqueNames | 7 | | maxNameDensity | 1.81 | | worstName | "Aurora" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Aurora" | | discoveredNames | | Carter | 1 | | Grove | 2 | | Richmond | 1 | | Park | 1 | | Aurora | 11 | | Nyx | 5 | | Isolde | 7 |
| | persons | | 0 | "Carter" | | 1 | "Grove" | | 2 | "Aurora" | | 3 | "Nyx" | | 4 | "Isolde" |
| | places | | | globalScore | 0.595 | | windowScore | 0.833 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 40 | | glossingSentenceCount | 3 | | matches | | 0 | "smelled like honey and damp earth, thick w" | | 1 | "as if breathing" | | 2 | "as if testing their reaction" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 665 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 63 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 30 | | mean | 22.17 | | std | 17.22 | | cv | 0.777 | | sampleLengths | | 0 | 41 | | 1 | 67 | | 2 | 20 | | 3 | 36 | | 4 | 58 | | 5 | 17 | | 6 | 37 | | 7 | 12 | | 8 | 30 | | 9 | 4 | | 10 | 5 | | 11 | 5 | | 12 | 39 | | 13 | 8 | | 14 | 36 | | 15 | 3 | | 16 | 53 | | 17 | 14 | | 18 | 20 | | 19 | 21 | | 20 | 26 | | 21 | 7 | | 22 | 24 | | 23 | 31 | | 24 | 10 | | 25 | 20 | | 26 | 9 | | 27 | 3 | | 28 | 2 | | 29 | 7 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 52 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 101 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 63 | | ratio | 0.095 | | matches | | 0 | "Wildflowers, their petals shimmering with an inner light, dotted the forest floor in impossible abundance—roses the colour of crushed berries, lilies with veins of silver, blossoms that pulsed faintly, as if breathing." | | 1 | "A flash of movement—a fox, but not like any fox." | | 2 | "The scent was intoxicating—warm spice, ripe fruit, something darker, like burnt sugar and old wine." | | 3 | "The fox—if it was a fox—vanished without a sound." | | 4 | "A sound cut through the air—a low, rhythmic thrum, like the heartbeat of the earth itself." | | 5 | "And then—" |
| |
| 92.25% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 614 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 30 | | adverbRatio | 0.048859934853420196 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.011400651465798045 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 63 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 63 | | mean | 10.56 | | std | 6.69 | | cv | 0.633 | | sampleLengths | | 0 | 15 | | 1 | 12 | | 2 | 14 | | 3 | 19 | | 4 | 25 | | 5 | 23 | | 6 | 13 | | 7 | 7 | | 8 | 3 | | 9 | 16 | | 10 | 17 | | 11 | 9 | | 12 | 17 | | 13 | 32 | | 14 | 12 | | 15 | 5 | | 16 | 3 | | 17 | 18 | | 18 | 16 | | 19 | 7 | | 20 | 5 | | 21 | 6 | | 22 | 10 | | 23 | 14 | | 24 | 4 | | 25 | 3 | | 26 | 2 | | 27 | 5 | | 28 | 10 | | 29 | 11 | | 30 | 18 | | 31 | 3 | | 32 | 5 | | 33 | 10 | | 34 | 26 | | 35 | 3 | | 36 | 5 | | 37 | 16 | | 38 | 17 | | 39 | 15 | | 40 | 8 | | 41 | 6 | | 42 | 6 | | 43 | 14 | | 44 | 12 | | 45 | 9 | | 46 | 9 | | 47 | 17 | | 48 | 2 | | 49 | 5 |
| |
| 43.39% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.31746031746031744 | | totalSentences | 63 | | uniqueOpeners | 20 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 49 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 7 | | totalSentences | 49 | | matches | | 0 | "Her pale lavender eyes held" | | 1 | "She was too busy staring" | | 2 | "Its fur shimmered like liquid" | | 3 | "It trotted ahead, vanishing into" | | 4 | "It led them deeper into" | | 5 | "It burned against her skin," | | 6 | "It pulsed from the ground," |
| | ratio | 0.143 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 48 | | totalSentences | 49 | | matches | | 0 | "The air smelled like honey" | | 1 | "Aurora Carter stepped forward, her" | | 2 | "The pendant at her throat" | | 3 | "Nyx moved like a shadow" | | 4 | "The Grove swallowed them whole," | | 5 | "The standing stones at the" | | 6 | "Isolde’s voice cut through the" | | 7 | "Aurora glanced back." | | 8 | "Isolde stood just beyond the" | | 9 | "Her pale lavender eyes held" | | 10 | "The moment they crossed the" | | 11 | "The air grew warmer, thick" | | 12 | "Wildflowers, their petals shimmering with" | | 13 | "Nyx’s voice slithered through the" | | 14 | "Aurora didn’t answer." | | 15 | "She was too busy staring" | | 16 | "The bark beneath her fingers" | | 17 | "Isolde’s fingers brushed the nearest" | | 18 | "A rustling came from the" | | 19 | "Something moved in the shadows," |
| | ratio | 0.98 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 49 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 32 | | technicalSentenceCount | 7 | | matches | | 0 | "The standing stones at the edge of the clearing stood like sentinels, their bark smooth and unblemished, as if carved from living wood." | | 1 | "Her pale lavender eyes held no warning, only the quiet certainty of someone who’d seen too much." | | 2 | "Wildflowers, their petals shimmering with an inner light, dotted the forest floor in impossible abundance—roses the colour of crushed berries, lilies with veins…" | | 3 | "She was too busy staring at the vines coiling around the trees, their leaves shifting like living things." | | 4 | "The bark beneath her fingers was warm, almost pulsing, as if the forest itself was breathing." | | 5 | "It trotted ahead, vanishing into the undergrowth before reappearing a few paces further, as if testing their reaction." | | 6 | "Towering stalks of blooms, their petals unfurling in slow motion, as if time itself had slowed." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 66.67% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 12 | | tagDensity | 0.083 | | leniency | 0.167 | | rawRatio | 1 | | effectiveRatio | 0.167 | |