| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 1 | | adverbTags | | 0 | "the thing said again [again]" |
| | dialogueSentences | 6 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.333 | | effectiveRatio | 0.333 | |
| 92.84% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1396 | | 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) | |
| 53.44% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1396 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "pulse" | | 1 | "weight" | | 2 | "pulsed" | | 3 | "flickered" | | 4 | "echo" | | 5 | "silence" | | 6 | "whisper" | | 7 | "resolve" | | 8 | "lurch" | | 9 | "footsteps" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 123 | | matches | (empty) | |
| 61.56% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 6 | | narrationSentences | 123 | | filterMatches | | | hedgeMatches | | 0 | "tried to" | | 1 | "seemed to" | | 2 | "began to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 127 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 75 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1385 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 18 | | wordCount | 1347 | | uniqueNames | 7 | | maxNameDensity | 0.52 | | worstName | "Aurora" | | maxWindowNameDensity | 1 | | worstWindowName | "Richmond" | | discoveredNames | | Heartstone | 1 | | Richmond | 3 | | Park | 3 | | Aurora | 7 | | Rory | 1 | | November | 2 | | Carter | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Rory" | | 2 | "Carter" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "November" |
| | globalScore | 1 | | windowScore | 1 | |
| 42.86% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 70 | | glossingSentenceCount | 3 | | matches | | 0 | "not quite hot enough to burn" | | 1 | "as if waiting for her, the rusted iron swinging without resistance as she'd stepped through" | | 2 | "felt like twenty minutes, maybe thirty" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.722 | | wordCount | 1385 | | matches | | 0 | "Not painful, but present" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 127 | | matches | | 0 | "remembered that much" | | 1 | "saw that the" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 54 | | mean | 25.65 | | std | 23.24 | | cv | 0.906 | | sampleLengths | | 0 | 8 | | 1 | 63 | | 2 | 22 | | 3 | 45 | | 4 | 4 | | 5 | 56 | | 6 | 55 | | 7 | 4 | | 8 | 76 | | 9 | 3 | | 10 | 62 | | 11 | 3 | | 12 | 2 | | 13 | 34 | | 14 | 23 | | 15 | 12 | | 16 | 1 | | 17 | 9 | | 18 | 6 | | 19 | 49 | | 20 | 25 | | 21 | 16 | | 22 | 27 | | 23 | 20 | | 24 | 3 | | 25 | 70 | | 26 | 3 | | 27 | 61 | | 28 | 21 | | 29 | 3 | | 30 | 51 | | 31 | 4 | | 32 | 23 | | 33 | 34 | | 34 | 1 | | 35 | 28 | | 36 | 34 | | 37 | 2 | | 38 | 49 | | 39 | 3 | | 40 | 29 | | 41 | 3 | | 42 | 68 | | 43 | 27 | | 44 | 2 | | 45 | 58 | | 46 | 3 | | 47 | 75 | | 48 | 4 | | 49 | 12 |
| |
| 93.85% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 123 | | matches | | 0 | "was supposed" | | 1 | "being caught" | | 2 | "been open" | | 3 | "was gone" |
| |
| 59.35% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 237 | | matches | | 0 | "was carrying" | | 1 | "wasn't blowing" | | 2 | "was playing" | | 3 | "wasn't protecting" | | 4 | "was leading" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 15 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 127 | | ratio | 0.087 | | matches | | 0 | "Three weeks of strange dreams—images she couldn't retain upon waking, only the feeling they left behind: a pull, a hook behind her ribs, a direction." | | 1 | "She remembered that much from conversations with other delivery drivers—cautions about being caught after hours, about the patrols, about the penalties." | | 2 | "She noticed it after perhaps ten minutes of walking, her trainers damp with dew that shouldn't have existed—Rory had checked the weather that morning, no rain forecast, clear skies—and the realization crept over her slowly." | | 3 | "Yet they pressed against her legs as she walked—small white ones, yellow ones, clusters of blue that caught what little light remained between the trees—and their sweetness hung in the air so thickly she could taste it on her tongue." | | 4 | "That was—" | | 5 | "She'd been walking for—" | | 6 | "The standing stones appeared between one stride and the next—one moment there was only the press of trees and the whisper of flowers, and then there they were, a ring of ancient oak rising from the earth like the ribs of something long dead." | | 7 | "They were taller than her, those pillars of wood, and their bark was silver in the darkness, or perhaps the light was playing tricks, or perhaps—" | | 8 | "Seemed to—" | | 9 | "And as she watched, a figure began to resolve from that darkness—not walking, not emerging, just becoming, like fog gathering into form—and Aurora understood with terrible clarity that it had been there all along." | | 10 | "She ran as she'd never run before, lungs burning, heart slamming against her ribs, and behind her—behind her was a sound that wasn't footsteps but was somehow following, was somehow gaining—" |
| |
| 95.72% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1381 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 62 | | adverbRatio | 0.04489500362056481 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.00941346850108617 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 127 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 127 | | mean | 10.91 | | std | 11.41 | | cv | 1.046 | | sampleLengths | | 0 | 8 | | 1 | 20 | | 2 | 19 | | 3 | 24 | | 4 | 22 | | 5 | 6 | | 6 | 25 | | 7 | 7 | | 8 | 7 | | 9 | 4 | | 10 | 30 | | 11 | 26 | | 12 | 9 | | 13 | 21 | | 14 | 6 | | 15 | 3 | | 16 | 16 | | 17 | 4 | | 18 | 35 | | 19 | 7 | | 20 | 18 | | 21 | 16 | | 22 | 3 | | 23 | 5 | | 24 | 16 | | 25 | 1 | | 26 | 40 | | 27 | 3 | | 28 | 2 | | 29 | 23 | | 30 | 6 | | 31 | 3 | | 32 | 2 | | 33 | 3 | | 34 | 1 | | 35 | 19 | | 36 | 4 | | 37 | 6 | | 38 | 2 | | 39 | 1 | | 40 | 1 | | 41 | 4 | | 42 | 4 | | 43 | 6 | | 44 | 5 | | 45 | 7 | | 46 | 7 | | 47 | 24 | | 48 | 3 | | 49 | 3 |
| |
| 42.33% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 15 | | diversityRatio | 0.3253968253968254 | | totalSentences | 126 | | uniqueOpeners | 41 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 6 | | totalSentences | 103 | | matches | | 0 | "Just the trunks." | | 1 | "Just the shadows." | | 2 | "Just the darkness between the" | | 3 | "Just the flowers nodding in" | | 4 | "More like the idea of" | | 5 | "Almost beautiful, if beauty could" |
| | ratio | 0.058 | |
| 91.84% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 33 | | totalSentences | 103 | | matches | | 0 | "She'd touched the crimson gem" | | 1 | "She'd come because she had" | | 2 | "She remembered that much from" | | 3 | "She noticed it after perhaps" | | 4 | "It should have, this time" | | 5 | "They shouldn't have been there." | | 6 | "She wasn't a botanist, couldn't" | | 7 | "She'd been walking for what" | | 8 | "She'd entered the park at" | | 9 | "She stared at it." | | 10 | "She'd been walking for—" | | 11 | "They moved, and the wind" | | 12 | "Her hand found the pendant" | | 13 | "Her voice came out smaller" | | 14 | "She understood that immediately." | | 15 | "It was the silence of" | | 16 | "She kept walking." | | 17 | "They were taller than her," | | 18 | "They weren't bark." | | 19 | "She was close enough now" |
| | ratio | 0.32 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 70 | | totalSentences | 103 | | matches | | 0 | "The Heartstone pendant had been" | | 1 | "Aurora noticed it first that" | | 2 | "A faint pulse of heat," | | 3 | "She'd touched the crimson gem" | | 4 | "She'd come because she had" | | 5 | "Every night, the dreams grew" | | 6 | "The trees swallowed her." | | 7 | "The path she'd walked a" | | 8 | "The glow was visible through" | | 9 | "Richmond Park at night was" | | 10 | "She remembered that much from" | | 11 | "The grass was wrong." | | 12 | "She noticed it after perhaps" | | 13 | "The grass beneath her feet" | | 14 | "It should have, this time" | | 15 | "They shouldn't have been there." | | 16 | "She wasn't a botanist, couldn't" | | 17 | "The pendant pulsed." | | 18 | "She'd been walking for what" | | 19 | "She'd entered the park at" |
| | ratio | 0.68 | |
| 48.54% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 103 | | matches | | 0 | "Now, standing at the edge" |
| | ratio | 0.01 | |
| 6.80% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 42 | | technicalSentenceCount | 8 | | matches | | 0 | "She'd touched the crimson gem with her fingertip, watching the inner glow flare for a moment before settling back to its usual dim radiance." | | 1 | "The path she'd walked a dozen times during daylight deliveries vanished somewhere behind her, and Aurora kept one hand pressed against the pendant as if it were…" | | 2 | "The glow was visible through her shirt now, a faint crimson luminescence that made her feel like she was carrying a small flame against her heart." | | 3 | "Open, as if waiting for her, the rusted iron swinging without resistance as she'd stepped through." | | 4 | "She noticed it after perhaps ten minutes of walking, her trainers damp with dew that shouldn't have existed—Rory had checked the weather that morning, no rain f…" | | 5 | "Her throat had closed around something cold, and her hand shook around the pendant, and the crimson glow was brighter now, pulsing in rhythm with something that…" | | 6 | "Almost beautiful, if beauty could be made of edges and angles and a smile that didn't reach the eyes that were too many and too bright." | | 7 | "She ran as she'd never run before, lungs burning, heart slamming against her ribs, and behind her—behind her was a sound that wasn't footsteps but was somehow f…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 6 | | tagDensity | 0.167 | | leniency | 0.333 | | rawRatio | 0 | | effectiveRatio | 0 | |