| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 4 | | tagDensity | 0.75 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 86.20% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1449 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "perfectly" | | 1 | "very" | | 2 | "slightly" | | 3 | "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) | |
| 96.55% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1449 | | totalAiIsms | 1 | | found | | | highlights | | |
| 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 | 123 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 123 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 124 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 54 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1460 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 17 | | wordCount | 1456 | | uniqueNames | 11 | | maxNameDensity | 0.34 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Park" | | discoveredNames | | Park | 2 | | Eva | 1 | | Richmond | 2 | | Heathrow | 1 | | Victorian | 1 | | November | 1 | | Golden | 1 | | Empress | 1 | | June | 1 | | Evan | 1 | | Rory | 5 |
| | persons | | 0 | "Eva" | | 1 | "Empress" | | 2 | "Evan" | | 3 | "Rory" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 69 | | glossingSentenceCount | 1 | | matches | | 0 | "sounded like it had known her longer than" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1460 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 124 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 41 | | mean | 35.61 | | std | 31.37 | | cv | 0.881 | | sampleLengths | | 0 | 68 | | 1 | 75 | | 2 | 33 | | 3 | 8 | | 4 | 71 | | 5 | 13 | | 6 | 4 | | 7 | 111 | | 8 | 44 | | 9 | 89 | | 10 | 3 | | 11 | 2 | | 12 | 109 | | 13 | 8 | | 14 | 33 | | 15 | 16 | | 16 | 92 | | 17 | 17 | | 18 | 34 | | 19 | 3 | | 20 | 33 | | 21 | 54 | | 22 | 48 | | 23 | 39 | | 24 | 2 | | 25 | 49 | | 26 | 42 | | 27 | 17 | | 28 | 6 | | 29 | 20 | | 30 | 6 | | 31 | 68 | | 32 | 44 | | 33 | 61 | | 34 | 3 | | 35 | 53 | | 36 | 3 | | 37 | 8 | | 38 | 66 | | 39 | 1 | | 40 | 4 |
| |
| 91.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 123 | | matches | | 0 | "been painted" | | 1 | "been taught" | | 2 | "was gone" | | 3 | "been, undisturbed" | | 4 | "been arranged" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 230 | | matches | | 0 | "was holding" | | 1 | "was walking" | | 2 | "was standing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 2 | | flaggedSentences | 12 | | totalSentences | 124 | | ratio | 0.097 | | matches | | 0 | "East, north, south — cold as a coin." | | 1 | "She didn't notice it leave, only that at some point she'd stopped hearing the city — the long hum of the M25, the planes stacked over Heathrow, the far-off shudder of a train." | | 2 | "The frost had come early that year; she'd scraped it off the wing mirror of the Golden Empress's moped three mornings running." | | 3 | "The little crimson stone hung on its silver chain, and there, in the dark, it glowed — a faint inner light, like a coal under ash, like something breathing." | | 4 | "The standing stones at the boundary — the oaks — cast no shadows, she noticed, because there was no moon and no light to cast them, and yet she could see them perfectly well, every knot in the bark, every ridge of root." | | 5 | "Not overgrown — gone." | | 6 | "Not the wind — she waited for the wind, and there wasn't any, and the flowers moved anyway, a slow ripple that started at the far edge of the clearing and ran toward her and stopped." | | 7 | "That was her one good habit; Evan had taught her that, in the way that only bad things teach good ones." | | 8 | "Not loud — big, the way a cathedral is big, a sound with a room inside it." | | 9 | "Something she could not see, exactly, because it was the same colour as the dark — but the dark had a shape in it now, a shape that displaced the flowers and held still and breathed." | | 10 | "The crescent scar there, the one from the swing set when she was seven, had gone cold — cold the way the pendant was hot, cold the way a coin left in a cellar is cold, and she pressed her thumb into it hard enough to hurt, because hurting was something that belonged to her." | | 11 | "In her own name — but not the name she used, not Rory, not the one on her lease or the one in her mother's mouth." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1446 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 38 | | adverbRatio | 0.02627939142461964 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.007607192254495159 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 124 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 124 | | mean | 11.77 | | std | 11.7 | | cv | 0.994 | | sampleLengths | | 0 | 8 | | 1 | 33 | | 2 | 27 | | 3 | 4 | | 4 | 24 | | 5 | 6 | | 6 | 6 | | 7 | 6 | | 8 | 29 | | 9 | 8 | | 10 | 25 | | 11 | 8 | | 12 | 2 | | 13 | 2 | | 14 | 22 | | 15 | 3 | | 16 | 8 | | 17 | 11 | | 18 | 5 | | 19 | 13 | | 20 | 5 | | 21 | 7 | | 22 | 6 | | 23 | 4 | | 24 | 4 | | 25 | 33 | | 26 | 14 | | 27 | 2 | | 28 | 2 | | 29 | 18 | | 30 | 11 | | 31 | 27 | | 32 | 3 | | 33 | 4 | | 34 | 37 | | 35 | 22 | | 36 | 5 | | 37 | 4 | | 38 | 25 | | 39 | 4 | | 40 | 3 | | 41 | 26 | | 42 | 3 | | 43 | 2 | | 44 | 7 | | 45 | 22 | | 46 | 45 | | 47 | 9 | | 48 | 26 | | 49 | 5 |
| |
| 31.30% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 23 | | diversityRatio | 0.2926829268292683 | | totalSentences | 123 | | uniqueOpeners | 36 | |
| 92.59% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 108 | | matches | | 0 | "Just warm, the way a" | | 1 | "Then she looked up, and" | | 2 | "Then the sound came again," |
| | ratio | 0.028 | |
| 79.26% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 38 | | totalSentences | 108 | | matches | | 0 | "She'd paid him and got" | | 1 | "She'd walked it a hundred" | | 2 | "Her right hand closed around" | | 3 | "She'd tested it." | | 4 | "She knew what it meant." | | 5 | "It woke near a door." | | 6 | "She didn't notice it leave," | | 7 | "She stopped and stood still" | | 8 | "She walked on." | | 9 | "She knew this park." | | 10 | "She knew the oaks at" | | 11 | "Their trunks were the grey" | | 12 | "It was the second week" | | 13 | "It smelled of summer, and" | | 14 | "She took it out." | | 15 | "she said, out loud, because" | | 16 | "She made herself look at" | | 17 | "She could see the flowers." | | 18 | "She could see her own" | | 19 | "She looked at her hands" |
| | ratio | 0.352 | |
| 94.26% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 79 | | totalSentences | 108 | | matches | | 0 | "The cab wouldn't take her" | | 1 | "The driver had looked at" | | 2 | "She'd paid him and got" | | 3 | "Richmond Park at midnight." | | 4 | "She'd walked it a hundred" | | 5 | "None of that was here" | | 6 | "The path was the same" | | 7 | "The trees were the same" | | 8 | "Rory kept her hands in" | | 9 | "Her right hand closed around" | | 10 | "The pendant had been warm" | | 11 | "She'd tested it." | | 12 | "West, and it beat against" | | 13 | "She knew what it meant." | | 14 | "The thing had a single" | | 15 | "It woke near a door." | | 16 | "The sound went first." | | 17 | "She didn't notice it leave," | | 18 | "She stopped and stood still" | | 19 | "The park had been loud" |
| | ratio | 0.731 | |
| 92.59% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 108 | | matches | | 0 | "Now it was holding its" | | 1 | "As though she hadn't." |
| | ratio | 0.019 | |
| 93.02% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 43 | | technicalSentenceCount | 3 | | matches | | 0 | "And here, in the middle of it, bluebells and foxgloves and something low and white that she couldn't name stood up out of the leaf litter as if it were June, as…" | | 1 | "Something she could not see, exactly, because it was the same colour as the dark — but the dark had a shape in it now, a shape that displaced the flowers and he…" | | 2 | "The crescent scar there, the one from the swing set when she was seven, had gone cold — cold the way the pendant was hot, cold the way a coin left in a cellar i…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 4 | | tagDensity | 0.75 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |