| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 2 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 5 | | tagDensity | 0.4 | | leniency | 0.8 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 85.40% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1712 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "really" | | 1 | "very" | | 2 | "slightly" | | 3 | "sharply" |
| |
| 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) | |
| 56.19% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1712 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "pulsed" | | 1 | "throb" | | 2 | "pulse" | | 3 | "silence" | | 4 | "perfect" | | 5 | "familiar" | | 6 | "stomach" |
| |
| 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 | 173 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 173 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 176 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 56 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1715 | | 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 | 72 | | wordCount | 1655 | | uniqueNames | 22 | | maxNameDensity | 0.73 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Isolde" | | discoveredNames | | Richmond | 3 | | Park | 3 | | London | 2 | | Fae | 4 | | Grove | 6 | | Isolde | 8 | | Golden | 1 | | Empress | 1 | | Yu-Fei | 1 | | January | 1 | | November | 2 | | Heartstone | 6 | | Eva | 1 | | Carter | 2 | | Cardiff | 2 | | Evan | 1 | | Hel | 3 | | Brendan | 1 | | Rory | 12 | | Pulse | 4 | | Drip | 4 | | Fact | 4 |
| | persons | | 0 | "Isolde" | | 1 | "Yu-Fei" | | 2 | "Heartstone" | | 3 | "Eva" | | 4 | "Carter" | | 5 | "Evan" | | 6 | "Brendan" | | 7 | "Rory" | | 8 | "Pulse" | | 9 | "Fact" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" | | 3 | "Fae" | | 4 | "Grove" | | 5 | "January" | | 6 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 101 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.583 | | wordCount | 1715 | | matches | | 0 | "not to the ground but slightly forward, toward the empty center of the circle" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 176 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 68 | | mean | 25.22 | | std | 23.73 | | cv | 0.941 | | sampleLengths | | 0 | 9 | | 1 | 71 | | 2 | 27 | | 3 | 27 | | 4 | 70 | | 5 | 4 | | 6 | 7 | | 7 | 90 | | 8 | 86 | | 9 | 24 | | 10 | 8 | | 11 | 55 | | 12 | 16 | | 13 | 2 | | 14 | 46 | | 15 | 3 | | 16 | 16 | | 17 | 42 | | 18 | 5 | | 19 | 44 | | 20 | 4 | | 21 | 41 | | 22 | 2 | | 23 | 21 | | 24 | 75 | | 25 | 2 | | 26 | 7 | | 27 | 20 | | 28 | 7 | | 29 | 15 | | 30 | 50 | | 31 | 5 | | 32 | 34 | | 33 | 22 | | 34 | 9 | | 35 | 9 | | 36 | 9 | | 37 | 89 | | 38 | 5 | | 39 | 53 | | 40 | 3 | | 41 | 13 | | 42 | 16 | | 43 | 11 | | 44 | 51 | | 45 | 37 | | 46 | 11 | | 47 | 3 | | 48 | 14 | | 49 | 39 |
| |
| 91.07% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 7 | | totalSentences | 173 | | matches | | 0 | "been muted" | | 1 | "was supposed" | | 2 | "was supposed" | | 3 | "was turned" | | 4 | "was matted" | | 5 | "were planted" | | 6 | "was gone" | | 7 | "were turned" |
| |
| 52.40% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 271 | | matches | | 0 | "was weeping" | | 1 | "was being" | | 2 | "was coming" | | 3 | "was looking" | | 4 | "were rustling" | | 5 | "was weeping" |
| |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 3 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 176 | | ratio | 0.011 | | matches | | 0 | "In front of her the trees opened, and behind her Richmond Park was still there, she was sure of it — the distant sodium wash of London to the east, the low hum of the A3 — but between one breath and the next all of that had been muted, as if someone had turned a dial down." | | 1 | "The air that came with the exhale was cold and smelled wrong — cold meat, cold earth, iron." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 213 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 7 | | adverbRatio | 0.03286384976525822 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.009389671361502348 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 176 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 176 | | mean | 9.74 | | std | 9.05 | | cv | 0.929 | | sampleLengths | | 0 | 9 | | 1 | 13 | | 2 | 58 | | 3 | 3 | | 4 | 2 | | 5 | 22 | | 6 | 9 | | 7 | 4 | | 8 | 9 | | 9 | 5 | | 10 | 9 | | 11 | 24 | | 12 | 7 | | 13 | 30 | | 14 | 4 | | 15 | 7 | | 16 | 6 | | 17 | 8 | | 18 | 16 | | 19 | 4 | | 20 | 21 | | 21 | 10 | | 22 | 4 | | 23 | 7 | | 24 | 11 | | 25 | 3 | | 26 | 18 | | 27 | 6 | | 28 | 12 | | 29 | 14 | | 30 | 5 | | 31 | 8 | | 32 | 23 | | 33 | 3 | | 34 | 21 | | 35 | 8 | | 36 | 24 | | 37 | 3 | | 38 | 4 | | 39 | 5 | | 40 | 19 | | 41 | 3 | | 42 | 4 | | 43 | 9 | | 44 | 2 | | 45 | 7 | | 46 | 9 | | 47 | 22 | | 48 | 8 | | 49 | 3 |
| |
| 51.52% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 16 | | diversityRatio | 0.36363636363636365 | | totalSentences | 176 | | uniqueOpeners | 64 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 7 | | totalSentences | 149 | | matches | | 0 | "Instead she was here." | | 1 | "Just at the edge of" | | 2 | "Too fast to be a" | | 3 | "All turned inward, all shaking" | | 4 | "Then, from the darkness on" | | 5 | "Too Cardiff, not enough valley." | | 6 | "Only this time, it was" |
| | ratio | 0.047 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 42 | | totalSentences | 149 | | matches | | 0 | "She'd only been here twice" | | 1 | "She was supposed to be" | | 2 | "She was supposed to be" | | 3 | "They were all turned to" | | 4 | "She took another step and" | | 5 | "They were stone shaped like" | | 6 | "It was November outside the" | | 7 | "She touched the pendant without" | | 8 | "It was warm." | | 9 | "Her voice didn't carry." | | 10 | "It fell flat, two feet" | | 11 | "She told herself she was" | | 12 | "It was a faint throb" | | 13 | "They abhorred each other." | | 14 | "It didn't swing." | | 15 | "It hung straight down, pulling" | | 16 | "It was soft, behind the" | | 17 | "She turned her head sharply" | | 18 | "Her scalp prickled under her" | | 19 | "She shoved her hands deep" |
| | ratio | 0.282 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 107 | | totalSentences | 149 | | matches | | 0 | "The air changed three steps" | | 1 | "Rory stopped with one foot" | | 2 | "The Fae Grove." | | 3 | "She'd only been here twice" | | 4 | "Isolde had not answered her" | | 5 | "That wasn't like her." | | 6 | "The last text had just" | | 7 | "A pin dropped right here." | | 8 | "Rory zipped her delivery jacket" | | 9 | "She was supposed to be" | | 10 | "She was supposed to be" | | 11 | "The clearing was wrong from" | | 12 | "Wildflowers bloomed year-round in the" | | 13 | "Isolde had told her that" | | 14 | "Tonight they were open." | | 15 | "Rory could see them in" | | 16 | "They were all turned to" | | 17 | "She took another step and" | | 18 | "The standing stones marked the" | | 19 | "They were stone shaped like" |
| | ratio | 0.718 | |
| 67.11% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 149 | | matches | | 0 | "Even in January, even in" | | 1 | "To face her." |
| | ratio | 0.013 | |
| 59.52% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 60 | | technicalSentenceCount | 7 | | matches | | 0 | "In front of her the trees opened, and behind her Richmond Park was still there, she was sure of it — the distant sodium wash of London to the east, the low hum …" | | 1 | "The pendant given to her by an unknown benefactor, something that should not be in the Grove at all." | | 2 | "The air that came with the exhale was cold and smelled wrong — cold meat, cold earth, iron." | | 3 | "Her sensible trainers were planted in Fae soil that shouldn't exist in Richmond Park." | | 4 | "Its limbs were too long, jointed backwards in a way that made her stomach turn, but it wore the shape of a person like a loose coat, and the moonlight went thro…" | | 5 | "The wet spot in the center gave a soft, obscene plop, as if something on the other side had just stepped into shallow water." | | 6 | "She ran toward the stone that was weeping, the first one she had passed, because that was where she had come in, that had to be where she had come in, even thou…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 2 | | uselessAdditionCount | 1 | | matches | | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 5 | | tagDensity | 0.4 | | leniency | 0.8 | | rawRatio | 0 | | effectiveRatio | 0 | |