| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 7 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 9 | | tagDensity | 0.778 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 93.03% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1435 | | totalAiIsmAdverbs | 2 | | 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) | |
| 58.19% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1435 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "silence" | | 1 | "throb" | | 2 | "familiar" | | 3 | "pulsed" | | 4 | "echoed" | | 5 | "echo" | | 6 | "footsteps" | | 7 | "pulse" | | 8 | "grave" | | 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 | 118 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 118 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 120 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 82 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1454 | | ratio | 0 | | matches | (empty) | |
| 93.75% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 1 | | matches | | 0 | "Forty-two steps, she told herself." |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 23 | | wordCount | 1373 | | uniqueNames | 12 | | maxNameDensity | 0.44 | | worstName | "Grove" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Grove" | | discoveredNames | | Richmond | 2 | | Park | 2 | | Grove | 6 | | October | 1 | | Heartstone | 2 | | Yu-Fei | 2 | | Sound | 1 | | Shaking | 1 | | Year | 1 | | Six | 1 | | Cardiff | 1 | | Aurora | 3 |
| | persons | | 0 | "Grove" | | 1 | "Yu-Fei" | | 2 | "Sound" | | 3 | "Aurora" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 56 | | glossingSentenceCount | 1 | | matches | | 0 | "something like damp earth over old meat" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1454 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 120 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 39 | | mean | 37.28 | | std | 29.73 | | cv | 0.797 | | sampleLengths | | 0 | 32 | | 1 | 77 | | 2 | 9 | | 3 | 64 | | 4 | 12 | | 5 | 1 | | 6 | 55 | | 7 | 5 | | 8 | 55 | | 9 | 5 | | 10 | 50 | | 11 | 10 | | 12 | 38 | | 13 | 60 | | 14 | 43 | | 15 | 72 | | 16 | 62 | | 17 | 12 | | 18 | 39 | | 19 | 7 | | 20 | 75 | | 21 | 2 | | 22 | 98 | | 23 | 5 | | 24 | 11 | | 25 | 64 | | 26 | 5 | | 27 | 22 | | 28 | 53 | | 29 | 96 | | 30 | 3 | | 31 | 7 | | 32 | 7 | | 33 | 73 | | 34 | 88 | | 35 | 56 | | 36 | 38 | | 37 | 8 | | 38 | 35 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 118 | | matches | | |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 8 | | totalVerbs | 221 | | matches | | 0 | "was practising" | | 1 | "was sealing" | | 2 | "was beating" | | 3 | "was calling" | | 4 | "was answering" | | 5 | "wasn't hurrying" | | 6 | "was already fading" | | 7 | "was humming" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 18 | | semicolonCount | 0 | | flaggedSentences | 15 | | totalSentences | 120 | | ratio | 0.125 | | matches | | 0 | "She ducked beneath the last of the standing stones and the sounds of Richmond Park fell away behind her — the distant traffic, the late joggers, a dog barking somewhere near the gate." | | 1 | "That was the reason she'd come — three days of silence, three days of the Heartstone pendant warming against her sternum at odd hours, and Yu-Fei had grabbed her wrist at the end of her shift and told her, in that flat voice of hers, that a favour unanswered was a debt that grew teeth." | | 2 | "The flowers around her feet looked the same as the flowers she'd passed ten steps back — not similar." | | 3 | "Something moved at the edge of her sight — low, between the flowers, a pale unspooling motion like a hand turning over in soil." | | 4 | "The place swallowed noise, always had — she'd remarked on it once, how her footsteps landed like secrets." | | 5 | "She noticed it by the smell first — the honey-sweetness going sour, turning to something like damp earth over old meat." | | 6 | "She gasped and clawed the chain away from her skin, and the crimson stone hung above her chest glowing — actually glowing, a dull coal-red light she'd only ever imagined she saw before." | | 7 | "But it had intention — she felt that in her teeth, in the crescent scar on her wrist that had begun, absurdly, to itch." | | 8 | "The boundary stones — twenty paces, she'd seen them — stretched away from her like the whole nightmare cliché she refused to believe in, the gap widening with every stride, and the pale thing moved in her peripheral vision again, keeping pace, low and fluid and not hurrying at all." | | 9 | "Her reflection looked back at her from nothing — and then she realised it wasn't nothing." | | 10 | "She ripped the chain over her head — the clasp broke, links scattering into the grass like startled silver insects — and she held the Heartstone out over the black pool, arm trembling, the reflection below her mirroring the gesture with obscene enthusiasm." | | 11 | "The flowers around her, every one, snapped open at once — white, innocent, blooming in the moonlight as if nothing had happened at all." | | 12 | "She turned and she walked — walked, because running had been a mistake, running was prey — toward the standing stones, forty-two paces, and she counted every one aloud in a steady voice, and behind her the black pool made a soft sound like a stone table being set for dinner, and the pale thing did not follow her, but she felt it watch her go with an attention that had weight, that pressed between her shoulder blades like a fingertip." | | 13 | "At the boundary she passed between the oaks and the night air of Richmond Park hit her — cold, filthy, beautiful, full of traffic and foxes and the smell of rain on tarmac." | | 14 | "And somewhere behind her, in a place that no longer held a stone that glowed, the singing started up again — slower now, and this time, she was almost certain, it was humming her name." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1368 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 50 | | adverbRatio | 0.03654970760233918 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.005116959064327485 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 120 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 120 | | mean | 12.12 | | std | 15.25 | | cv | 1.259 | | sampleLengths | | 0 | 9 | | 1 | 23 | | 2 | 33 | | 3 | 12 | | 4 | 32 | | 5 | 9 | | 6 | 2 | | 7 | 55 | | 8 | 4 | | 9 | 1 | | 10 | 1 | | 11 | 1 | | 12 | 9 | | 13 | 1 | | 14 | 2 | | 15 | 1 | | 16 | 43 | | 17 | 6 | | 18 | 6 | | 19 | 5 | | 20 | 12 | | 21 | 19 | | 22 | 2 | | 23 | 13 | | 24 | 5 | | 25 | 2 | | 26 | 2 | | 27 | 3 | | 28 | 2 | | 29 | 3 | | 30 | 22 | | 31 | 3 | | 32 | 5 | | 33 | 17 | | 34 | 4 | | 35 | 1 | | 36 | 5 | | 37 | 24 | | 38 | 6 | | 39 | 1 | | 40 | 3 | | 41 | 4 | | 42 | 9 | | 43 | 6 | | 44 | 3 | | 45 | 18 | | 46 | 24 | | 47 | 4 | | 48 | 1 | | 49 | 5 |
| |
| 48.61% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 15 | | diversityRatio | 0.36666666666666664 | | totalSentences | 120 | | uniqueOpeners | 44 | |
| 70.92% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 94 | | matches | | 0 | "Just foxglove, swaying." | | 1 | "Just for a moment." |
| | ratio | 0.021 | |
| 75.32% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 34 | | totalSentences | 94 | | matches | | 0 | "She ducked beneath the last" | | 1 | "Her voice came out smaller" | | 2 | "She walked the familiar path" | | 3 | "She'd done it a dozen" | | 4 | "She had crushed it herself." | | 5 | "She turned around." | | 6 | "She was sure they leaned." | | 7 | "She snapped her head toward" | | 8 | "She hated how it echoed" | | 9 | "It never had." | | 10 | "She started walking again." | | 11 | "She noticed it by the" | | 12 | "She'd never seen a single" | | 13 | "She gasped and clawed the" | | 14 | "It pulsed in a rhythm." | | 15 | "she whispered at it, the" | | 16 | "She didn't finish." | | 17 | "It came from everywhere and" | | 18 | "It held no melody." | | 19 | "It held no words." |
| | ratio | 0.362 | |
| 61.06% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 75 | | totalSentences | 94 | | matches | | 0 | "The oaks at the boundary" | | 1 | "Aurora had noticed that on" | | 2 | "She ducked beneath the last" | | 3 | "The Grove received her the" | | 4 | "Her voice came out smaller" | | 5 | "That was the reason she'd" | | 6 | "The pendant gave a slow" | | 7 | "She walked the familiar path" | | 8 | "She'd done it a dozen" | | 9 | "The table was still ahead" | | 10 | "The flowers around her feet" | | 11 | "A crushed stem, bent at" | | 12 | "She had crushed it herself." | | 13 | "She turned around." | | 14 | "The boundary stones stood maybe" | | 15 | "The oaks leaned." | | 16 | "She was sure they leaned." | | 17 | "The bark-faces had their mouths" | | 18 | "The pendant pulsed again." | | 19 | "A heartbeat that wasn't hers." |
| | ratio | 0.798 | |
| 53.19% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 94 | | matches | | 0 | "Because the singing started." |
| | ratio | 0.011 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 35 | | technicalSentenceCount | 9 | | matches | | 0 | "The Grove received her the way it always did: wildflowers glowing faintly under a moon that shouldn't have been visible, the air too warm for October, grass whi…" | | 1 | "That was the reason she'd come — three days of silence, three days of the Heartstone pendant warming against her sternum at odd hours, and Yu-Fei had grabbed he…" | | 2 | "She walked the familiar path toward the clearing's centre, past the foxgloves that had bloomed the same purple for months, and she counted her steps the way she…" | | 3 | "She'd never seen a single one closed, not once, not in any season, and now they shut in a slow wave ahead of her feet, one after another, as if she were an infe…" | | 4 | "She gasped and clawed the chain away from her skin, and the crimson stone hung above her chest glowing — actually glowing, a dull coal-red light she'd only ever…" | | 5 | "But it had intention — she felt that in her teeth, in the crescent scar on her wrist that had begun, absurdly, to itch." | | 6 | "The flowers around her, every one, snapped open at once — white, innocent, blooming in the moonlight as if nothing had happened at all." | | 7 | "She turned and she walked — walked, because running had been a mistake, running was prey — toward the standing stones, forty-two paces, and she counted every on…" | | 8 | "And somewhere behind her, in a place that no longer held a stone that glowed, the singing started up again — slower now, and this time, she was almost certain, …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 7 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 2 | | fancyTags | | 0 | "she breathed (breathe)" | | 1 | "she whispered (whisper)" |
| | dialogueSentences | 9 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0.667 | | effectiveRatio | 0.444 | |