| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 2 | | adverbTags | | 0 | "she said quietly [quietly]" | | 1 | "the voice said again [again]" |
| | dialogueSentences | 6 | | tagDensity | 0.667 | | leniency | 1 | | rawRatio | 0.5 | | effectiveRatio | 0.5 | |
| 80.28% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1521 | | totalAiIsmAdverbs | 6 | | found | | 0 | | | 1 | | | 2 | | adverb | "deliberately" | | count | 1 |
| | 3 | | | 4 | |
| | highlights | | 0 | "truly" | | 1 | "utterly" | | 2 | "deliberately" | | 3 | "suddenly" | | 4 | "gently" |
| |
| 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) | |
| 60.55% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1521 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "pulse" | | 1 | "rhythmic" | | 2 | "warmth" | | 3 | "pulsed" | | 4 | "echo" | | 5 | "sense of" | | 6 | "silence" | | 7 | "could feel" | | 8 | "footsteps" |
| |
| 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 | 1 | | narrationSentences | 113 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 113 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 115 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 61 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 13 | | totalWords | 1543 | | ratio | 0.008 | | matches | | 0 | "The grove remembers. Come alone. When the stone warms, you'll find the door." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 5 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 25 | | wordCount | 1536 | | uniqueNames | 16 | | maxNameDensity | 0.39 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Richmond" | | discoveredNames | | Golden | 1 | | Empress | 1 | | Yu-Fei | 1 | | Rory | 6 | | Richmond | 2 | | Park | 2 | | London | 1 | | November | 2 | | England | 1 | | September | 1 | | Welsh | 1 | | Jennifer | 1 | | Carter | 1 | | Cardiff | 2 | | Silence | 1 | | Eva | 1 |
| | persons | | 0 | "Empress" | | 1 | "Yu-Fei" | | 2 | "Rory" | | 3 | "Jennifer" | | 4 | "Carter" | | 5 | "Eva" |
| | places | | 0 | "Golden" | | 1 | "Richmond" | | 2 | "Park" | | 3 | "London" | | 4 | "England" | | 5 | "September" | | 6 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 73 | | glossingSentenceCount | 1 | | matches | | 0 | "felt like twenty minutes, she had walke" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1543 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 115 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 38 | | mean | 40.61 | | std | 27.37 | | cv | 0.674 | | sampleLengths | | 0 | 53 | | 1 | 73 | | 2 | 76 | | 3 | 58 | | 4 | 9 | | 5 | 68 | | 6 | 66 | | 7 | 10 | | 8 | 3 | | 9 | 95 | | 10 | 60 | | 11 | 37 | | 12 | 33 | | 13 | 13 | | 14 | 26 | | 15 | 33 | | 16 | 46 | | 17 | 16 | | 18 | 39 | | 19 | 113 | | 20 | 5 | | 21 | 52 | | 22 | 1 | | 23 | 40 | | 24 | 16 | | 25 | 59 | | 26 | 11 | | 27 | 44 | | 28 | 16 | | 29 | 83 | | 30 | 44 | | 31 | 48 | | 32 | 4 | | 33 | 69 | | 34 | 42 | | 35 | 16 | | 36 | 49 | | 37 | 17 |
| |
| 99.05% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 113 | | matches | | 0 | "been taken" | | 1 | "been picked" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 10 | | totalVerbs | 237 | | matches | | 0 | "was pulsing" | | 1 | "was still making" | | 2 | "was going" | | 3 | "were waiting" | | 4 | "was only repeating" | | 5 | "were facing" | | 6 | "was hammering" | | 7 | "was wearing" | | 8 | "was sprinting" | | 9 | "was leaning" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 23 | | semicolonCount | 1 | | flaggedSentences | 16 | | totalSentences | 115 | | ratio | 0.139 | | matches | | 0 | "Somewhere behind her, London was still making its low continuous noise — traffic, a distant siren, the hum of a city that never quite slept — but the sound thinned with every hundred yards, the way a radio fades when you drive out of range, until all she could hear was her own boots and, faintly, wind moving in the canopy high above." | | 1 | "Richmond Park was never truly empty — the herds were always somewhere, breath steaming, hooves ticking against the frozen ground — but the bracken stood untouched, the paths unmarked, as if everything alive had quietly agreed to be elsewhere tonight." | | 2 | "But the trees had opened ahead of her the way a crowd opens, and between two massive trunks she could see frost-white grass, and colour — impossible, startling colour, reds and blues and yellows burning against the November dark like a scrap of summer dropped on the ground." | | 3 | "Evan had taught her that in the worst possible way — how to keep her voice level, her mind working, while everything around her was going wrong." | | 4 | "They grew in careless abundance across the whole clearing, and the smell of them was sweet — too sweet, sweetness with a rotten edge underneath, like fruit kept past its time." | | 5 | "Her pulse picked up, and the pendant pulsed with it, warm against her skin, and then — this was the moment the wrongness stopped being deniable — it pulsed once, alone, without her." | | 6 | "Hers — but a half-beat late." | | 7 | "She turned back, took three steps, and on the third step there it was again — crunch — and then one more, after hers had finished." | | 8 | "Twenty minutes later — it felt like twenty minutes, she had walked the full ring twice — she checked it again and the screen said 02:13." | | 9 | "Every daisy, every campion, every cornflower in the clearing had turned its face toward the centre of the ring — toward her — the way sunflowers follow the sun, except there was no sun, and she was the only warm thing in the grove." | | 10 | "Her mother's voice — the Welsh vowels, the way Jennifer Carter said her daughter's name across a kitchen in Cardiff a lifetime ago." | | 11 | "She looked at the ring of stones, at the gaps between them — and saw them." | | 12 | "And the figure in the gap directly ahead — the one framed between two bark-grained pillars, the one now only twenty feet away — was wearing her coat." | | 13 | "She didn't decide to; her body simply took the decision away from her, and she was sprinting the ring's edge, flowers whipping her ankles, searching for the gap between the trunks she'd entered through — and it wasn't there." | | 14 | "She ran on, the stillness behind her absolute, no footsteps now, nothing chasing, which was worse than chasing, and found a gap, threw herself through it—" | | 15 | "The pendant hung cold and dull against her chest, and she almost wept with relief — until she raised her head and caught it on the frost-sharp air, faint and unmistakable: the smell of summer." |
| |
| 97.08% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1523 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 66 | | adverbRatio | 0.04333552199606041 | | lyAdverbCount | 20 | | lyAdverbRatio | 0.013131976362442548 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 115 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 115 | | mean | 13.42 | | std | 13.16 | | cv | 0.98 | | sampleLengths | | 0 | 30 | | 1 | 2 | | 2 | 14 | | 3 | 7 | | 4 | 29 | | 5 | 44 | | 6 | 4 | | 7 | 9 | | 8 | 63 | | 9 | 16 | | 10 | 2 | | 11 | 40 | | 12 | 9 | | 13 | 13 | | 14 | 7 | | 15 | 48 | | 16 | 11 | | 17 | 13 | | 18 | 9 | | 19 | 27 | | 20 | 6 | | 21 | 9 | | 22 | 1 | | 23 | 3 | | 24 | 6 | | 25 | 52 | | 26 | 3 | | 27 | 20 | | 28 | 14 | | 29 | 3 | | 30 | 7 | | 31 | 2 | | 32 | 6 | | 33 | 11 | | 34 | 31 | | 35 | 11 | | 36 | 20 | | 37 | 5 | | 38 | 1 | | 39 | 33 | | 40 | 7 | | 41 | 6 | | 42 | 26 | | 43 | 33 | | 44 | 2 | | 45 | 6 | | 46 | 23 | | 47 | 2 | | 48 | 2 | | 49 | 11 |
| |
| 61.16% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.43478260869565216 | | totalSentences | 115 | | uniqueOpeners | 50 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 95 | | matches | | 0 | "Then the pendant had started" | | 1 | "Just before midnight she had" | | 2 | "Somewhere behind her, London was" |
| | ratio | 0.032 | |
| 64.21% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 37 | | totalSentences | 95 | | matches | | 0 | "It was pulsing now, a" | | 1 | "Her breath hung in front" | | 2 | "She had walked past this" | | 3 | "She stood at the edge" | | 4 | "She was, by general agreement" | | 5 | "She owed him that, at" | | 6 | "she said quietly, to herself," | | 7 | "She went in." | | 8 | "They rose taller than any" | | 9 | "They grew in careless abundance" | | 10 | "She breathed out, hard, deliberately." | | 11 | "Her pulse picked up, and" | | 12 | "Her voice came out flat" | | 13 | "She made herself walk the" | | 14 | "Hers — but a half-beat" | | 15 | "She waited, counting her own" | | 16 | "She turned back, took three" | | 17 | "She pulled her phone from" | | 18 | "She put the phone away." | | 19 | "She was almost sure they" |
| | ratio | 0.389 | |
| 75.79% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 73 | | totalSentences | 95 | | matches | | 0 | "The note had come two" | | 1 | "It was pulsing now, a" | | 2 | "Frost silvered the bracken." | | 3 | "Her breath hung in front" | | 4 | "That was the first wrong" | | 5 | "Richmond Park was never truly" | | 6 | "The pendant gave a stronger" | | 7 | "She had walked past this" | | 8 | "She stood at the edge" | | 9 | "She was, by general agreement" | | 10 | "The one who thought fastest" | | 11 | "Evan had taught her that" | | 12 | "She owed him that, at" | | 13 | "she said quietly, to herself," | | 14 | "She went in." | | 15 | "The stones were waiting for" | | 16 | "Oaks, she thought." | | 17 | "Oaks that had stood here" | | 18 | "They rose taller than any" | | 19 | "Poppies, months dead everywhere else" |
| | ratio | 0.768 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 95 | | matches | (empty) | | ratio | 0 | |
| 66.87% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 47 | | technicalSentenceCount | 5 | | matches | | 0 | "Richmond Park was never truly empty — the herds were always somewhere, breath steaming, hooves ticking against the frozen ground — but the bracken stood untouch…" | | 1 | "The moon, which had been sitting low over the eastern trees when she entered, was now high and wrong, hanging at an angle she couldn't make sense of, as if the …" | | 2 | "The pendant was hammering now, hot as a coin left in sunlight, and she could feel its heat spreading into her skin, into the old crescent scar on her wrist, whi…" | | 3 | "She didn't decide to; her body simply took the decision away from her, and she was sprinting the ring's edge, flowers whipping her ankles, searching for the gap…" | | 4 | "She ran until the trees ended, until frost-crunch became pavement, until she was leaning on the park gate with her lungs burning." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 6 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |