| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 16 | | tagDensity | 0.313 | | leniency | 0.625 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1193 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 66.47% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1193 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "echo" | | 1 | "silence" | | 2 | "perfect" | | 3 | "weight" | | 4 | "footsteps" |
| |
| 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 | 83 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 83 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 94 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 47 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1207 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 5 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 29 | | wordCount | 1140 | | uniqueNames | 16 | | maxNameDensity | 0.61 | | worstName | "Isolde" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Park | 1 | | Pen | 1 | | Ponds | 1 | | Rory | 6 | | Heartstone | 1 | | Hel | 2 | | Richmond | 2 | | Isolde | 7 | | Thursday | 1 | | Golden | 1 | | Empress | 1 | | Grove | 1 | | June-smelling | 1 | | November | 1 | | Cardiff | 1 | | Laila | 1 |
| | persons | | 0 | "Ponds" | | 1 | "Rory" | | 2 | "Isolde" | | 3 | "Grove" | | 4 | "June-smelling" | | 5 | "Laila" |
| | places | | 0 | "Park" | | 1 | "Hel" | | 2 | "Richmond" | | 3 | "Golden" | | 4 | "November" | | 5 | "Cardiff" |
| | 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 | 1207 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 94 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 41 | | mean | 29.44 | | std | 22.4 | | cv | 0.761 | | sampleLengths | | 0 | 39 | | 1 | 48 | | 2 | 63 | | 3 | 16 | | 4 | 65 | | 5 | 21 | | 6 | 61 | | 7 | 3 | | 8 | 69 | | 9 | 1 | | 10 | 22 | | 11 | 14 | | 12 | 13 | | 13 | 58 | | 14 | 4 | | 15 | 6 | | 16 | 1 | | 17 | 23 | | 18 | 42 | | 19 | 5 | | 20 | 55 | | 21 | 40 | | 22 | 3 | | 23 | 46 | | 24 | 41 | | 25 | 82 | | 26 | 50 | | 27 | 1 | | 28 | 36 | | 29 | 17 | | 30 | 35 | | 31 | 27 | | 32 | 37 | | 33 | 8 | | 34 | 3 | | 35 | 48 | | 36 | 38 | | 37 | 6 | | 38 | 41 | | 39 | 6 | | 40 | 13 |
| |
| 96.81% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 83 | | matches | | 0 | "been dipped" | | 1 | "was meant" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 171 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 94 | | ratio | 0.106 | | matches | | 0 | "Except Isolde had missed the Thursday handoff at the Golden Empress, and the Grove was the only place she went when she wanted not to be found, and she'd told Rory once — fingers closed around Rory's wrist, so there'd be no mistaking it — never after dark." | | 1 | "Ten paces out she felt the change in the air — heat spilling between the trunks like an open oven door, wet and green, June-smelling in November." | | 2 | "Her voice, near enough — except stripped." | | 3 | "She stood in the middle of it and waited, and the silence waited with her, and it had a texture she didn't care for — the hush of a room where someone has stopped breathing to hear you better." | | 4 | "She walked toward a flat stone at the clearing's centre — table-flat, moss on its north face, the spot where Isolde held court — and under her crunch came a second crunch, a breath behind hers." | | 5 | "Wood complained overhead — a long creak, the sound of a bough taking weight." | | 6 | "That was wrong twice over — the moon overhead should have folded the shadow under her feet — and at its edge sat a second shape, thin, jointed where joints don't go, which moved when she moved and stopped when she stopped and took a breath to catch up." | | 7 | "Every time she turned her head, shapes stood between the far trunks — tall, narrow, still as the oaks themselves — and by the time her eyes arrived they had never been there at all." | | 8 | "The vowel shapes, the light lift at the end, note for note — except Isolde had never once used that name." | | 9 | "The second footsteps — gone." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1134 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 31 | | adverbRatio | 0.027336860670194002 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.001763668430335097 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 94 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 94 | | mean | 12.84 | | std | 11.02 | | cv | 0.858 | | sampleLengths | | 0 | 39 | | 1 | 5 | | 2 | 25 | | 3 | 18 | | 4 | 7 | | 5 | 13 | | 6 | 22 | | 7 | 21 | | 8 | 10 | | 9 | 6 | | 10 | 4 | | 11 | 13 | | 12 | 48 | | 13 | 10 | | 14 | 11 | | 15 | 21 | | 16 | 27 | | 17 | 13 | | 18 | 3 | | 19 | 7 | | 20 | 19 | | 21 | 21 | | 22 | 22 | | 23 | 1 | | 24 | 9 | | 25 | 7 | | 26 | 4 | | 27 | 2 | | 28 | 5 | | 29 | 5 | | 30 | 4 | | 31 | 13 | | 32 | 19 | | 33 | 39 | | 34 | 3 | | 35 | 1 | | 36 | 6 | | 37 | 1 | | 38 | 2 | | 39 | 21 | | 40 | 36 | | 41 | 6 | | 42 | 5 | | 43 | 4 | | 44 | 3 | | 45 | 9 | | 46 | 8 | | 47 | 31 | | 48 | 4 | | 49 | 36 |
| |
| 63.08% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.43010752688172044 | | totalSentences | 93 | | uniqueOpeners | 40 | |
| 42.19% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 79 | | matches | | 0 | "Even the hush changed, dropping" |
| | ratio | 0.013 | |
| 68.10% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 30 | | totalSentences | 79 | | matches | | 0 | "Her breath came out in" | | 1 | "She set off across the" | | 2 | "It had been warm for" | | 3 | "She fished it out as" | | 4 | "She held the stone up" | | 5 | "She stepped through." | | 6 | "Her voice, near enough —" | | 7 | "She turned a full circle." | | 8 | "She stood in the middle" | | 9 | "She tested it." | | 10 | "She said nothing after that," | | 11 | "She walked toward a flat" | | 12 | "She stopped with one foot" | | 13 | "She lifted her boot." | | 14 | "It walked level with her," | | 15 | "She did not look." | | 16 | "Her thumb found the crescent" | | 17 | "She looked up through the" | | 18 | "Her phone said 23:47." | | 19 | "She pocketed it, walked another" |
| | ratio | 0.38 | |
| 54.94% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 64 | | totalSentences | 79 | | matches | | 0 | "Richmond Park locked its gates" | | 1 | "Frost had silvered the grass." | | 2 | "Her breath came out in" | | 3 | "She set off across the" | | 4 | "It had been warm for" | | 5 | "She fished it out as" | | 6 | "The thing was meant to" | | 7 | "She held the stone up" | | 8 | "Isolde would explain it." | | 9 | "Isolde explained everything, and made" | | 10 | "Rory tucked the pendant away" | | 11 | "The boundary oaks rose out" | | 12 | "The frost stopped in a" | | 13 | "She stepped through." | | 14 | "The cold ended on her" | | 15 | "Wildflowers ran to her knees," | | 16 | "The grove handed the word" | | 17 | "Her voice, near enough —" | | 18 | "She turned a full circle." | | 19 | "Trunks, blooms, black netted sky." |
| | ratio | 0.81 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 79 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 37 | | technicalSentenceCount | 1 | | matches | | 0 | "Her breath came out in short white flags, and the moon hung low and orange, streetlamp-coloured, as though it had been dipped in the city." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |