| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 88.74% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1332 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "sharply" | | 1 | "slowly" | | 2 | "slightly" |
| |
| 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) | |
| 13.66% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1332 | | totalAiIsms | 23 | | found | | | highlights | | 0 | "pulse" | | 1 | "warmth" | | 2 | "throb" | | 3 | "pulsed" | | 4 | "chill" | | 5 | "silence" | | 6 | "quickened" | | 7 | "could feel" | | 8 | "scanning" | | 9 | "whisper" | | 10 | "stomach" | | 11 | "measured" | | 12 | "furrowed" | | 13 | "perfect" |
| |
| 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 | 131 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 131 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 131 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 48 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1320 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 0 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 24 | | wordCount | 1320 | | uniqueNames | 7 | | maxNameDensity | 0.76 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Normal" | | discoveredNames | | Richmond | 3 | | Park | 3 | | Yu-Fei | 1 | | London | 2 | | November | 2 | | Rory | 10 | | Normal | 3 |
| | persons | | | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 78.57% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 70 | | glossingSentenceCount | 2 | | matches | | 0 | "seemed wrong in here—too bright, too direct, casting shadows that didn't match the shapes that cast them" | | 1 | "sounded like and getting the notes slightl" |
| |
| 48.48% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.515 | | wordCount | 1320 | | matches | | 0 | "not just as heat but as vibration, a hum just below the threshold of hearing" | | 1 | "not physically but somehow elsewise, like pushing through a curtain of warm wat" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 131 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 44 | | mean | 30 | | std | 22.44 | | cv | 0.748 | | sampleLengths | | 0 | 5 | | 1 | 77 | | 2 | 81 | | 3 | 8 | | 4 | 13 | | 5 | 48 | | 6 | 37 | | 7 | 5 | | 8 | 78 | | 9 | 14 | | 10 | 15 | | 11 | 8 | | 12 | 35 | | 13 | 56 | | 14 | 6 | | 15 | 33 | | 16 | 40 | | 17 | 9 | | 18 | 7 | | 19 | 59 | | 20 | 22 | | 21 | 35 | | 22 | 59 | | 23 | 37 | | 24 | 20 | | 25 | 7 | | 26 | 11 | | 27 | 49 | | 28 | 42 | | 29 | 36 | | 30 | 9 | | 31 | 3 | | 32 | 61 | | 33 | 25 | | 34 | 47 | | 35 | 58 | | 36 | 52 | | 37 | 8 | | 38 | 39 | | 39 | 22 | | 40 | 9 | | 41 | 2 | | 42 | 12 | | 43 | 21 |
| |
| 99.91% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 131 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 241 | | matches | | 0 | "were pushing" | | 1 | "was pulling" | | 2 | "was watching" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 131 | | ratio | 0.084 | | matches | | 0 | "She'd noticed it three streets back—a faint throb that grew stronger as she cut through Richmond Park, away from the lit paths, away from the distant rumble of the A316." | | 1 | "Not sharply—more like walking into a cellar, that particular chill that had nothing to do with wind and everything to do with enclosed earth." | | 2 | "The moonlight seemed wrong in here—too bright, too direct, casting shadows that didn't match the shapes that cast them." | | 3 | "Except there were no children in Richmond Park at midnight, and the laughter had a quality to it that made her stomach clench—it was the wrong pitch, too high and too musical, like someone trying to remember what laughter sounded like and getting the notes slightly off." | | 4 | "It was pulling now, not just pulsing—a directional heat, like a compass needle pressed against her skin." | | 5 | "She pressed her palm flat against the trunk and felt—nothing." | | 6 | "Not behind her—above her." | | 7 | "Or seven—every time she tried to focus on one, it slid sideways in her vision, refusing to be counted." | | 8 | "Her heel caught on something—a root, a stone, she didn't look down to check—and she stumbled, catching herself before she fell." | | 9 | "The pendant flared sudden and hot against her chest, and for a single blazing moment she could feel something else—a pull in the opposite direction, a crack in the air behind one of the standing stones that hadn't been there before." | | 10 | "For one horrible second, she thought she'd been wrong, that the stone was solid, that she was trapped—and then she felt it give, not physically but somehow elsewise, like pushing through a curtain of warm water." |
| |
| 91.81% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1341 | | adjectiveStacks | 1 | | stackExamples | | 0 | "usual orange-washed London" |
| | adverbCount | 57 | | adverbRatio | 0.042505592841163314 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.00820283370618941 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 131 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 131 | | mean | 10.08 | | std | 9.34 | | cv | 0.926 | | sampleLengths | | 0 | 5 | | 1 | 34 | | 2 | 13 | | 3 | 30 | | 4 | 13 | | 5 | 19 | | 6 | 10 | | 7 | 28 | | 8 | 5 | | 9 | 6 | | 10 | 4 | | 11 | 2 | | 12 | 2 | | 13 | 13 | | 14 | 3 | | 15 | 24 | | 16 | 9 | | 17 | 3 | | 18 | 4 | | 19 | 5 | | 20 | 8 | | 21 | 10 | | 22 | 7 | | 23 | 4 | | 24 | 2 | | 25 | 6 | | 26 | 5 | | 27 | 4 | | 28 | 14 | | 29 | 32 | | 30 | 28 | | 31 | 4 | | 32 | 10 | | 33 | 15 | | 34 | 2 | | 35 | 6 | | 36 | 2 | | 37 | 15 | | 38 | 18 | | 39 | 2 | | 40 | 13 | | 41 | 19 | | 42 | 22 | | 43 | 6 | | 44 | 5 | | 45 | 7 | | 46 | 21 | | 47 | 7 | | 48 | 27 | | 49 | 6 |
| |
| 35.50% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 19 | | diversityRatio | 0.2748091603053435 | | totalSentences | 131 | | uniqueOpeners | 36 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 6 | | totalSentences | 106 | | matches | | 0 | "Just oaks and bramble and" | | 1 | "Just silence, thick and waiting." | | 2 | "Maybe thirty meters across, she" | | 3 | "Away from whatever was behind" | | 4 | "Just rough bark and patient" | | 5 | "Just oaks and bramble and" |
| | ratio | 0.057 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 31 | | totalSentences | 106 | | matches | | 0 | "She'd noticed it three streets" | | 1 | "She'd walked past this spot" | | 2 | "She checked her phone." | | 3 | "She bent to touch one" | | 4 | "She straightened and kept walking." | | 5 | "She was ten feet from" | | 6 | "Her hand went to the" | | 7 | "It pulsed faster now, almost" | | 8 | "She turned slowly, scanning the" | | 9 | "Her shadow stretched toward the" | | 10 | "She turned back toward the" | | 11 | "She could see it now," | | 12 | "She counted to ten." | | 13 | "She took a step toward" | | 14 | "She touched the pendant again." | | 15 | "It was pulling now, not" | | 16 | "She didn't look back this" | | 17 | "She walked to the oak" | | 18 | "Her trainers were silent on" | | 19 | "She pressed her palm flat" |
| | ratio | 0.292 | |
| 73.21% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 82 | | totalSentences | 106 | | matches | | 0 | "The pendant brought her here." | | 1 | "Rory stood at the threshold" | | 2 | "Warmth radiated through the silver" | | 3 | "She'd noticed it three streets" | | 4 | "The grove opened before her" | | 5 | "She'd walked past this spot" | | 6 | "Whites and pale yellows, maybe." | | 7 | "Things that caught the moonlight" | | 8 | "She checked her phone." | | 9 | "The pendant pulsed again, and" | | 10 | "The temperature dropped." | | 11 | "The sounds of the park" | | 12 | "Rory pulled her jacket tighter" | | 13 | "The wildflowers brushed against her" | | 14 | "She bent to touch one" | | 15 | "The petals were warm." | | 16 | "She straightened and kept walking." | | 17 | "The grove wasn't large." | | 18 | "The standing stones marked the" | | 19 | "The pendant's pulse quickened as" |
| | ratio | 0.774 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 106 | | matches | (empty) | | ratio | 0 | |
| 44.82% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 51 | | technicalSentenceCount | 7 | | matches | | 0 | "Not sharply—more like walking into a cellar, that particular chill that had nothing to do with wind and everything to do with enclosed earth." | | 1 | "The moonlight seemed wrong in here—too bright, too direct, casting shadows that didn't match the shapes that cast them." | | 2 | "A single, deliberate whisper of movement, traveling left to right, as if something were pushing through them in a straight line." | | 3 | "Except there were no children in Richmond Park at midnight, and the laughter had a quality to it that made her stomach clench—it was the wrong pitch, too high a…" | | 4 | "The bark was warm now, skin-warm like the flowers, and she snatched her hands back as if burned." | | 5 | "The pendant flared sudden and hot against her chest, and for a single blazing moment she could feel something else—a pull in the opposite direction, a crack in …" | | 6 | "Rory lay on her back, gasping, and stared up at a sky that held no wrong-bright moon, just the usual orange-washed London glow and a few dim stars." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |