| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 0 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 83.61% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2136 | | totalAiIsmAdverbs | 7 | | found | | | highlights | | 0 | "very" | | 1 | "gently" | | 2 | "slowly" | | 3 | "carefully" | | 4 | "precisely" |
| |
| 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) | |
| 67.23% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2136 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "pulsed" | | 1 | "warmth" | | 2 | "flickered" | | 3 | "silence" | | 4 | "rhythmic" | | 5 | "pulse" | | 6 | "quickened" | | 7 | "resolve" | | 8 | "familiar" | | 9 | "weight" |
| |
| 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 | 165 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 2 | | narrationSentences | 165 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 165 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 72 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2156 | | 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 | 53 | | wordCount | 2115 | | uniqueNames | 17 | | maxNameDensity | 0.61 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Click" | | discoveredNames | | Richmond | 3 | | Park | 3 | | Rory | 13 | | Isolde | 3 | | Heartstone | 8 | | October | 3 | | Isabella | 1 | | Plantation | 1 | | Hel | 2 | | Earth | 1 | | Fae | 2 | | London | 2 | | Tudors | 1 | | Gatekeepers | 1 | | Carter | 1 | | Two | 1 | | Click | 7 |
| | persons | | 0 | "Rory" | | 1 | "Isolde" | | 2 | "Heartstone" | | 3 | "Tudors" | | 4 | "Carter" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Isabella" | | 3 | "Plantation" | | 4 | "Hel" | | 5 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 100 | | glossingSentenceCount | 7 | | matches | | 0 | "quite level" | | 1 | "sounded like something" | | 2 | "something between them" | | 3 | "clicking that seemed to come from everywhere at once — from the standing stones, from the ground beneath her feet, from the canopy above" | | 4 | "sounded like someone running a fingernail" | | 5 | "felt like a full minute, her lungs burn" | | 6 | "appeared, pale and solid and blessedly ordinary" |
| |
| 60.85% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 1.391 | | wordCount | 2156 | | matches | | 0 | "not dramatically, not enough to make her stumble, but enough" | | 1 | "not enough to make her stumble, but enough" | | 2 | "not actual stone, but petrified oak, the remnants of trees so old they'd turned to" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 165 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 58 | | mean | 37.17 | | std | 33.89 | | cv | 0.912 | | sampleLengths | | 0 | 26 | | 1 | 64 | | 2 | 13 | | 3 | 88 | | 4 | 53 | | 5 | 60 | | 6 | 5 | | 7 | 4 | | 8 | 79 | | 9 | 18 | | 10 | 3 | | 11 | 90 | | 12 | 8 | | 13 | 57 | | 14 | 10 | | 15 | 102 | | 16 | 5 | | 17 | 1 | | 18 | 63 | | 19 | 34 | | 20 | 5 | | 21 | 42 | | 22 | 63 | | 23 | 8 | | 24 | 83 | | 25 | 5 | | 26 | 27 | | 27 | 80 | | 28 | 21 | | 29 | 46 | | 30 | 6 | | 31 | 68 | | 32 | 12 | | 33 | 59 | | 34 | 3 | | 35 | 8 | | 36 | 63 | | 37 | 6 | | 38 | 69 | | 39 | 5 | | 40 | 49 | | 41 | 3 | | 42 | 11 | | 43 | 124 | | 44 | 4 | | 45 | 5 | | 46 | 2 | | 47 | 90 | | 48 | 75 | | 49 | 47 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 165 | | matches | | 0 | "been locked" | | 1 | "was illuminated" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 16 | | totalVerbs | 332 | | matches | | 0 | "was already regretting" | | 1 | "was being" | | 2 | "were still moving" | | 3 | "was breathing" | | 4 | "was learning" | | 5 | "was trying" | | 6 | "was shaking" | | 7 | "was flooding" | | 8 | "was holding" | | 9 | "was coming" | | 10 | "was standing" | | 11 | "was slowly pressing" | | 12 | "was walking" | | 13 | "was crashing" | | 14 | "were shaking" | | 15 | "was still learning" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 20 | | semicolonCount | 0 | | flaggedSentences | 16 | | totalSentences | 165 | | ratio | 0.097 | | matches | | 0 | "Get in, find the grove, look for the thing Isolde had mentioned — a root formation shaped like clasped hands, supposedly visible only under a new moon." | | 1 | "The gate had been locked, of course, but someone — something — had left the pedestrian access unlatched." | | 2 | "She'd seen the stags in rutting season — all heaving muscle and bone-white antler." | | 3 | "She left the path and immediately felt the grass change beneath her trainers — longer, damper, catching at her ankles like fingers." | | 4 | "The oaks appeared first as shapes — darker darknesses against the general dark, their canopies blocking out even the faint light pollution that bled over from the edges of London." | | 5 | "The torch flickered as she passed between the twin trunks, and for a moment the world tilted — not dramatically, not enough to make her stumble, but enough that her inner ear registered something wrong." | | 6 | "The standing stones — not actual stone, but petrified oak, the remnants of trees so old they'd turned to something harder than wood — ringed the clearing in a rough circle perhaps thirty feet across." | | 7 | "She pressed her palm flat against it through her jacket and felt the deep crimson glow even through the layers of fabric — a faint warmth against her fingers that shouldn't have been visible but was." | | 8 | "Her torch caught something on the nearest one — marks she hadn't noticed before." | | 9 | "Or not spirals — they moved in one direction and then doubled back, creating a shape that her eyes wanted to follow but that her brain couldn't resolve into meaning." | | 10 | "The beam hit the twin oaks she'd entered through, and for a moment — for just a fraction of a moment, less time than it took to blink — there was something between them." | | 11 | "A low, arrhythmic clicking that seemed to come from everywhere at once — from the standing stones, from the ground beneath her feet, from the canopy above." | | 12 | "She was shaking now and she hated it — hated the animal fear that was flooding her limbs with adrenaline and telling her to run." | | 13 | "In that half second, she saw everything — the standing stones with their spiral marks, the wildflowers in their wrong-season bloom, the twin oaks at the boundary, and between them and her, occupying a space that should have been empty air, a shadow that stood on the ground without anything to cast it." | | 14 | "She went sideways, vaulting one of the shorter standing stones with a hand planted on its petrified surface — the wood was warm, almost feverishly so, and she felt the spiral marks squirm under her palm like living things — and then she was crashing through the boundary of the grove into the open parkland, the torch beam swinging wildly, her breath tearing out of her in ragged gasps that fogged the October air." | | 15 | "She pushed off the gate and walked toward the bus stop on legs that felt borrowed, her left hand wrapped unconsciously around her right wrist, her thumb pressing the crescent scar there — the old, familiar geography of her own skin." |
| |
| 95.52% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 2017 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 91 | | adverbRatio | 0.0451165096678235 | | lyAdverbCount | 27 | | lyAdverbRatio | 0.013386217154189391 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 165 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 165 | | mean | 13.07 | | std | 13.4 | | cv | 1.025 | | sampleLengths | | 0 | 26 | | 1 | 7 | | 2 | 27 | | 3 | 2 | | 4 | 2 | | 5 | 25 | | 6 | 1 | | 7 | 13 | | 8 | 18 | | 9 | 21 | | 10 | 49 | | 11 | 5 | | 12 | 24 | | 13 | 14 | | 14 | 10 | | 15 | 38 | | 16 | 22 | | 17 | 3 | | 18 | 2 | | 19 | 4 | | 20 | 27 | | 21 | 9 | | 22 | 7 | | 23 | 30 | | 24 | 2 | | 25 | 2 | | 26 | 2 | | 27 | 18 | | 28 | 3 | | 29 | 30 | | 30 | 28 | | 31 | 13 | | 32 | 19 | | 33 | 8 | | 34 | 35 | | 35 | 4 | | 36 | 18 | | 37 | 10 | | 38 | 1 | | 39 | 28 | | 40 | 35 | | 41 | 34 | | 42 | 4 | | 43 | 5 | | 44 | 1 | | 45 | 6 | | 46 | 9 | | 47 | 2 | | 48 | 1 | | 49 | 7 |
| |
| 38.59% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 23 | | diversityRatio | 0.3151515151515151 | | totalSentences | 165 | | uniqueOpeners | 52 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 6 | | totalSentences | 135 | | matches | | 0 | "Even sleeping, they were not" | | 1 | "Then the torchlight steadied, and" | | 2 | "Instead, the silence was so" | | 3 | "Too long in the limbs." | | 4 | "Then the beam steadied and" | | 5 | "Just the gap between the" |
| | ratio | 0.044 | |
| 80.74% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 47 | | totalSentences | 135 | | matches | | 0 | "She'd told herself it would" | | 1 | "She had her phone, a" | | 2 | "She'd noticed that and filed" | | 3 | "She'd seen the stags in" | | 4 | "She left the path and" | | 5 | "She was being ridiculous." | | 6 | "It pulsed when it was" | | 7 | "It was a pocket between" | | 8 | "It pulsed again, slow and" | | 9 | "She swept the torch across" | | 10 | "She just had to find" | | 11 | "She found them by nearly" | | 12 | "She knelt and swept the" | | 13 | "She stood up." | | 14 | "She pressed her palm flat" | | 15 | "She moved deeper into the" | | 16 | "Her torch caught something on" | | 17 | "She looked away and felt" | | 18 | "She did not breathe." | | 19 | "She held the torch with" |
| | ratio | 0.348 | |
| 71.11% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 105 | | totalSentences | 135 | | matches | | 0 | "The last bus had dropped" | | 1 | "She'd told herself it would" | | 2 | "She had her phone, a" | | 3 | "Nothing about Richmond Park at" | | 4 | "The gate had been locked," | | 5 | "She'd noticed that and filed" | | 6 | "The path from the gate" | | 7 | "Rory kept to the path." | | 8 | "The deer would be out" | | 9 | "She'd seen the stags in" | | 10 | "The path curved south toward" | | 11 | "She left the path and" | | 12 | "She was being ridiculous." | | 13 | "The Heartstone pendant had begun" | | 14 | "It pulsed when it was" | | 15 | "Isolde's grove was not a" | | 16 | "It was a pocket between" | | 17 | "It pulsed again, slow and" | | 18 | "Rory walked faster." | | 19 | "The oaks appeared first as" |
| | ratio | 0.778 | |
| 74.07% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 135 | | matches | | 0 | "Even now, even in the" | | 1 | "Though there was no wind." |
| | ratio | 0.015 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 69 | | technicalSentenceCount | 19 | | matches | | 0 | "The path from the gate led through open grassland that should have been navigable even in the dark, but the torchlight seemed to reach about half as far as it s…" | | 1 | "It was a pocket between Earth and the Fae realm, which was an entirely different thing, and the pendant was probably just reacting to the ambient strangeness of…" | | 2 | "The oaks appeared first as shapes — darker darknesses against the general dark, their canopies blocking out even the faint light pollution that bled over from t…" | | 3 | "She swept the torch across them and caught the silver-grey of ancient bark, the skeletal sprawl of branches that had been growing before the Tudors had hunted h…" | | 4 | "The air smelled of crushed thyme and something sweeter underneath, something that reminded her of the way a room smelled after someone had been burning expensiv…" | | 5 | "Every stem in the clearing moved in the same direction, at the same speed, as though something beneath the soil was breathing." | | 6 | "She pressed her palm flat against it through her jacket and felt the deep crimson glow even through the layers of fabric — a faint warmth against her fingers th…" | | 7 | "A low, arrhythmic clicking that seemed to come from everywhere at once — from the standing stones, from the ground beneath her feet, from the canopy above." | | 8 | "She was shaking now and she hated it — hated the animal fear that was flooding her limbs with adrenaline and telling her to run." | | 9 | "She was holding hers, had been holding it for what felt like a full minute, her lungs burning with the effort." | | 10 | "The breathing was coming from her left, from just beyond the nearest standing stone, and it was slow and wet and ragged in a way that made her think of puncture…" | | 11 | "They were pressed flat against the earth, every single one of them, as though something heavy had just passed over them." | | 12 | "But three feet to her right, a single white flower was slowly pressing itself down against the soil, its stem bending with the delicacy of a thing being careful…" | | 13 | "The Heartstone flared against her chest with a heat that was almost painful, and in the burst of crimson light that bled through her jacket, the clearing was il…" | | 14 | "In that half second, she saw everything — the standing stones with their spiral marks, the wildflowers in their wrong-season bloom, the twin oaks at the boundar…" | | 15 | "It was simply an absence of light in the shape of something that had never been human, and it was close enough that she could have reached out and touched it." | | 16 | "She went sideways, vaulting one of the shorter standing stones with a hand planted on its petrified surface — the wood was warm, almost feverishly so, and she f…" | | 17 | "She had found something else instead, something that the Heartstone had recognized, something that had walked toward her on invisible legs and breathed with lun…" | | 18 | "She pushed off the gate and walked toward the bus stop on legs that felt borrowed, her left hand wrapped unconsciously around her right wrist, her thumb pressin…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |