| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 10 | | tagDensity | 0.6 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 78.71% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2348 | | totalAiIsmAdverbs | 10 | | found | | 0 | | | 1 | | | 2 | | adverb | "deliberately" | | count | 1 |
| | 3 | |
| | highlights | | 0 | "slowly" | | 1 | "very" | | 2 | "deliberately" | | 3 | "completely" |
| |
| 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) | |
| 46.76% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2348 | | totalAiIsms | 25 | | found | | | highlights | | 0 | "echo" | | 1 | "pulse" | | 2 | "could feel" | | 3 | "rhythmic" | | 4 | "warmth" | | 5 | "flicker" | | 6 | "pulsed" | | 7 | "throb" | | 8 | "silence" | | 9 | "measured" | | 10 | "crystal" | | 11 | "beacon" |
| |
| 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 | 231 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 231 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 236 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 78 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2375 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 31 | | wordCount | 2320 | | uniqueNames | 14 | | maxNameDensity | 0.39 | | worstName | "Heartstone" | | maxWindowNameDensity | 1 | | worstWindowName | "Heartstone" | | discoveredNames | | Richmond | 2 | | Gate | 1 | | Heartstone | 9 | | Googled | 1 | | Cardiff | 1 | | Evan | 1 | | Hel | 1 | | Yu-Fei | 1 | | Rory | 6 | | Aurora | 1 | | Welsh | 1 | | London | 2 | | Park | 1 | | Three | 3 |
| | persons | | 0 | "Heartstone" | | 1 | "Evan" | | 2 | "Yu-Fei" | | 3 | "Rory" |
| | places | | 0 | "Richmond" | | 1 | "Cardiff" | | 2 | "Welsh" | | 3 | "London" | | 4 | "Park" | | 5 | "Three" |
| | globalScore | 1 | | windowScore | 1 | |
| 59.91% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 111 | | glossingSentenceCount | 4 | | matches | | 0 | "tasted like copper" | | 1 | "felt like something she shouldn't do" | | 2 | "quite rooms" | | 3 | "seemed farther away than they'd been, much farther, the clearing stretching like taffy, expanding, the grove growing around her as she moved so that no matter how fast she ran, the edges stayed the same distance away" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 0.842 | | wordCount | 2375 | | matches | | 0 | "Not from the edges of the grove but from somewhere beneath her feet, as if whatever was making t" | | 1 | "not one set of claws anymore but dozens, hundreds, a sound like a thousand fingernails draggi" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 236 | | matches | | 0 | "saw that they" | | 1 | "screamed that she" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 87 | | mean | 27.3 | | std | 24.3 | | cv | 0.89 | | sampleLengths | | 0 | 10 | | 1 | 37 | | 2 | 19 | | 3 | 74 | | 4 | 6 | | 5 | 73 | | 6 | 8 | | 7 | 12 | | 8 | 63 | | 9 | 6 | | 10 | 16 | | 11 | 38 | | 12 | 45 | | 13 | 5 | | 14 | 44 | | 15 | 6 | | 16 | 16 | | 17 | 3 | | 18 | 26 | | 19 | 6 | | 20 | 2 | | 21 | 32 | | 22 | 3 | | 23 | 46 | | 24 | 11 | | 25 | 3 | | 26 | 51 | | 27 | 3 | | 28 | 74 | | 29 | 5 | | 30 | 3 | | 31 | 4 | | 32 | 5 | | 33 | 83 | | 34 | 24 | | 35 | 18 | | 36 | 2 | | 37 | 63 | | 38 | 6 | | 39 | 8 | | 40 | 73 | | 41 | 60 | | 42 | 46 | | 43 | 21 | | 44 | 13 | | 45 | 40 | | 46 | 47 | | 47 | 6 | | 48 | 19 | | 49 | 75 |
| |
| 94.63% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 7 | | totalSentences | 231 | | matches | | 0 | "been unmarked" | | 1 | "being drawn" | | 2 | "been promised" | | 3 | "been exposed" | | 4 | "was layered" | | 5 | "been confined" | | 6 | "been stolen" |
| |
| 49.34% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 8 | | totalVerbs | 354 | | matches | | 0 | "was standing" | | 1 | "was making" | | 2 | "was scratching" | | 3 | "were moving " | | 4 | "was reacting" | | 5 | "was showing" | | 6 | "was looking" | | 7 | "was waiting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 26 | | semicolonCount | 0 | | flaggedSentences | 22 | | totalSentences | 236 | | ratio | 0.093 | | matches | | 0 | "Rory stopped at the tree line and counted them the way she'd counted the steps from Richmond Gate — one by one, anchoring herself to something she could verify." | | 1 | "Not a dead battery — the screen had simply gone black, like something had switched it off from the outside." | | 2 | "The grove opened before her — a wide clearing carpeted in wildflowers that caught no moonlight because there was no moon." | | 3 | "Three nights running, the same image — a door made of bone, standing upright in the center of this grove, and something on the other side scratching to get through." | | 4 | "The wildflowers parted around her boots — she could feel them shifting, gentle pressure against her ankles, like fingers rearranging themselves as she passed." | | 5 | "But something shifted at the far edge of the clearing — a flicker of movement between two standing stones, there and gone so fast she almost convinced herself it hadn't happened." | | 6 | "In the red light, she saw that they were moving — not swaying in wind, because there was no wind." | | 7 | "Her mind worked the way it always did in crisis — compartmentalizing, sorting, filing terror into a drawer she could deal with later." | | 8 | "Slow, measured, wet — the sound of air being drawn through something that wasn't a throat, or was a throat but not shaped the way throats should be shaped." | | 9 | "The crimson glow was brighter, and the gemstone — no bigger than her thumbnail — showed something she'd never seen before." | | 10 | "Just the pendant on its silver chain and a sense — irrational, unexplainable — that she needed to keep it close." | | 11 | "Not saw it — felt it." | | 12 | "The scratching escalated — not one set of claws anymore but dozens, hundreds, a sound like a thousand fingernails dragging across a single enormous blackboard, and the ground in the circle of bare earth began to crack." | | 13 | "Thin at first — a hairline crack no wider than a pencil." | | 14 | "Pale, sickly, the color of old teeth, and it carried a smell with it — something sweet and rotten, like flowers left too long in vase water, like fruit turning in a bowl, like skin that had never been exposed to sun." | | 15 | "Every horror film, every fairy tale, every warning her grandmother had whispered in Welsh over the kitchen table while the kettle boiled — never turn around when something knows your name." | | 16 | "It rose from her side and reached backward, fingers stretching toward the voice, and she fought it — gods, she fought it — but her arm moved like someone else's arm, like a puppet's arm, and the Heartstone's light turned the air red and the shadow inside the stone stopped moving and pressed itself flat against the crystal, watching." | | 17 | "The cold lingered on her fingertips — a deep, cellular cold, the kind that didn't come from winter air but from something older, something that had never been warm, something that didn't understand warmth as a concept." | | 18 | "She ran without deciding to run, her body making the choice her brain had failed to make, boots slamming against the ground — but the wildflowers were in the way now, thick and tall, wrapping around her ankles, and the standing stones seemed farther away than they'd been, much farther, the clearing stretching like taffy, expanding, the grove growing around her as she moved so that no matter how fast she ran, the edges stayed the same distance away." | | 19 | "Slammed between two of them, felt bark scrape her shoulders, burst through into the trees on the other side — and the sounds stopped." | | 20 | "The scratching, the breathing, the voices, the wet unfolding — all of it cut off like someone had closed a door." | | 21 | "Not frostbitten — the skin was intact — but pale, bloodless, as if the cold had reached into the vessels themselves and slowed everything down." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 2247 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 86 | | adverbRatio | 0.03827325322652426 | | lyAdverbCount | 20 | | lyAdverbRatio | 0.008900756564307966 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 236 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 236 | | mean | 10.06 | | std | 11.44 | | cv | 1.137 | | sampleLengths | | 0 | 10 | | 1 | 29 | | 2 | 2 | | 3 | 6 | | 4 | 7 | | 5 | 10 | | 6 | 2 | | 7 | 9 | | 8 | 20 | | 9 | 4 | | 10 | 10 | | 11 | 27 | | 12 | 4 | | 13 | 6 | | 14 | 11 | | 15 | 25 | | 16 | 21 | | 17 | 16 | | 18 | 8 | | 19 | 11 | | 20 | 1 | | 21 | 6 | | 22 | 30 | | 23 | 19 | | 24 | 6 | | 25 | 2 | | 26 | 6 | | 27 | 16 | | 28 | 28 | | 29 | 2 | | 30 | 1 | | 31 | 7 | | 32 | 4 | | 33 | 10 | | 34 | 31 | | 35 | 1 | | 36 | 4 | | 37 | 8 | | 38 | 24 | | 39 | 4 | | 40 | 8 | | 41 | 6 | | 42 | 3 | | 43 | 2 | | 44 | 11 | | 45 | 3 | | 46 | 4 | | 47 | 17 | | 48 | 3 | | 49 | 1 |
| |
| 46.05% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 28 | | diversityRatio | 0.3474576271186441 | | totalSentences | 236 | | uniqueOpeners | 82 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 11 | | totalSentences | 178 | | matches | | 0 | "Then you were there." | | 1 | "Very faint, coming from everywhere" | | 2 | "Then it stopped again, and" | | 3 | "Twice this time." | | 4 | "Just the pendant on its" | | 5 | "Just faint pulsing near places" | | 6 | "Then back again." | | 7 | "Pale, sickly, the color of" | | 8 | "Then it spoke again, and" | | 9 | "Only a hand." | | 10 | "Completely, unnervingly cold, as if" |
| | ratio | 0.062 | |
| 89.66% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 58 | | totalSentences | 178 | | matches | | 0 | "She touched the Heartstone through" | | 1 | "Her phone had died twenty" | | 2 | "She'd kept walking anyway." | | 3 | "You walked until the trees" | | 4 | "She stepped between two stones" | | 5 | "Her breath came out in" | | 6 | "She hadn't remembered the sky" | | 7 | "she said to herself, the" | | 8 | "She'd come because of the" | | 9 | "She was so smart." | | 10 | "She walked toward the center" | | 11 | "She didn't look down." | | 12 | "She stopped walking." | | 13 | "She released the breath slowly" | | 14 | "Her fingers found the pendant" | | 15 | "She'd learned long ago not" | | 16 | "She took a step back." | | 17 | "Her mind worked the way" | | 18 | "She was here for a" | | 19 | "She needed to find it." |
| | ratio | 0.326 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 117 | | totalSentences | 178 | | matches | | 0 | "The standing stones emerged from" | | 1 | "Rory stopped at the tree" | | 2 | "She touched the Heartstone through" | | 3 | "The pendant hung against her" | | 4 | "Her phone had died twenty" | | 5 | "She'd kept walking anyway." | | 6 | "The grove wasn't a place" | | 7 | "You walked until the trees" | | 8 | "Tonight the air tasted like" | | 9 | "She stepped between two stones" | | 10 | "Her breath came out in" | | 11 | "The grove opened before her" | | 12 | "The sky above the clearing" | | 13 | "She hadn't remembered the sky" | | 14 | "she said to herself, the" | | 15 | "She'd come because of the" | | 16 | "The first night, she'd dismissed" | | 17 | "The second night, she'd Googled" | | 18 | "The third night, she'd felt" | | 19 | "A twenty-five-year-old delivery driver from" |
| | ratio | 0.657 | |
| 28.09% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 178 | | matches | | 0 | "Now it was showing her" |
| | ratio | 0.006 | |
| 7.72% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 74 | | technicalSentenceCount | 14 | | matches | | 0 | "You walked until the trees changed, until the air tasted different, until the path beneath your boots shifted from gravel to something that felt closer to moss." | | 1 | "The third night, she'd felt the pendant pulse while she was standing in her kitchen making tea, and the cup had cracked clean in half on the counter." | | 2 | "Not from the edges of the grove but from somewhere beneath her feet, as if whatever was making the sound was scratching upward through packed earth, through roo…" | | 3 | "The breathing of something that had been waiting a very long time and had developed patience as a survival strategy." | | 4 | "The benefactor who'd left it in a plain envelope outside her flat had included no note." | | 5 | "Pale, sickly, the color of old teeth, and it carried a smell with it — something sweet and rotten, like flowers left too long in vase water, like fruit turning …" | | 6 | "The cold lingered on her fingertips — a deep, cellular cold, the kind that didn't come from winter air but from something older, something that had never been w…" | | 7 | "It was layered, dozens of voices speaking in unison, some of them children, some of them old women, some of them something that had never been human at all." | | 8 | "The pale light surged upward and the sweet-rotten smell hit her like a wall, and in the light she saw the thing that had been scratching." | | 9 | "She ran without deciding to run, her body making the choice her brain had failed to make, boots slamming against the ground — but the wildflowers were in the wa…" | | 10 | "Ice cold, a sudden plunge in temperature that made her gasp, and the red light died, and in the sudden darkness she could see the pale glow from behind her, gro…" | | 11 | "Completely, unnervingly cold, as if the warmth had been stolen from it, as if whatever she'd touched had taken something from the stone as well as from her fing…" | | 12 | "Not frostbitten — the skin was intact — but pale, bloodless, as if the cold had reached into the vessels themselves and slowed everything down." | | 13 | "The faintest flicker of warmth against her skin, deep in the crystal, from the shadow that was no longer pressing itself against the walls of the stone." |
| |
| 41.67% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 6 | | uselessAdditionCount | 1 | | matches | | 0 | "she said, the word falling flat without echo" |
| |
| 50.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 1 | | fancyTags | | 0 | "she whispered (whisper)" |
| | dialogueSentences | 10 | | tagDensity | 0.4 | | leniency | 0.8 | | rawRatio | 0.25 | | effectiveRatio | 0.2 | |