| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 7 | | tagDensity | 0.571 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 85.20% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1351 | | totalAiIsmAdverbs | 4 | | 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) | |
| 74.09% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1351 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "silence" | | 1 | "warmth" | | 2 | "treacherous" | | 3 | "flicked" | | 4 | "echo" |
| |
| 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 | 111 | | matches | (empty) | |
| 91.38% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 1 | | narrationSentences | 111 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 114 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 50 | | ratio | 0 | | matches | (empty) | |
| 78.12% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 10 | | markdownWords | 83 | | totalWords | 1362 | | ratio | 0.061 | | matches | | 0 | "the oaks that stand like a doorway, past the Isabella, where the deer don't graze." | | 1 | "seen" | | 2 | "You've seen it, you know it's real, come back in daylight with someone sensible." | | 3 | "Nobody sensible is coming, Rory." | | 4 | "Tick." | | 5 | "Tick. Tick." | | 6 | "don't let it see you looking" | | 7 | "other" | | 8 | "Tick. Tick." | | 9 | "Six stones. Time runs strange in here. Eva came in. Eva has not come out. And the thing behind me is waiting for me to look at it, which means looking at it is the mistake." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 31 | | wordCount | 1324 | | uniqueNames | 16 | | maxNameDensity | 0.76 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 1 | | Park | 1 | | Rory | 10 | | Ham | 1 | | Common | 1 | | South | 1 | | Circular | 1 | | Heathrow | 1 | | Isabella | 1 | | Eva | 6 | | Golden | 1 | | Empress | 1 | | February | 1 | | Like | 2 | | Patient | 1 | | Heartstone | 1 |
| | persons | | 0 | "Rory" | | 1 | "Circular" | | 2 | "Isabella" | | 3 | "Eva" | | 4 | "Like" | | 5 | "Heartstone" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "February" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 58 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1362 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 114 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 43 | | mean | 31.67 | | std | 29.21 | | cv | 0.922 | | sampleLengths | | 0 | 46 | | 1 | 78 | | 2 | 80 | | 3 | 22 | | 4 | 2 | | 5 | 57 | | 6 | 9 | | 7 | 70 | | 8 | 25 | | 9 | 12 | | 10 | 3 | | 11 | 56 | | 12 | 3 | | 13 | 2 | | 14 | 59 | | 15 | 46 | | 16 | 3 | | 17 | 76 | | 18 | 58 | | 19 | 3 | | 20 | 42 | | 21 | 17 | | 22 | 47 | | 23 | 6 | | 24 | 102 | | 25 | 4 | | 26 | 40 | | 27 | 5 | | 28 | 10 | | 29 | 48 | | 30 | 4 | | 31 | 53 | | 32 | 4 | | 33 | 97 | | 34 | 2 | | 35 | 3 | | 36 | 62 | | 37 | 6 | | 38 | 37 | | 39 | 36 | | 40 | 10 | | 41 | 4 | | 42 | 13 |
| |
| 86.30% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 111 | | matches | | 0 | "been chained" | | 1 | "were bedded" | | 2 | "was turned" | | 3 | "been taught" | | 4 | "were flattened" | | 5 | "amused" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 227 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 114 | | ratio | 0.079 | | matches | | 0 | "London parks were never truly quiet — foxes bickering in the bracken, the far-off complaint of the South Circular, planes stacking up over Heathrow in a slow luminous conga line." | | 1 | "She had the sense — irrational, insistent — that light thrown high would be *seen*." | | 2 | "Every head was turned the same way — not toward her." | | 3 | "Between them the grass gave way to a smooth apron of moss, unnaturally level, and beyond that —" | | 4 | "Not warmer exactly — sideways." | | 5 | "It was so faint she thought at first it was her own blood in her ears — that high sweet hum you get in true silence." | | 6 | "The beam found bark, moss, the pale scatter of flowers — and, in the gap between the stones, at about the height of a kneeling child, two points of reflected light that vanished the instant the beam touched them." | | 7 | "A shape passed behind the nearest stone — tall, this one, tall as her, moving with the loose vertical grace of a man walking, except that it went behind the stone and did not come out the other side, and the stone was not wide enough to hide anything." | | 8 | "And into that ringing, close — close enough that she felt the stir of air against the fine hairs of her neck — someone exhaled." |
| |
| 88.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1320 | | adjectiveStacks | 2 | | stackExamples | | 0 | "lay cold against her" | | 1 | "small, wet, deliberate sound." |
| | adverbCount | 42 | | adverbRatio | 0.031818181818181815 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.009848484848484848 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 114 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 114 | | mean | 11.95 | | std | 11.99 | | cv | 1.003 | | sampleLengths | | 0 | 38 | | 1 | 5 | | 2 | 3 | | 3 | 7 | | 4 | 30 | | 5 | 23 | | 6 | 2 | | 7 | 16 | | 8 | 7 | | 9 | 20 | | 10 | 6 | | 11 | 14 | | 12 | 33 | | 13 | 12 | | 14 | 10 | | 15 | 2 | | 16 | 27 | | 17 | 11 | | 18 | 4 | | 19 | 15 | | 20 | 9 | | 21 | 25 | | 22 | 9 | | 23 | 12 | | 24 | 3 | | 25 | 11 | | 26 | 2 | | 27 | 8 | | 28 | 3 | | 29 | 17 | | 30 | 5 | | 31 | 12 | | 32 | 3 | | 33 | 17 | | 34 | 21 | | 35 | 18 | | 36 | 3 | | 37 | 2 | | 38 | 49 | | 39 | 6 | | 40 | 4 | | 41 | 4 | | 42 | 4 | | 43 | 38 | | 44 | 3 | | 45 | 3 | | 46 | 5 | | 47 | 27 | | 48 | 4 | | 49 | 29 |
| |
| 53.51% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 14 | | diversityRatio | 0.39473684210526316 | | totalSentences | 114 | | uniqueOpeners | 45 | |
| 71.68% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 93 | | matches | | 0 | "Just receding, as if the" | | 1 | "Ordinarily deer would flow away" |
| | ratio | 0.022 | |
| 99.57% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 28 | | totalSentences | 93 | | matches | | 0 | "She'd expected the park to" | | 1 | "She kept touching it through" | | 2 | "Her torch made a wobbling" | | 3 | "She kept it low." | | 4 | "She had the sense —" | | 5 | "They were bedded down in" | | 6 | "She saw the shine of" | | 7 | "Her voice came out thin" | | 8 | "She went northeast." | | 9 | "Her breath smoked in the" | | 10 | "She could turn around." | | 11 | "It arrived fully formed and" | | 12 | "She stepped through." | | 13 | "Her ears popped faintly." | | 14 | "It didn't come back." | | 15 | "She noted it and filed" | | 16 | "It was so faint she" | | 17 | "She turned back and the" | | 18 | "she said, to the grove," | | 19 | "She felt it go through" |
| | ratio | 0.301 | |
| 94.41% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 68 | | totalSentences | 93 | | matches | | 0 | "The gate to Richmond Park" | | 1 | "The tear didn't bother her." | | 2 | "The silence did." | | 3 | "She'd expected the park to" | | 4 | "London parks were never truly" | | 5 | "The pendant lay cold against" | | 6 | "She kept touching it through" | | 7 | "Warmth would have meant a" | | 8 | "Warmth would have meant she" | | 9 | "Eva had written it on" | | 10 | "Eva, who had not answered" | | 11 | "The ground went from mown" | | 12 | "Her torch made a wobbling" | | 13 | "She kept it low." | | 14 | "She had the sense —" | | 15 | "The deer found her before" | | 16 | "They were bedded down in" | | 17 | "She saw the shine of" | | 18 | "These didn't move." | | 19 | "Every head was turned the" |
| | ratio | 0.731 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 93 | | matches | (empty) | | ratio | 0 | |
| 77.92% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 44 | | technicalSentenceCount | 4 | | matches | | 0 | "Cold meant she was simply here, alone, at eleven-forty at night, trusting an address that wasn't an address: *the oaks that stand like a doorway, past the Isabe…" | | 1 | "The ground went from mown grass to tussock to something older, the kind of turf that had never met a mower, springy and treacherous with rabbit holes." | | 2 | "Rory stopped a metre short of the arch and looked at them for a long moment: cornflowers, foxgloves, a drift of something white and starry she couldn't name, al…" | | 3 | "She turned back and the flowers directly ahead of her were flattened in a curved line, as though something had crossed there while her head was turned, somethin…" |
| |
| 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 | 4 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 7 | | tagDensity | 0.571 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |