| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 8 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 8 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 78.04% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1366 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "utterly" | | 1 | "very" | | 2 | "slowly" | | 3 | "completely" | | 4 | "softly" |
| |
| 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.40% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1366 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "silence" | | 1 | "footfall" | | 2 | "weight" | | 3 | "echo" | | 4 | "pulse" | | 5 | "warmth" |
| |
| 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 | 106 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 106 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 106 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 58 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 5 | | totalWords | 1374 | | ratio | 0.004 | | matches | | 0 | "come alone or don't come" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 33 | | wordCount | 1335 | | uniqueNames | 23 | | maxNameDensity | 0.75 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 10 | | Sheen | 1 | | Gate | 2 | | Richmond | 1 | | Park | 1 | | Heartstone | 1 | | Hel-thing | 1 | | Silas | 1 | | Isabella | 1 | | Plantation | 1 | | London | 1 | | Pen | 1 | | Ponds | 1 | | October | 1 | | Golden | 1 | | Empress | 1 | | Yu-Fei | 1 | | Isolde | 1 | | Fae | 1 | | Cardiff | 1 | | Turned | 1 | | Evan | 1 | | January | 1 |
| | persons | | 0 | "Rory" | | 1 | "Heartstone" | | 2 | "Silas" | | 3 | "Yu-Fei" | | 4 | "Isolde" | | 5 | "Fae" | | 6 | "Evan" |
| | places | | 0 | "Sheen" | | 1 | "Gate" | | 2 | "Richmond" | | 3 | "Park" | | 4 | "Isabella" | | 5 | "Plantation" | | 6 | "London" | | 7 | "Pen" | | 8 | "October" | | 9 | "Golden" | | 10 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 61 | | glossingSentenceCount | 1 | | matches | | 0 | "sounded like a man clearing his throat" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1374 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 106 | | matches | | 0 | "synchronised that it" | | 1 | "taped, that her" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 55 | | mean | 24.98 | | std | 20.31 | | cv | 0.813 | | sampleLengths | | 0 | 25 | | 1 | 7 | | 2 | 41 | | 3 | 44 | | 4 | 41 | | 5 | 6 | | 6 | 41 | | 7 | 6 | | 8 | 68 | | 9 | 9 | | 10 | 50 | | 11 | 22 | | 12 | 16 | | 13 | 9 | | 14 | 50 | | 15 | 2 | | 16 | 65 | | 17 | 9 | | 18 | 18 | | 19 | 21 | | 20 | 3 | | 21 | 8 | | 22 | 56 | | 23 | 6 | | 24 | 14 | | 25 | 25 | | 26 | 57 | | 27 | 3 | | 28 | 13 | | 29 | 63 | | 30 | 15 | | 31 | 4 | | 32 | 60 | | 33 | 14 | | 34 | 40 | | 35 | 16 | | 36 | 31 | | 37 | 12 | | 38 | 33 | | 39 | 37 | | 40 | 11 | | 41 | 4 | | 42 | 50 | | 43 | 20 | | 44 | 4 | | 45 | 6 | | 46 | 58 | | 47 | 5 | | 48 | 14 | | 49 | 6 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 106 | | matches | | |
| 70.55% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 206 | | matches | | 0 | "was doing" | | 1 | "was going" | | 2 | "was making" | | 3 | "was standing" |
| |
| 35.04% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 106 | | ratio | 0.038 | | matches | | 0 | "She'd expected to hear them — the rustle, the alarm bark that sounded like a man clearing his throat." | | 1 | "The third bench was where she'd left it, a green council bench with a brass plaque she'd read in October — FOR MARGARET, WHO LOVED THIS VIEW." | | 2 | "She turned her head — not the torch, just her head — and looked at the place where the pressing had come from, and in the corner of her eye, in that unreliable outer ring where the rods live, she saw it clearly: something tall and thin and folded, close enough to touch, hands hanging past its knees." | | 3 | "Cornflowers and campion, blue and pink and impossible in January, pushing up through frost in a widening path, and forty yards on she saw the first of the oaks — squat, split, older than the city — and between them the light of a place where the sun hadn't finished setting." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1336 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 38 | | adverbRatio | 0.02844311377245509 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.006736526946107785 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 106 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 106 | | mean | 12.96 | | std | 12.77 | | cv | 0.985 | | sampleLengths | | 0 | 25 | | 1 | 7 | | 2 | 7 | | 3 | 34 | | 4 | 7 | | 5 | 4 | | 6 | 16 | | 7 | 17 | | 8 | 7 | | 9 | 34 | | 10 | 6 | | 11 | 41 | | 12 | 6 | | 13 | 24 | | 14 | 19 | | 15 | 25 | | 16 | 2 | | 17 | 3 | | 18 | 4 | | 19 | 10 | | 20 | 10 | | 21 | 30 | | 22 | 3 | | 23 | 2 | | 24 | 17 | | 25 | 5 | | 26 | 2 | | 27 | 9 | | 28 | 9 | | 29 | 27 | | 30 | 23 | | 31 | 2 | | 32 | 21 | | 33 | 12 | | 34 | 32 | | 35 | 9 | | 36 | 3 | | 37 | 2 | | 38 | 13 | | 39 | 2 | | 40 | 3 | | 41 | 14 | | 42 | 2 | | 43 | 3 | | 44 | 4 | | 45 | 4 | | 46 | 30 | | 47 | 26 | | 48 | 6 | | 49 | 1 |
| |
| 80.82% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.5188679245283019 | | totalSentences | 106 | | uniqueOpeners | 55 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 88 | | matches | | 0 | "Instead she got the ponds" | | 1 | "So close to synchronised that" | | 2 | "Then, out in the black" | | 3 | "Just the leaning." | | 4 | "Then went cold again." |
| | ratio | 0.057 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 20 | | totalSentences | 88 | | matches | | 0 | "she said to the empty" | | 1 | "She'd walked this route in" | | 2 | "She'd expected to hear them" | | 3 | "Her voice came out flat." | | 4 | "She switched the torch back" | | 5 | "She counted her steps instead," | | 6 | "She'd worked it out on" | | 7 | "She'd already established that." | | 8 | "She walked on, and at" | | 9 | "She stood very still and" | | 10 | "She thumbed the torch to" | | 11 | "She kept the torch on" | | 12 | "Her breath fogged" | | 13 | "She noted, with the strange" | | 14 | "She counted ten." | | 15 | "It didn't move." | | 16 | "She counted twenty, and somewhere" | | 17 | "She turned her head —" | | 18 | "She looked straight at it." | | 19 | "She walked into the stones." |
| | ratio | 0.227 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 49 | | totalSentences | 88 | | matches | | 0 | "The taxi dropped Rory at" | | 1 | "she said to the empty" | | 2 | "Richmond Park closed at dusk" | | 3 | "The gate was padlocked, the" | | 4 | "The Heartstone sat cold against" | | 5 | "That was the point." | | 6 | "She'd walked this route in" | | 7 | "The deer were the first" | | 8 | "She'd expected to hear them" | | 9 | "The grass rolled away grey" | | 10 | "Her voice came out flat." | | 11 | "She switched the torch back" | | 12 | "The third bench was where" | | 13 | "Rory put two fingers on" | | 14 | "She counted her steps instead," | | 15 | "She'd worked it out on" | | 16 | "The sound of weight coming" | | 17 | "The torch swung." | | 18 | "Grass, bracken, a hawthorn bent" | | 19 | "She'd already established that." |
| | ratio | 0.557 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 4 | | totalSentences | 88 | | matches | | 0 | "Now the grass was black" | | 1 | "Because the silence had a" | | 2 | "As if something had been" | | 3 | "Because the grove was ahead" |
| | ratio | 0.045 | |
| 80.75% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 46 | | technicalSentenceCount | 4 | | matches | | 0 | "Now the grass was black and the sky was the colour of dishwater, orange at the edges where London pressed against it, and her torch made a small yellow circle t…" | | 1 | "Above her, a plane crawled westward with its lights blinking, and she felt absurdly grateful for it, for the two hundred people in it eating tiny pretzels and w…" | | 2 | "The third bench was where she'd left it, a green council bench with a brass plaque she'd read in October — FOR MARGARET, WHO LOVED THIS VIEW." | | 3 | "She noted, with the strange clinical part of her brain that had got her through Evan's flat and out of the door with her ribs taped, that her hands had gone com…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 8 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 66.67% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 1 | | fancyTags | | 0 | "Rory whispered (whisper)" |
| | dialogueSentences | 8 | | tagDensity | 0.75 | | leniency | 1 | | rawRatio | 0.167 | | effectiveRatio | 0.167 | |