| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said aloud [aloud]" |
| | dialogueSentences | 6 | | tagDensity | 0.667 | | leniency | 1 | | rawRatio | 0.25 | | effectiveRatio | 0.25 | |
| 90.65% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1604 | | totalAiIsmAdverbs | 3 | | 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) | |
| 43.89% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1604 | | totalAiIsms | 18 | | found | | | highlights | | 0 | "absolutely" | | 1 | "warmth" | | 2 | "chill" | | 3 | "pulsed" | | 4 | "pulse" | | 5 | "racing" | | 6 | "stomach" | | 7 | "could feel" | | 8 | "silence" | | 9 | "resolving" | | 10 | "familiar" |
| |
| 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 | 105 | | matches | (empty) | |
| 61.22% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 5 | | narrationSentences | 105 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 107 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 51 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 4 | | totalWords | 1584 | | ratio | 0.003 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 13 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 20 | | wordCount | 1560 | | uniqueNames | 10 | | maxNameDensity | 0.38 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Rory" | | discoveredNames | | London | 2 | | Richmond | 2 | | Park | 2 | | Yu-Fei | 1 | | October | 2 | | Heartstone | 1 | | Cardiff | 1 | | Welsh | 1 | | One | 2 | | Rory | 6 |
| | persons | | 0 | "Yu-Fei" | | 1 | "October" | | 2 | "Heartstone" | | 3 | "Rory" |
| | places | | 0 | "London" | | 1 | "Richmond" | | 2 | "Park" | | 3 | "Cardiff" | | 4 | "Welsh" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 72 | | glossingSentenceCount | 5 | | matches | | 0 | "sky that seemed to have more stars than it should" | | 1 | "seemed denser somehow, as if it carried its own private night" | | 2 | "felt like a bad idea, though she couldn" | | 3 | "quite make out" | | 4 | "quite a scream, wasn't quite a hiss, was something in between that scraped against the inside of her skull like broken glass" | | 5 | "quite a hiss, was something in between that scraped against the inside of her skull like broken glass" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.631 | | wordCount | 1584 | | matches | | 0 | "not one of the standing stones, but something smaller, roughly her height, covered in carvings s" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 107 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 42 | | mean | 37.71 | | std | 30.91 | | cv | 0.82 | | sampleLengths | | 0 | 70 | | 1 | 97 | | 2 | 54 | | 3 | 7 | | 4 | 77 | | 5 | 4 | | 6 | 104 | | 7 | 4 | | 8 | 83 | | 9 | 43 | | 10 | 21 | | 11 | 7 | | 12 | 6 | | 13 | 90 | | 14 | 3 | | 15 | 54 | | 16 | 3 | | 17 | 10 | | 18 | 12 | | 19 | 59 | | 20 | 59 | | 21 | 47 | | 22 | 8 | | 23 | 52 | | 24 | 19 | | 25 | 2 | | 26 | 74 | | 27 | 12 | | 28 | 70 | | 29 | 8 | | 30 | 78 | | 31 | 41 | | 32 | 20 | | 33 | 5 | | 34 | 67 | | 35 | 32 | | 36 | 4 | | 37 | 62 | | 38 | 29 | | 39 | 57 | | 40 | 3 | | 41 | 27 |
| |
| 98.58% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 105 | | matches | | 0 | "was stressed" | | 1 | "were gone" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 9 | | totalVerbs | 265 | | matches | | 0 | "wasn't looking" | | 1 | "was racing" | | 2 | "was pulling" | | 3 | "was playing" | | 4 | "was getting" | | 5 | "were moving" | | 6 | "were herding" | | 7 | "was standing" | | 8 | "was climbing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 19 | | semicolonCount | 0 | | flaggedSentences | 15 | | totalSentences | 107 | | ratio | 0.14 | | matches | | 0 | "Aurora told herself that was ridiculous—oak didn't grow in fingers—but the thought stuck anyway, lodging somewhere between her rational mind and the primitive part of her brain that had been screaming at her since she'd climbed the fence into Richmond Park forty minutes ago." | | 1 | "The temperature difference was the first thing she'd noticed—the way the night went soft and shallow the moment she passed between two of the standing stones, winter's sharp bite dissolving into something that felt more like early spring." | | 2 | "Richmond Park was big, yes—she'd looked up the numbers once, something about twenty-five hundred acres of enclosed space—but this felt different." | | 3 | "Not even the quiet of the countryside at night, which was never truly silent—always something rustling, calling, breathing." | | 4 | "\"Why am I here?\" she said aloud, and her voice came out strange—thin and papery, like words spoken through a wall." | | 5 | "Not oaks, not anymore—though she couldn't have said what they were instead." | | 6 | "The sound came from behind her—something moving through the wildflowers, a soft rustling that shouldn't have been possible in air this still." | | 7 | "It wasn't moving—just standing there, half-hidden by shadow and branches, watching her with something that might have been eyes." | | 8 | "The gemstone pulsed against her palm, steady and bright, and she could feel it now—the direction it was pulling her in." | | 9 | "Another sound—from the left this time." | | 10 | "It was a stone—not one of the standing stones, but something smaller, roughly her height, covered in carvings she couldn't quite make out." | | 11 | "Everything was frozen, caught in a moment of terrible stillness, and she realized with sudden awful clarity that the silence had deepened—that even the sound of her own breathing had faded to almost nothing." | | 12 | "Three, four—she couldn't count them, couldn't look directly at them without her eyes sliding away." | | 13 | "She saw it in fragments—too-pale skin stretched over angular bones, a face that was almost human but wrong in ways she couldn't name, fingers that ended in something sharper than nails." | | 14 | "The light from the gemstone spread outward in a ring, passing through the wildflowers and into the earth, and for a moment—just a moment—the carvings on the stone behind her blazed gold." |
| |
| 97.46% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1585 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 68 | | adverbRatio | 0.04290220820189274 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.006309148264984227 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 107 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 107 | | mean | 14.8 | | std | 10.83 | | cv | 0.732 | | sampleLengths | | 0 | 23 | | 1 | 3 | | 2 | 44 | | 3 | 4 | | 4 | 24 | | 5 | 5 | | 6 | 15 | | 7 | 49 | | 8 | 30 | | 9 | 4 | | 10 | 20 | | 11 | 7 | | 12 | 30 | | 13 | 38 | | 14 | 4 | | 15 | 2 | | 16 | 3 | | 17 | 4 | | 18 | 8 | | 19 | 21 | | 20 | 18 | | 21 | 28 | | 22 | 29 | | 23 | 4 | | 24 | 11 | | 25 | 18 | | 26 | 3 | | 27 | 23 | | 28 | 28 | | 29 | 14 | | 30 | 29 | | 31 | 21 | | 32 | 7 | | 33 | 6 | | 34 | 5 | | 35 | 12 | | 36 | 23 | | 37 | 30 | | 38 | 4 | | 39 | 1 | | 40 | 15 | | 41 | 3 | | 42 | 22 | | 43 | 10 | | 44 | 22 | | 45 | 3 | | 46 | 10 | | 47 | 12 | | 48 | 3 | | 49 | 2 |
| |
| 48.29% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 15 | | diversityRatio | 0.37383177570093457 | | totalSentences | 107 | | uniqueOpeners | 40 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 98 | | matches | | 0 | "Almost like fingers." | | 1 | "Just pale petals and dark" | | 2 | "Away from it." | | 3 | "Instead she walked backward, keeping" | | 4 | "Then everything went dark." |
| | ratio | 0.051 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 29 | | totalSentences | 98 | | matches | | 0 | "She shouldn't be here." | | 1 | "She'd tried ignoring it." | | 2 | "She'd tried telling herself that" | | 3 | "They grew in clusters along" | | 4 | "Her boots crunched against dead" | | 5 | "It pulsed steadily now, a" | | 6 | "she said aloud, and her" | | 7 | "She walked deeper into the" | | 8 | "Their bark was too smooth," | | 9 | "She'd grown up in Cardiff," | | 10 | "She stopped walking." | | 11 | "She turned back around, and" | | 12 | "It was too tall for" | | 13 | "It wasn't moving—just standing there," | | 14 | "She didn't run." | | 15 | "It didn't follow." | | 16 | "It just stood there, still" | | 17 | "She couldn't tell anymore." | | 18 | "She reached the center of" | | 19 | "It was a stone—not one" |
| | ratio | 0.296 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 69 | | totalSentences | 98 | | matches | | 0 | "The standing stones rose black" | | 1 | "Aurora told herself that was" | | 2 | "She shouldn't be here." | | 3 | "The rational part of her" | | 4 | "The park closed at dusk." | | 5 | "She'd tried ignoring it." | | 6 | "She'd tried telling herself that" | | 7 | "The temperature difference was the" | | 8 | "That's very wrong." | | 9 | "The clearing stretched wider than" | | 10 | "Richmond Park was big, yes—she'd" | | 11 | "The wildflowers were the second" | | 12 | "They grew in clusters along" | | 13 | "This was absence." | | 14 | "Her boots crunched against dead" | | 15 | "Rory pressed her palm against" | | 16 | "It pulsed steadily now, a" | | 17 | "she said aloud, and her" | | 18 | "The pendant flared hot against" | | 19 | "She walked deeper into the" |
| | ratio | 0.704 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 98 | | matches | | 0 | "Now she was here, standing" | | 1 | "As if someone had taken" | | 2 | "As if someone had picked" |
| | ratio | 0.031 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 60 | | technicalSentenceCount | 16 | | matches | | 0 | "The standing stones rose black against the sodium-orange glow of distant London, their ancient oak surfaces twisted into shapes that looked almost deliberate." | | 1 | "Aurora told herself that was ridiculous—oak didn't grow in fingers—but the thought stuck anyway, lodging somewhere between her rational mind and the primitive p…" | | 2 | "But the pendant had burned against her sternum for three straight days, its faint warmth growing steadily hotter until she'd started catching herself rubbing he…" | | 3 | "*Go to the grove.* The instruction had come without words, a certainty that felt almost borrowed, as if someone had slipped a thought into her head while she wa…" | | 4 | "Now she was here, standing at the edge of a clearing that shouldn't exist, watching her breath fog in air that smelled faintly of wildflowers despite the late O…" | | 5 | "The temperature difference was the first thing she'd noticed—the way the night went soft and shallow the moment she passed between two of the standing stones, w…" | | 6 | "Bigger on the inside, her mind whispered in a voice that sounded too much like a children's story." | | 7 | "The wildflowers were the second wrong thing: pale things with petals that caught the starlight and seemed to glow from within, nodding in a breeze she couldn't …" | | 8 | "Not even the quiet of the countryside at night, which was never truly silent—always something rustling, calling, breathing." | | 9 | "It pulsed steadily now, a heartbeat rhythm that had nothing to do with her own pulse, which was racing along at a pace that made her feel vaguely sick." | | 10 | "The sound came from behind her—something moving through the wildflowers, a soft rustling that shouldn't have been possible in air this still." | | 11 | "It was too tall for a person, too thin, its limbs stretching out at angles that made her stomach clench." | | 12 | "It wasn't moving—just standing there, half-hidden by shadow and branches, watching her with something that might have been eyes." | | 13 | "Rory's hand found the pendant without thinking, her fingers closing around the warm silver chain." | | 14 | "She saw it in fragments—too-pale skin stretched over angular bones, a face that was almost human but wrong in ways she couldn't name, fingers that ended in some…" | | 15 | "The pendant flared brilliant scarlet, and the thing recoiled with a sound that wasn't quite a scream, wasn't quite a hiss, was something in between that scraped…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 25.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 1 | | fancyTags | | 0 | "she breathed (breathe)" |
| | dialogueSentences | 6 | | tagDensity | 0.667 | | leniency | 1 | | rawRatio | 0.25 | | effectiveRatio | 0.25 | |