| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 6 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 85.45% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1031 | | totalAiIsmAdverbs | 3 | | 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) | |
| 51.50% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1031 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "warmth" | | 1 | "silence" | | 2 | "pulsed" | | 3 | "weight" | | 4 | "trembled" | | 5 | "could feel" | | 6 | "stomach" | | 7 | "searing" |
| |
| 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 | 82 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 82 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 85 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 55 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1044 | | ratio | 0 | | matches | (empty) | |
| 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 | 24 | | wordCount | 1008 | | uniqueNames | 12 | | maxNameDensity | 0.69 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Eva | 1 | | Richmond | 2 | | Gate | 1 | | London | 1 | | Park | 1 | | June | 1 | | October | 1 | | Grove | 6 | | North | 1 | | Circular | 1 | | Rory | 7 | | Aurora | 1 |
| | persons | | | places | | 0 | "Richmond" | | 1 | "London" | | 2 | "Park" | | 3 | "June" | | 4 | "October" |
| | globalScore | 1 | | windowScore | 1 | |
| 96.81% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 47 | | glossingSentenceCount | 1 | | matches | | 0 | "as if welcoming someone home" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.958 | | wordCount | 1044 | | matches | | 0 | "not away from her, but toward her, as if in greeting, as if welcoming someone home" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 85 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 30 | | mean | 34.8 | | std | 25.26 | | cv | 0.726 | | sampleLengths | | 0 | 91 | | 1 | 5 | | 2 | 74 | | 3 | 38 | | 4 | 72 | | 5 | 11 | | 6 | 57 | | 7 | 53 | | 8 | 11 | | 9 | 55 | | 10 | 5 | | 11 | 12 | | 12 | 56 | | 13 | 3 | | 14 | 4 | | 15 | 37 | | 16 | 56 | | 17 | 40 | | 18 | 25 | | 19 | 61 | | 20 | 8 | | 21 | 17 | | 22 | 7 | | 23 | 56 | | 24 | 1 | | 25 | 56 | | 26 | 48 | | 27 | 10 | | 28 | 32 | | 29 | 43 |
| |
| 96.71% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 82 | | matches | | 0 | "been wrapped" | | 1 | "being chased" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 159 | | matches | | 0 | "was pushing" | | 1 | "were facing" | | 2 | "were still blooming" | | 3 | "was being" | | 4 | "was listening" | | 5 | "was searing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 1 | | flaggedSentences | 9 | | totalSentences | 85 | | ratio | 0.106 | | matches | | 0 | "Her torch cut a narrow cone through it all, catching moths that were the wrong colour — dust-pale, almost silver — and the occasional startled flash of deer eyes that vanished before her brain could finish registering them." | | 1 | "One moment she was pushing through nettles, swearing quietly at her ankles; the next, she was between two mossed trunks of oak, and the air changed." | | 2 | "The moon, when she looked up, was in the wrong place — a finger's breadth too far west, and the wrong shade of white." | | 3 | "When she put a hand to one of the oak stones, the bark was warm under her fingers, warmer than the air, and she felt — or imagined she felt — something on the other side of it shifting its weight." | | 4 | "The wildflowers she'd already passed were still blooming, yes, but they were facing her now — the heads of the foxgloves had turned, stems leaning minutely on their axis, as if the Grove had been tracking her while her back was turned." | | 5 | "Somewhere in the treeline — or what passed for a treeline in a place that had only the illusion of edges — a child laughed." | | 6 | "Then, softly, from just behind her left shoulder — so close that her hair should have stirred — a voice said, almost conversationally, her name." | | 7 | "The pendant was searing now — a point of pain she welcomed, because pain was something she understood, pain was hers." | | 8 | "The flowers bowed their heads around her boots — not away from her, but toward her, as if in greeting, as if welcoming someone home." |
| |
| 95.87% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 738 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 33 | | adverbRatio | 0.044715447154471545 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.009485094850948509 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 85 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 85 | | mean | 12.28 | | std | 11.95 | | cv | 0.973 | | sampleLengths | | 0 | 10 | | 1 | 26 | | 2 | 55 | | 3 | 5 | | 4 | 10 | | 5 | 26 | | 6 | 38 | | 7 | 12 | | 8 | 26 | | 9 | 5 | | 10 | 26 | | 11 | 16 | | 12 | 7 | | 13 | 1 | | 14 | 1 | | 15 | 1 | | 16 | 15 | | 17 | 11 | | 18 | 5 | | 19 | 5 | | 20 | 23 | | 21 | 11 | | 22 | 6 | | 23 | 7 | | 24 | 5 | | 25 | 24 | | 26 | 7 | | 27 | 17 | | 28 | 3 | | 29 | 8 | | 30 | 5 | | 31 | 9 | | 32 | 41 | | 33 | 5 | | 34 | 12 | | 35 | 6 | | 36 | 42 | | 37 | 8 | | 38 | 3 | | 39 | 4 | | 40 | 3 | | 41 | 2 | | 42 | 13 | | 43 | 19 | | 44 | 2 | | 45 | 1 | | 46 | 4 | | 47 | 49 | | 48 | 4 | | 49 | 1 |
| |
| 48.63% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.3764705882352941 | | totalSentences | 85 | | uniqueOpeners | 32 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 66 | | matches | | 0 | "Then the temperature: ten degrees" | | 1 | "Somewhere in the treeline —" | | 2 | "Then, softly, from just behind" |
| | ratio | 0.045 | |
| 50.30% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 28 | | totalSentences | 66 | | matches | | 0 | "She'd told herself a lot" | | 1 | "She needed to know why." | | 2 | "Her torch cut a narrow" | | 3 | "She found the standing stones" | | 4 | "It was the smell first." | | 5 | "She hadn't expected it to." | | 6 | "She could not hear the" | | 7 | "She could not hear a" | | 8 | "She could not hear her" | | 9 | "She clicked off her torch." | | 10 | "She put her hand on" | | 11 | "It pulsed once against her" | | 12 | "She walked the clearing's perimeter." | | 13 | "Her boots made almost no" | | 14 | "She took her hand back." | | 15 | "It was nothing she could" | | 16 | "She stopped walking." | | 17 | "She felt the warmth of" | | 18 | "She counted her breaths." | | 19 | "It was a bright, delighted" |
| | ratio | 0.424 | |
| 58.48% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 53 | | totalSentences | 66 | | matches | | 0 | "Rory had told herself she" | | 1 | "She'd told herself a lot" | | 2 | "She needed to know why." | | 3 | "The park at night was" | | 4 | "The bracken had swallowed the" | | 5 | "Her torch cut a narrow" | | 6 | "She found the standing stones" | | 7 | "It was the smell first." | | 8 | "The damp-leaf, dog-walked smell of" | | 9 | "The wildflowers at her feet" | | 10 | "Things that had no business" | | 11 | "Rory said, because saying something" | | 12 | "The Grove did not answer." | | 13 | "She hadn't expected it to." | | 14 | "She could not hear the" | | 15 | "She could not hear a" | | 16 | "She could not hear her" | | 17 | "She clicked off her torch." | | 18 | "The moon, when she looked" | | 19 | "She put her hand on" |
| | ratio | 0.803 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 66 | | matches | (empty) | | ratio | 0 | |
| 20.41% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 35 | | technicalSentenceCount | 6 | | matches | | 0 | "But the pendant had begun its warming just after she'd stepped off the bus at Richmond Gate, and by the time her trainers hit the long grass of the park it was …" | | 1 | "Her torch cut a narrow cone through it all, catching moths that were the wrong colour — dust-pale, almost silver — and the occasional startled flash of deer eye…" | | 2 | "The wildflowers she'd already passed were still blooming, yes, but they were facing her now — the heads of the foxgloves had turned, stems leaning minutely on t…" | | 3 | "The moonlight laid itself neatly across the moss and the nodding flowers, and there was nothing there, nothing at all, and still her hindbrain insisted, with th…" | | 4 | "She had the sudden, unshakeable sense that looking directly at it would be the last discourteous thing she ever did." | | 5 | "Behind her, the Grove breathed out once more, and let her go, and she understood, with a certainty that would keep her awake for a long time after, that it had …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 1 | | fancyTags | | 0 | "she whispered (whisper)" |
| | dialogueSentences | 6 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.333 | | effectiveRatio | 0.333 | |