| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 7 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 12 | | tagDensity | 0.583 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 96.38% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1383 | | totalAiIsmAdverbs | 1 | | 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) | |
| 45.77% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1383 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "pulse" | | 1 | "warmth" | | 2 | "sentinel" | | 3 | "pulsed" | | 4 | "trembled" | | 5 | "footsteps" | | 6 | "silence" | | 7 | "calibrated" | | 8 | "perfect" | | 9 | "throbbed" |
| |
| 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 | 112 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 112 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 118 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 62 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1404 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 23 | | wordCount | 1324 | | uniqueNames | 13 | | maxNameDensity | 0.53 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Richmond" | | discoveredNames | | Golden | 1 | | Empress | 1 | | Canary | 1 | | Wharf | 1 | | Tonight | 1 | | Heartstone | 2 | | Hel | 2 | | Richmond | 3 | | Park | 1 | | Petersham | 1 | | Grove | 1 | | Rory | 7 | | Fae | 1 |
| | persons | | 0 | "Heartstone" | | 1 | "Grove" | | 2 | "Rory" |
| | places | | 0 | "Golden" | | 1 | "Canary" | | 2 | "Hel" | | 3 | "Richmond" | | 4 | "Park" | | 5 | "Fae" |
| | globalScore | 1 | | windowScore | 1 | |
| 68.03% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 61 | | glossingSentenceCount | 2 | | matches | | 0 | "felt like a hole cut in her chest, like" | | 1 | "quite reach" |
| |
| 57.55% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.425 | | wordCount | 1404 | | matches | | 0 | "not an absence of noise but a wall built around it, thick enough to press against her ea" | | 1 | "not outward toward a portal or inward toward her chest, but toward the seventh tree, the one she hadn't seen until now" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 118 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 47 | | mean | 29.87 | | std | 23.7 | | cv | 0.793 | | sampleLengths | | 0 | 94 | | 1 | 5 | | 2 | 80 | | 3 | 9 | | 4 | 48 | | 5 | 7 | | 6 | 37 | | 7 | 29 | | 8 | 4 | | 9 | 61 | | 10 | 3 | | 11 | 68 | | 12 | 14 | | 13 | 2 | | 14 | 55 | | 15 | 8 | | 16 | 55 | | 17 | 6 | | 18 | 26 | | 19 | 6 | | 20 | 19 | | 21 | 14 | | 22 | 63 | | 23 | 51 | | 24 | 2 | | 25 | 65 | | 26 | 17 | | 27 | 37 | | 28 | 7 | | 29 | 3 | | 30 | 17 | | 31 | 58 | | 32 | 32 | | 33 | 45 | | 34 | 15 | | 35 | 17 | | 36 | 44 | | 37 | 17 | | 38 | 54 | | 39 | 30 | | 40 | 5 | | 41 | 35 | | 42 | 51 | | 43 | 9 | | 44 | 40 | | 45 | 7 | | 46 | 33 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 112 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 197 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 21 | | semicolonCount | 1 | | flaggedSentences | 18 | | totalSentences | 118 | | ratio | 0.153 | | matches | | 0 | "Not a tug, not a pulse — a lean, the way a compass needle drifts toward something it wants to find." | | 1 | "Whatever existed on the other side of that warmth, it lived in Richmond Park — specifically in the pocket of ancient oak that stood sentinel along the western boundary, trunks so thick she'd once rested her spine against one and felt the bark flex like skin." | | 2 | "Richmond after midnight existed in a different register than Richmond after nine — the car parks gaped empty, the ponds held nothing but black, and the only sound was her trainers on gravel and the tick of the pendant's chain against her collar." | | 3 | "Not the water of Petersham or the pond runoff — something wetter, something that moved with a rhythm that didn't match gravity." | | 4 | "Cold meant — she pressed two fingers to it through her shirt." | | 5 | "Wildflowers crowded the ground at their base — yarrow, foxglove, clover — all of it in full bloom under a sky that carried no moon." | | 6 | "A pale line remained where her palm had pressed — not a mark, an absence, as if the tree had inhaled her and kept the shape." | | 7 | "Except — one trunk sat at an angle she didn't remember." | | 8 | "The pendant revived — a single hard thump against her ribs, like a second heartbeat trying to join hers." | | 9 | "The silence deepened in a way that felt structural — not an absence of noise but a wall built around it, thick enough to press against her eardrums." | | 10 | "No stones beyond the oaks, no altar, no pool, no light source — yet she could see." | | 11 | "Instead four versions of her shape stretched outward from her feet: one long and thin toward the north tree, one squat and doubled toward the south, one crisp and sharp toward where she'd entered, and one — she stopped breathing — one was standing." | | 12 | "Her heel found a root that hadn't been there a moment ago — or had been there all along, arranged precisely under the spot where she'd been standing since she crossed the circle." | | 13 | "Pre-Law had trained her for rooms full of hostile questions; a dark clearing in a Fae pocket was just a different kind of deposition." | | 14 | "The pendant spiked hot — a sudden burn against her sternum that made her suck air through her teeth." | | 15 | "The crescent scar — the one from a childhood accident she never talked about — pulsed with a heat that matched the pendant beat for beat." | | 16 | "Pointing — she realized — not outward toward a portal or inward toward her chest, but toward the seventh tree, the one she hadn't seen until now, standing alone at the far edge of the clearing where the light from the flowers didn't quite reach." | | 17 | "The same hollow she'd left in the first oak with her palm — except this one was larger, deeper, and formed in the exact outline of a person standing with their arms at their sides." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 112 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 2 | | adverbRatio | 0.017857142857142856 | | lyAdverbCount | 0 | | lyAdverbRatio | 0 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 118 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 118 | | mean | 11.9 | | std | 12.16 | | cv | 1.022 | | sampleLengths | | 0 | 11 | | 1 | 21 | | 2 | 62 | | 3 | 5 | | 4 | 15 | | 5 | 19 | | 6 | 46 | | 7 | 9 | | 8 | 2 | | 9 | 3 | | 10 | 43 | | 11 | 7 | | 12 | 22 | | 13 | 10 | | 14 | 2 | | 15 | 3 | | 16 | 4 | | 17 | 2 | | 18 | 4 | | 19 | 19 | | 20 | 4 | | 21 | 3 | | 22 | 17 | | 23 | 12 | | 24 | 2 | | 25 | 1 | | 26 | 26 | | 27 | 3 | | 28 | 25 | | 29 | 25 | | 30 | 13 | | 31 | 5 | | 32 | 14 | | 33 | 2 | | 34 | 24 | | 35 | 5 | | 36 | 26 | | 37 | 8 | | 38 | 5 | | 39 | 23 | | 40 | 11 | | 41 | 4 | | 42 | 12 | | 43 | 6 | | 44 | 8 | | 45 | 1 | | 46 | 1 | | 47 | 16 | | 48 | 4 | | 49 | 2 |
| |
| 58.47% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.3813559322033898 | | totalSentences | 118 | | uniqueOpeners | 45 | |
| 76.63% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 87 | | matches | | 0 | "Instead four versions of her" | | 1 | "Then again, and the warmth" |
| | ratio | 0.023 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 15 | | totalSentences | 87 | | matches | | 0 | "She'd mapped the pull the" | | 1 | "She crossed the park's perimeter" | | 2 | "It came from her left," | | 3 | "She checked her phone." | | 4 | "She walked faster." | | 5 | "She pulled her hand back." | | 6 | "She turned her head left." | | 7 | "She stepped between the two" | | 8 | "She looked down." | | 9 | "She fixed on the pendant," | | 10 | "She backed up one step." | | 11 | "Her heel found a root" | | 12 | "She kept her voice level." | | 13 | "She gripped the chain through" | | 14 | "She watched it peel away" |
| | ratio | 0.172 | |
| 63.45% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 69 | | totalSentences | 87 | | matches | | 0 | "The stone between her ribs" | | 1 | "Rory had ignored it through" | | 2 | "Tonight it pulled her east." | | 3 | "She'd mapped the pull the" | | 4 | "The Heartstone sat under her" | | 5 | "Whatever existed on the other" | | 6 | "She crossed the park's perimeter" | | 7 | "Richmond after midnight existed in" | | 8 | "It came from her left," | | 9 | "The sound stopped." | | 10 | "She checked her phone." | | 11 | "The map showed her two" | | 12 | "The pendant went cold." | | 13 | "That was wrong." | | 14 | "The pendant did two things:" | | 15 | "The gemstone felt like a" | | 16 | "She walked faster." | | 17 | "The oaks announced themselves before" | | 18 | "Wildflowers crowded the ground at" | | 19 | "That was the Grove's trick," |
| | ratio | 0.793 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 87 | | matches | (empty) | | ratio | 0 | |
| 15.87% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 45 | | technicalSentenceCount | 8 | | matches | | 0 | "Whatever existed on the other side of that warmth, it lived in Richmond Park — specifically in the pocket of ancient oak that stood sentinel along the western b…" | | 1 | "Not the water of Petersham or the pond runoff — something wetter, something that moved with a rhythm that didn't match gravity." | | 2 | "Wildflowers crowded the ground at their base — yarrow, foxglove, clover — all of it in full bloom under a sky that carried no moon." | | 3 | "The ground here was soft, a bed of moss and root that absorbed her footsteps entirely." | | 4 | "The silence deepened in a way that felt structural — not an absence of noise but a wall built around it, thick enough to press against her eardrums." | | 5 | "Her heel found a root that hadn't been there a moment ago — or had been there all along, arranged precisely under the spot where she'd been standing since she c…" | | 6 | "The pendant spiked hot — a sudden burn against her sternum that made her suck air through her teeth." | | 7 | "The gemstone felt alive, writhing under her fingers, its glow surging and collapsing like something in cardiac arrest." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 7 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 12 | | tagDensity | 0.25 | | leniency | 0.5 | | rawRatio | 0 | | effectiveRatio | 0 | |