| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 7 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 15 | | tagDensity | 0.467 | | leniency | 0.933 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 95.08% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1017 | | totalAiIsmAdverbs | 1 | | found | | 0 | | adverb | "deliberately" | | count | 1 |
|
| | 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) | |
| 50.84% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1017 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "warmth" | | 1 | "echo" | | 2 | "silence" | | 3 | "weight" | | 4 | "whisper" | | 5 | "flickered" | | 6 | "pulse" | | 7 | "pulsed" |
| |
| 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 | 80 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 80 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 89 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 40 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1025 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 18 | | wordCount | 941 | | uniqueNames | 9 | | maxNameDensity | 0.74 | | worstName | "Aurora" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Aurora" | | discoveredNames | | Aurora | 7 | | Richmond | 1 | | Park | 1 | | Heartstone | 2 | | Eva | 3 | | Evan | 1 | | Cardiff | 1 | | Rory | 1 | | Hel | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Heartstone" | | 2 | "Eva" | | 3 | "Evan" | | 4 | "Rory" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 97.92% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 48 | | glossingSentenceCount | 1 | | matches | | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.976 | | wordCount | 1025 | | matches | | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 89 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 38 | | mean | 26.97 | | std | 21.09 | | cv | 0.782 | | sampleLengths | | 0 | 19 | | 1 | 67 | | 2 | 5 | | 3 | 6 | | 4 | 56 | | 5 | 57 | | 6 | 5 | | 7 | 1 | | 8 | 33 | | 9 | 62 | | 10 | 49 | | 11 | 3 | | 12 | 33 | | 13 | 22 | | 14 | 11 | | 15 | 8 | | 16 | 54 | | 17 | 10 | | 18 | 54 | | 19 | 25 | | 20 | 11 | | 21 | 1 | | 22 | 49 | | 23 | 19 | | 24 | 18 | | 25 | 20 | | 26 | 62 | | 27 | 3 | | 28 | 53 | | 29 | 2 | | 30 | 42 | | 31 | 5 | | 32 | 39 | | 33 | 21 | | 34 | 46 | | 35 | 18 | | 36 | 3 | | 37 | 33 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 80 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 168 | | matches | | 0 | "wasn't laughing" | | 1 | "was being" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 89 | | ratio | 0.079 | | matches | | 0 | "And yet, somewhere past the tree line, she heard the sound of leaves moving — a long, dry rustle that swelled and faded, swelled and faded, like breathing." | | 1 | "They felt wrong through the fabric of her jeans — too soft, too warm, like they'd been holding heat that didn't belong to them." | | 2 | "She turned her head — slow, controlled, the way she'd learned to move around Evan when his temper had been climbing — and saw only the standing stones and the black space between them." | | 3 | "Not wilting — closing, petals folding inward in sequence, a wave of darkness rolling across the meadow toward her." | | 4 | "Conversational, warm, pitched exactly like her mother's — and that was the thing that froze her in place, because her mother was in Cardiff, two hundred miles away, and her mother had never once called her by her full name." | | 5 | "The rustling resumed, but it had changed — no longer leaves but something heavier dragging through undergrowth, a slow and patient sound, circling the perimeter of the grove." | | 6 | "It pulsed again, stronger, and she understood the warmth for what it was — a warning." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 330 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 10 | | adverbRatio | 0.030303030303030304 | | lyAdverbCount | 0 | | lyAdverbRatio | 0 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 89 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 89 | | mean | 11.52 | | std | 9.49 | | cv | 0.824 | | sampleLengths | | 0 | 19 | | 1 | 19 | | 2 | 24 | | 3 | 24 | | 4 | 5 | | 5 | 3 | | 6 | 3 | | 7 | 7 | | 8 | 7 | | 9 | 25 | | 10 | 17 | | 11 | 22 | | 12 | 3 | | 13 | 4 | | 14 | 28 | | 15 | 5 | | 16 | 1 | | 17 | 4 | | 18 | 2 | | 19 | 27 | | 20 | 9 | | 21 | 7 | | 22 | 16 | | 23 | 26 | | 24 | 4 | | 25 | 20 | | 26 | 5 | | 27 | 24 | | 28 | 3 | | 29 | 7 | | 30 | 3 | | 31 | 23 | | 32 | 14 | | 33 | 8 | | 34 | 7 | | 35 | 4 | | 36 | 8 | | 37 | 34 | | 38 | 2 | | 39 | 18 | | 40 | 10 | | 41 | 8 | | 42 | 19 | | 43 | 3 | | 44 | 24 | | 45 | 18 | | 46 | 3 | | 47 | 4 | | 48 | 7 | | 49 | 4 |
| |
| 62.55% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.4157303370786517 | | totalSentences | 89 | | uniqueOpeners | 37 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 71 | | matches | (empty) | | ratio | 0 | |
| 67.89% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 27 | | totalSentences | 71 | | matches | | 0 | "She remembered overcast skies on" | | 1 | "She pulled her jacket tighter." | | 2 | "They didn't sway." | | 3 | "She'd come for the answers" | | 4 | "She wasn't laughing now." | | 5 | "She picked her way to" | | 6 | "They felt wrong through the" | | 7 | "It had weight." | | 8 | "It pressed against her ears" | | 9 | "she said, and hated how" | | 10 | "She lifted the pendant on" | | 11 | "She turned her head —" | | 12 | "It moved deliberately." | | 13 | "She didn't look." | | 14 | "She refused to look." | | 15 | "It said her name." | | 16 | "It had always been Rory." | | 17 | "Her hands had curled into" | | 18 | "She backed toward the stones," | | 19 | "She tracked it by ear" |
| | ratio | 0.38 | |
| 51.55% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 58 | | totalSentences | 71 | | matches | | 0 | "The standing stones rose from" | | 1 | "She remembered overcast skies on" | | 2 | "She pulled her jacket tighter." | | 3 | "The pendant lay cold against" | | 4 | "That bothered her more than" | | 5 | "The Heartstone always carried a" | | 6 | "Wildflowers blanketed the grove floor," | | 7 | "They didn't sway." | | 8 | "Aurora stood still and listened." | | 9 | "The word fell flat." | | 10 | "Sound didn't carry the way" | | 11 | "She'd come for the answers" | | 12 | "The grove remembered things, Eva" | | 13 | "Aurora had laughed at her" | | 14 | "She wasn't laughing now." | | 15 | "She picked her way to" | | 16 | "The flowers brushed her ankles." | | 17 | "They felt wrong through the" | | 18 | "The rustling stopped." | | 19 | "The silence that replaced it" |
| | ratio | 0.817 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 71 | | matches | | 0 | "Now the fog had pulled" | | 1 | "Now it sat against her" |
| | ratio | 0.028 | |
| 73.73% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 31 | | technicalSentenceCount | 3 | | matches | | 0 | "And yet, somewhere past the tree line, she heard the sound of leaves moving — a long, dry rustle that swelled and faded, swelled and faded, like breathing." | | 1 | "They felt wrong through the fabric of her jeans — too soft, too warm, like they'd been holding heat that didn't belong to them." | | 2 | "Conversational, warm, pitched exactly like her mother's — and that was the thing that froze her in place, because her mother was in Cardiff, two hundred miles a…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 7 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 3 | | fancyTags | | 0 | "she muttered (mutter)" | | 1 | "Aurora had (have)" | | 2 | "she breathed (breathe)" |
| | dialogueSentences | 15 | | tagDensity | 0.4 | | leniency | 0.8 | | rawRatio | 0.5 | | effectiveRatio | 0.4 | |