| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 6 | | tagDensity | 0.667 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 86.43% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1105 | | 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) | |
| 63.80% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1105 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "pulse" | | 1 | "footsteps" | | 2 | "silence" | | 3 | "weight" | | 4 | "resolved" | | 5 | "rhythmic" | | 6 | "pulsed" |
| |
| 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 | 76 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 76 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 78 | | 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 | 3 | | markdownWords | 3 | | totalWords | 1116 | | ratio | 0.003 | | matches | | 0 | "Malphora." | | 1 | "Rory" | | 2 | "Aurora" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 11 | | wordCount | 1095 | | uniqueNames | 8 | | maxNameDensity | 0.37 | | worstName | "Rory" | | maxWindowNameDensity | 0.5 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 4 | | Richmond | 1 | | Park | 1 | | London | 1 | | Eva | 1 | | November | 1 | | Evan | 1 | | Cardiff | 1 |
| | persons | | | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" | | 3 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 48 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 2.688 | | wordCount | 1116 | | matches | | 0 | "Not the gentle pulse she'd felt before, near the portals, but a steady, insistent heat, as if the crimson stone had swallo" | | 1 | "not the sound of it but the absence, the sudden weight of nothing" | | 2 | "not as a voice but as a sensation behind her teeth, a vibration" |
| |
| 38.46% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 3 | | totalSentences | 78 | | matches | | 0 | "was that the" | | 1 | "trust, that she" | | 2 | "was that some" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 31 | | mean | 36 | | std | 30.24 | | cv | 0.84 | | sampleLengths | | 0 | 27 | | 1 | 103 | | 2 | 37 | | 3 | 11 | | 4 | 5 | | 5 | 75 | | 6 | 56 | | 7 | 46 | | 8 | 2 | | 9 | 59 | | 10 | 21 | | 11 | 26 | | 12 | 5 | | 13 | 68 | | 14 | 7 | | 15 | 104 | | 16 | 5 | | 17 | 14 | | 18 | 49 | | 19 | 14 | | 20 | 36 | | 21 | 69 | | 22 | 14 | | 23 | 3 | | 24 | 43 | | 25 | 1 | | 26 | 10 | | 27 | 70 | | 28 | 69 | | 29 | 4 | | 30 | 63 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 76 | | matches | | |
| 47.62% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 175 | | matches | | 0 | "were giving" | | 1 | "were, swaying" | | 2 | "were repeating" | | 3 | "was reading" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 1 | | flaggedSentences | 10 | | totalSentences | 78 | | ratio | 0.128 | | matches | | 0 | "By day it was joggers and prams and the slow grazing of deer; now it was a black country folded inside the city, and the orange smear of London glowed somewhere far behind her, beyond the trees, like the memory of fire." | | 1 | "Because the note — pinned beneath her door in handwriting she didn't recognise — had said the grove, after dark, alone, and because the pendant at her throat had begun to grow warm the moment she'd stepped off the bus." | | 2 | "It was the dead heart of November, and yet the grass at her feet was thick with bloom — bluebells, foxgloves, things she had no name for, all of them faintly luminous, as though they'd drunk moonlight and were giving it back." | | 3 | "The air changed as she passed the threshold — thickened, the way water thickens around your ankles when you wade in too deep, too fast." | | 4 | "She'd waited out worse than silence — waited out Evan's moods, the slow tightening of his voice before it broke into something with hands." | | 5 | "She noticed it the way you notice a clock that's stopped — not the sound of it but the absence, the sudden weight of nothing where something had been." | | 6 | "But if she kept her eyes on the pale stone at the centre, kept it fixed there, then at the corner of her vision the shape resolved — tall, too tall, narrow as a closed door, standing where the flowers grew thickest." | | 7 | "But somewhere behind her — behind her, where she had been certain nothing stood — the single glassy note sounded again, closer now, and beneath it a second sound, low and wet and rhythmic, that it took her a moment to recognise as breathing." | | 8 | "She felt it as much as saw it — the soft mass shifting underfoot, every luminous bell pivoting on its stem to face her like a field of small blind eyes." | | 9 | "But her hand closed around the burning pendant, and she took one slow step backward toward the standing stones, toward the orange smear of the ordinary world, and the thing at the edge of her vision took two steps after her, and the wineglass note rang out clear and bright across the silent, watching flowers — and this time it did not fade." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1087 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 40 | | adverbRatio | 0.03679852805887764 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.010119595216191352 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 78 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 78 | | mean | 14.31 | | std | 13.48 | | cv | 0.942 | | sampleLengths | | 0 | 27 | | 1 | 13 | | 2 | 42 | | 3 | 8 | | 4 | 40 | | 5 | 4 | | 6 | 33 | | 7 | 9 | | 8 | 2 | | 9 | 5 | | 10 | 11 | | 11 | 42 | | 12 | 3 | | 13 | 8 | | 14 | 11 | | 15 | 6 | | 16 | 25 | | 17 | 4 | | 18 | 21 | | 19 | 6 | | 20 | 1 | | 21 | 26 | | 22 | 13 | | 23 | 2 | | 24 | 5 | | 25 | 24 | | 26 | 11 | | 27 | 19 | | 28 | 6 | | 29 | 1 | | 30 | 12 | | 31 | 2 | | 32 | 13 | | 33 | 5 | | 34 | 8 | | 35 | 5 | | 36 | 29 | | 37 | 5 | | 38 | 8 | | 39 | 26 | | 40 | 7 | | 41 | 19 | | 42 | 40 | | 43 | 42 | | 44 | 2 | | 45 | 1 | | 46 | 5 | | 47 | 14 | | 48 | 5 | | 49 | 44 |
| |
| 58.12% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.41025641025641024 | | totalSentences | 78 | | uniqueOpeners | 32 | |
| 50.51% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 66 | | matches | | 0 | "Somewhere very near, the skin" |
| | ratio | 0.015 | |
| 74.55% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 24 | | totalSentences | 66 | | matches | | 0 | "She hadn't expected Richmond Park" | | 1 | "She'd come because Eva had" | | 2 | "It was warm now." | | 3 | "she said, mostly to hear" | | 4 | "It was the dead heart" | | 5 | "They shouldn't exist." | | 6 | "She crossed the ring of" | | 7 | "Her own footsteps arrived a" | | 8 | "She was good at waiting." | | 9 | "She'd waited out worse than" | | 10 | "She knew how to stand" | | 11 | "Her hand had risen to" | | 12 | "She noticed it the way" | | 13 | "She did not look directly" | | 14 | "Her mouth had gone dry." | | 15 | "she said, and was proud" | | 16 | "She kept her eyes on" | | 17 | "She kept her feet planted" | | 18 | "She didn't expect an answer." | | 19 | "She got one." |
| | ratio | 0.364 | |
| 88.79% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 49 | | totalSentences | 66 | | matches | | 0 | "The standing stones rose out" | | 1 | "She hadn't expected Richmond Park" | | 2 | "She'd come because Eva had" | | 3 | "It was warm now." | | 4 | "she said, mostly to hear" | | 5 | "The clearing answered with wildflowers." | | 6 | "That was the first wrong" | | 7 | "It was the dead heart" | | 8 | "They shouldn't exist." | | 9 | "The codex of the ordinary" | | 10 | "She crossed the ring of" | | 11 | "The air changed as she" | | 12 | "Sound came differently here." | | 13 | "Her own footsteps arrived a" | | 14 | "Rory turned in a slow" | | 15 | "The clearing was perhaps thirty" | | 16 | "She was good at waiting." | | 17 | "She'd waited out worse than" | | 18 | "She knew how to stand" | | 19 | "A sound came from the" |
| | ratio | 0.742 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 66 | | matches | | 0 | "Because the note — pinned" | | 1 | "As if it were hers." | | 2 | "As if it had always" |
| | ratio | 0.045 | |
| 3.97% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 36 | | technicalSentenceCount | 7 | | matches | | 0 | "Not the gentle pulse she'd felt before, near the portals, but a steady, insistent heat, as if the crimson stone had swallowed a coal and meant to keep it burnin…" | | 1 | "It was the dead heart of November, and yet the grass at her feet was thick with bloom — bluebells, foxgloves, things she had no name for, all of them faintly lu…" | | 2 | "Her own footsteps arrived a half-beat late, as if the grove were repeating them back to her after a moment's consideration." | | 3 | "She noticed it the way you notice a clock that's stopped — not the sound of it but the absence, the sudden weight of nothing where something had been." | | 4 | "The pendant pulsed once, hard, a heartbeat of pure heat that made her gasp." | | 5 | "It came not as a voice but as a sensation behind her teeth, a vibration that arranged itself into something almost like a word, almost like her own name spoken …" | | 6 | "The deliberate, patient placement of something that had a great deal of time and meant to spend it on her." |
| |
| 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 | |