| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 11 | | tagDensity | 0.545 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 74.60% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1181 | | totalAiIsmAdverbs | 6 | | found | | 0 | | | 1 | | | 2 | | adverb | "deliberately" | | count | 1 |
| | 3 | |
| | highlights | | 0 | "very" | | 1 | "perfectly" | | 2 | "deliberately" | | 3 | "slowly" |
| |
| 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) | |
| 91.53% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1181 | | totalAiIsms | 2 | | found | | | highlights | | |
| 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 | 101 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 101 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 107 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 51 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 5 | | totalWords | 1195 | | ratio | 0.004 | | matches | | 0 | "Grove. Full moon. Alone." | | 1 | "Rory" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 36 | | wordCount | 1140 | | uniqueNames | 17 | | maxNameDensity | 0.88 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Fact" | | discoveredNames | | Rory | 10 | | Park | 1 | | Kingston | 1 | | Vale | 1 | | London | 1 | | Heartstone | 2 | | Eva | 5 | | November | 2 | | Robin | 1 | | Hood | 1 | | Gate | 1 | | Camden | 1 | | Carter | 2 | | Louder | 1 | | Cardiff | 1 | | Evan | 1 | | Fact | 4 |
| | persons | | 0 | "Rory" | | 1 | "Vale" | | 2 | "Heartstone" | | 3 | "Eva" | | 4 | "Robin" | | 5 | "Hood" | | 6 | "Gate" | | 7 | "Carter" | | 8 | "Evan" |
| | places | | 0 | "Park" | | 1 | "Kingston" | | 2 | "London" | | 3 | "November" | | 4 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 59 | | 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 | 1195 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 107 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 40 | | mean | 29.88 | | std | 24.42 | | cv | 0.818 | | sampleLengths | | 0 | 19 | | 1 | 55 | | 2 | 14 | | 3 | 8 | | 4 | 56 | | 5 | 14 | | 6 | 58 | | 7 | 16 | | 8 | 40 | | 9 | 1 | | 10 | 13 | | 11 | 60 | | 12 | 41 | | 13 | 16 | | 14 | 9 | | 15 | 41 | | 16 | 55 | | 17 | 15 | | 18 | 10 | | 19 | 65 | | 20 | 9 | | 21 | 4 | | 22 | 70 | | 23 | 17 | | 24 | 62 | | 25 | 12 | | 26 | 50 | | 27 | 3 | | 28 | 10 | | 29 | 104 | | 30 | 26 | | 31 | 15 | | 32 | 6 | | 33 | 60 | | 34 | 4 | | 35 | 29 | | 36 | 9 | | 37 | 10 | | 38 | 38 | | 39 | 51 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 101 | | matches | | |
| 17.85% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 183 | | matches | | 0 | "was showing" | | 1 | "was standing" | | 2 | "were blooming" | | 3 | "was watching" | | 4 | "were only moving" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 107 | | ratio | 0.093 | | matches | | 0 | "Not a rhythm — more like something breathing on her skin." | | 1 | "Eight of them, or nine — she'd never managed a proper count." | | 2 | "The clearing was maybe forty paces across, and empty, and the moon sat directly overhead, which was wrong — it had been low and east when she'd crossed the fence, sitting fat over the Robin Hood Gate." | | 3 | "A sound like a fingernail going down a comb, very slow, and then the flutter of wings — a lot of wings, more than the clearing had space for — and then nothing." | | 4 | "Not sun-warm — the sun had been down for two hours and this was November and nothing out here should have held heat." | | 5 | "The gap she'd come through — she'd fixed it in her mind on the way in, the tree with the split down its middle like a mouth, the one beside it wearing a rope of ivy." | | 6 | "She saw it in the corner of her eye — the specific, awful place where things live — a vertical shape, pale at the top, motionless." | | 7 | "It came from behind her, close, close enough that she should have felt breath, and it was Eva's — Eva's exact register, that Cardiff flatness she'd never lost, the way she said *Rory* like it had three syllables in it." | | 8 | "Same word, same tone, same three syllables — identical, note for note, like a recording played twice." | | 9 | "She caught it in her fist and held on, and the red light came through her fingers like something inside them was alight, and out at the treeline, all around her, the pale shapes began — very slowly, the way a minute hand moves — to lean in." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 934 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 37 | | adverbRatio | 0.03961456102783726 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.006423982869379015 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 107 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 107 | | mean | 11.17 | | std | 10.91 | | cv | 0.977 | | sampleLengths | | 0 | 19 | | 1 | 5 | | 2 | 25 | | 3 | 25 | | 4 | 3 | | 5 | 11 | | 6 | 5 | | 7 | 3 | | 8 | 13 | | 9 | 2 | | 10 | 22 | | 11 | 4 | | 12 | 15 | | 13 | 14 | | 14 | 12 | | 15 | 24 | | 16 | 8 | | 17 | 4 | | 18 | 10 | | 19 | 2 | | 20 | 1 | | 21 | 13 | | 22 | 14 | | 23 | 11 | | 24 | 2 | | 25 | 13 | | 26 | 1 | | 27 | 4 | | 28 | 9 | | 29 | 5 | | 30 | 37 | | 31 | 4 | | 32 | 1 | | 33 | 13 | | 34 | 2 | | 35 | 9 | | 36 | 30 | | 37 | 7 | | 38 | 9 | | 39 | 9 | | 40 | 5 | | 41 | 3 | | 42 | 33 | | 43 | 4 | | 44 | 31 | | 45 | 5 | | 46 | 15 | | 47 | 2 | | 48 | 1 | | 49 | 12 |
| |
| 59.75% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 15 | | diversityRatio | 0.44339622641509435 | | totalSentences | 106 | | uniqueOpeners | 47 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 79 | | matches | (empty) | | ratio | 0 | |
| 88.35% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 26 | | totalSentences | 79 | | matches | | 0 | "She'd parked in a lay-by" | | 1 | "she said, to nobody" | | 2 | "They stood in a rough" | | 3 | "She stepped between two of" | | 4 | "Her voice didn't carry." | | 5 | "It stopped about six feet" | | 6 | "She checked her phone." | | 7 | "She'd left the car at" | | 8 | "She put it in her" | | 9 | "She'd read once that prey" | | 10 | "Her body had decided otherwise." | | 11 | "Her body had gone quiet" | | 12 | "she breathed, and made herself" | | 13 | "She stood up too fast" | | 14 | "She knew it the way" | | 15 | "They were still there." | | 16 | "They were just on her" | | 17 | "She pulled it out of" | | 18 | "She saw it in the" | | 19 | "She turned her head and" |
| | ratio | 0.329 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 56 | | totalSentences | 79 | | matches | | 0 | "The satnav gave up two" | | 1 | "Richmond Park closed at dusk." | | 2 | "She'd parked in a lay-by" | | 3 | "The Heartstone pulsed." | | 4 | "she said, to nobody" | | 5 | "Eva's note had been four" | | 6 | "Eva didn't do cryptic." | | 7 | "Eva did voice notes that" | | 8 | "The oaks came up out" | | 9 | "They stood in a rough" | | 10 | "Bark folded into faces if" | | 11 | "Rory didn't let it." | | 12 | "She stepped between two of" | | 13 | "The way a room changes" | | 14 | "Cornflowers, foxglove, something white and" | | 15 | "Her voice didn't carry." | | 16 | "It stopped about six feet" | | 17 | "Rory turned a slow circle." | | 18 | "The clearing was maybe forty" | | 19 | "She checked her phone." |
| | ratio | 0.709 | |
| 63.29% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 79 | | matches | | 0 | "Now the ground took her" |
| | ratio | 0.013 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 42 | | technicalSentenceCount | 1 | | matches | | 0 | "The comb-sound came again, longer this time, dragging, and underneath it something that might have been laughter or might have been leaves, and every one of the…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 6 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 2 | | fancyTags | | 0 | "she breathed (breathe)" | | 1 | "she whispered (whisper)" |
| | dialogueSentences | 11 | | tagDensity | 0.455 | | leniency | 0.909 | | rawRatio | 0.4 | | effectiveRatio | 0.364 | |