| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 14 | | tagDensity | 0.643 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 87.98% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1248 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "very" | | 1 | "slowly" | | 2 | "precisely" |
| |
| 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) | |
| 67.95% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1248 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "silence" | | 1 | "pulse" | | 2 | "footfall" | | 3 | "echo" | | 4 | "echoes" | | 5 | "warmth" | | 6 | "could feel" |
| |
| 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 | 89 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 89 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 95 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 64 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1256 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 13 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 18 | | wordCount | 1155 | | uniqueNames | 9 | | maxNameDensity | 0.61 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 2 | | Park | 2 | | Rory | 7 | | November | 1 | | Silas | 1 | | Whitechapel | 1 | | Tesco | 1 | | Cardiff | 1 | | Interested | 2 |
| | persons | | | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Whitechapel" | | 3 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 51 | | glossingSentenceCount | 1 | | matches | | 0 | "shine that seemed to come up out of the grass rather than down from the sky, and the sky above the ring of oaks held stars in the wrong places, too many of them, packed like grit" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.796 | | wordCount | 1256 | | matches | | 0 | "not an echo, because echoes came from a surface and there was no surface, but a repetition, thin, further off, in a tone she hadn't used" |
| |
| 96.49% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 95 | | matches | | 0 | "coughed — that hoarse" | | 1 | "see that they" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 40 | | mean | 31.4 | | std | 28.64 | | cv | 0.912 | | sampleLengths | | 0 | 37 | | 1 | 8 | | 2 | 88 | | 3 | 64 | | 4 | 15 | | 5 | 13 | | 6 | 95 | | 7 | 7 | | 8 | 80 | | 9 | 3 | | 10 | 88 | | 11 | 3 | | 12 | 15 | | 13 | 55 | | 14 | 33 | | 15 | 69 | | 16 | 10 | | 17 | 7 | | 18 | 11 | | 19 | 54 | | 20 | 12 | | 21 | 58 | | 22 | 4 | | 23 | 40 | | 24 | 4 | | 25 | 35 | | 26 | 20 | | 27 | 2 | | 28 | 82 | | 29 | 10 | | 30 | 34 | | 31 | 39 | | 32 | 39 | | 33 | 9 | | 34 | 66 | | 35 | 6 | | 36 | 3 | | 37 | 7 | | 38 | 27 | | 39 | 4 |
| |
| 93.44% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 89 | | matches | | 0 | "was chained" | | 1 | "got used" | | 2 | "was lost" |
| |
| 88.27% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 179 | | matches | | 0 | "wasn't giving" | | 1 | "was providing" | | 2 | "was going" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 1 | | flaggedSentences | 7 | | totalSentences | 95 | | ratio | 0.074 | | matches | | 0 | "Somewhere off to the left, a stag coughed — that hoarse, wrong noise they made in the rut, like an old man dying in another room." | | 1 | "Eight of them, or nine — she'd never got the count to agree with itself — standing in a rough ring with their bark split and folded like flesh grown over a wound." | | 2 | "That always happened, and she'd got used to it, and tonight she hated it — the way the sweat on her back went from ice to nothing between one footfall and the next." | | 3 | "She tried again, louder, and her voice came back to her a half-second late — not an echo, because echoes came from a surface and there was no surface, but a repetition, thin, further off, in a tone she hadn't used." | | 4 | "That was the worst of it — the sound came from beyond the oaks, out where Richmond Park should have been, out where there were car parks and a rugby club and a Tesco eleven minutes' walk from the gate, and it was small and delighted and high, a child's laugh, the kind you heard from the top of a slide." | | 5 | "Fast was an invitation; she'd learned that from the man in Cardiff too." | | 6 | "Tall — taller than the gap should have allowed, so that the head was lost somewhere in the branches — and thin, and the grey light went through the edges of it the way it went through the flowers, and it had no face that she could find, though she looked, and the looking took something out of her that she felt leave, physically, like blood." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 956 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 29 | | adverbRatio | 0.030334728033472803 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.0020920502092050207 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 95 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 95 | | mean | 13.22 | | std | 14.06 | | cv | 1.064 | | sampleLengths | | 0 | 27 | | 1 | 10 | | 2 | 5 | | 3 | 3 | | 4 | 8 | | 5 | 47 | | 6 | 7 | | 7 | 26 | | 8 | 7 | | 9 | 11 | | 10 | 46 | | 11 | 3 | | 12 | 2 | | 13 | 10 | | 14 | 9 | | 15 | 4 | | 16 | 19 | | 17 | 33 | | 18 | 7 | | 19 | 7 | | 20 | 29 | | 21 | 7 | | 22 | 6 | | 23 | 28 | | 24 | 4 | | 25 | 3 | | 26 | 3 | | 27 | 36 | | 28 | 3 | | 29 | 4 | | 30 | 33 | | 31 | 5 | | 32 | 46 | | 33 | 3 | | 34 | 5 | | 35 | 10 | | 36 | 41 | | 37 | 1 | | 38 | 13 | | 39 | 7 | | 40 | 26 | | 41 | 10 | | 42 | 4 | | 43 | 32 | | 44 | 23 | | 45 | 10 | | 46 | 7 | | 47 | 2 | | 48 | 1 | | 49 | 8 |
| |
| 68.07% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.45263157894736844 | | totalSentences | 95 | | uniqueOpeners | 43 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 71 | | matches | | 0 | "Somewhere off to the left," | | 1 | "Then she crouched, set her" | | 2 | "Then more grass." | | 3 | "Then the flat of her" | | 4 | "Then it stopped, mid-breath, cut" |
| | ratio | 0.07 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 71 | | matches | | 0 | "Her palms came away smelling" | | 1 | "she said to nobody" | | 2 | "She kept the torch low," | | 3 | "Her breath went out in" | | 4 | "She'd walked this way in" | | 5 | "She stepped through." | | 6 | "She turned the torch off." | | 7 | "It fell about a metre" | | 8 | "She tried again, louder, and" | | 9 | "She laid them out and" | | 10 | "She had grown up with" | | 11 | "She finished setting the brass" | | 12 | "She breathed out." | | 13 | "She could see them in" | | 14 | "She could also see that" | | 15 | "She reached for the torch." | | 16 | "Her fingers found the grass" | | 17 | "It went on a beat" | | 18 | "It stood between the stones." |
| | ratio | 0.268 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 50 | | totalSentences | 71 | | matches | | 0 | "The gate to Richmond Park" | | 1 | "Her palms came away smelling" | | 2 | "she said to nobody" | | 3 | "The bracken swallowed the path" | | 4 | "She kept the torch low," | | 5 | "Her breath went out in" | | 6 | "She'd walked this way in" | | 7 | "Both times she'd found nothing" | | 8 | "Tonight the pendant had started" | | 9 | "The stone glowed." | | 10 | "The oaks came out of" | | 11 | "Grass on her side, matted" | | 12 | "Wildflowers on the other, cornflowers" | | 13 | "Rory stopped at the boundary" | | 14 | "That was the first wrong" | | 15 | "Silence had texture." | | 16 | "This had the flat deadness" | | 17 | "She stepped through." | | 18 | "The cold left her." | | 19 | "That always happened, and she'd" |
| | ratio | 0.704 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 71 | | matches | | 0 | "Now there was nothing." | | 1 | "As if someone had heard" | | 2 | "Where she was going." |
| | ratio | 0.042 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 35 | | technicalSentenceCount | 1 | | matches | | 0 | "The grove had its own light, a low grey shine that seemed to come up out of the grass rather than down from the sky, and the sky above the ring of oaks held sta…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 78.57% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 14 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.143 | | effectiveRatio | 0.143 | |