| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 7 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 10 | | tagDensity | 0.7 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 62.76% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1074 | | totalAiIsmAdverbs | 8 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | adverb | "deliberately" | | count | 1 |
| | 5 | |
| | highlights | | 0 | "really" | | 1 | "very" | | 2 | "completely" | | 3 | "precisely" | | 4 | "deliberately" | | 5 | "gently" |
| |
| 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) | |
| 67.41% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1074 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "pulsed" | | 1 | "pulse" | | 2 | "resolved" | | 3 | "familiar" | | 4 | "silence" | | 5 | "weight" |
| |
| 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 | 82 | | matches | (empty) | |
| 90.59% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 1 | | narrationSentences | 82 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 86 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 53 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 39 | | totalWords | 1074 | | ratio | 0.036 | | matches | | 0 | "Isolde's grove. Ask for the grove, not the park. They'll know." | | 1 | "if I look up and there's nothing there, I'll know I've lost the plot completely, and if I look up and there's something there, I'll wish I hadn't." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 14 | | wordCount | 1007 | | uniqueNames | 10 | | maxNameDensity | 0.2 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "June" | | discoveredNames | | Rory | 2 | | Park | 1 | | Isabella | 1 | | Plantation | 1 | | Silas | 2 | | November | 1 | | June | 2 | | Cardiff | 1 | | Evan | 1 | | Empty | 2 |
| | persons | | | places | | 0 | "Park" | | 1 | "Isabella" | | 2 | "Plantation" | | 3 | "June" | | 4 | "Cardiff" | | 5 | "Empty" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 51 | | 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 | 1074 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 86 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 34 | | mean | 31.59 | | std | 26.51 | | cv | 0.839 | | sampleLengths | | 0 | 13 | | 1 | 46 | | 2 | 6 | | 3 | 87 | | 4 | 5 | | 5 | 73 | | 6 | 10 | | 7 | 64 | | 8 | 5 | | 9 | 12 | | 10 | 5 | | 11 | 40 | | 12 | 15 | | 13 | 15 | | 14 | 75 | | 15 | 5 | | 16 | 56 | | 17 | 18 | | 18 | 13 | | 19 | 102 | | 20 | 52 | | 21 | 5 | | 22 | 44 | | 23 | 41 | | 24 | 3 | | 25 | 39 | | 26 | 31 | | 27 | 45 | | 28 | 46 | | 29 | 25 | | 30 | 3 | | 31 | 27 | | 32 | 46 | | 33 | 2 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 82 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 174 | | matches | (empty) | |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 0 | | semicolonCount | 0 | | flaggedSentences | 0 | | totalSentences | 86 | | ratio | 0 | | matches | (empty) | |
| 84.22% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 896 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 52 | | adverbRatio | 0.05803571428571429 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.008928571428571428 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 86 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 86 | | mean | 12.49 | | std | 11.6 | | cv | 0.929 | | sampleLengths | | 0 | 13 | | 1 | 8 | | 2 | 1 | | 3 | 22 | | 4 | 3 | | 5 | 12 | | 6 | 6 | | 7 | 17 | | 8 | 8 | | 9 | 26 | | 10 | 2 | | 11 | 7 | | 12 | 8 | | 13 | 19 | | 14 | 5 | | 15 | 20 | | 16 | 26 | | 17 | 11 | | 18 | 3 | | 19 | 13 | | 20 | 9 | | 21 | 1 | | 22 | 24 | | 23 | 14 | | 24 | 9 | | 25 | 1 | | 26 | 2 | | 27 | 14 | | 28 | 5 | | 29 | 4 | | 30 | 1 | | 31 | 7 | | 32 | 5 | | 33 | 21 | | 34 | 2 | | 35 | 17 | | 36 | 9 | | 37 | 6 | | 38 | 15 | | 39 | 22 | | 40 | 53 | | 41 | 5 | | 42 | 2 | | 43 | 19 | | 44 | 6 | | 45 | 1 | | 46 | 28 | | 47 | 18 | | 48 | 3 | | 49 | 5 |
| |
| 63.18% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.4418604651162791 | | totalSentences | 86 | | uniqueOpeners | 38 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 68 | | matches | | 0 | "Just bracken, settling the way" | | 1 | "Then, faint, a sound like" | | 2 | "Of course no one answered." | | 3 | "Somewhere behind her, deeper in" | | 4 | "Then, close enough that she" |
| | ratio | 0.074 | |
| 43.53% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 30 | | totalSentences | 68 | | matches | | 0 | "She stopped, fingers closing around" | | 1 | "She glanced down." | | 2 | "She'd climbed the fence near" | | 3 | "They'll know.* He hadn't said" | | 4 | "He hadn't said much of" | | 5 | "She stepped between the oaks." | | 6 | "She'd read once that flowers" | | 7 | "It wasn't June." | | 8 | "It wasn't anything, really, once" | | 9 | "she said, mostly to hear" | | 10 | "She swept the torch beam" | | 11 | "She swung the torch." | | 12 | "She held the beam steady" | | 13 | "Her voice came out smaller" | | 14 | "She pressed further in, pendant" | | 15 | "She held her breath and" | | 16 | "she said to the empty" | | 17 | "She hadn't expected anyone to." | | 18 | "She made herself walk on." | | 19 | "She told herself it was" |
| | ratio | 0.441 | |
| 55.59% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 55 | | totalSentences | 68 | | matches | | 0 | "The pendant burned hot against" | | 1 | "She stopped, fingers closing around" | | 2 | "She glanced down." | | 3 | "The deep crimson stone pulsed" | | 4 | "The standing stones rose ahead" | | 5 | "Richmond Park had shut its" | | 6 | "She'd climbed the fence near" | | 7 | "They'll know.* He hadn't said" | | 8 | "He hadn't said much of" | | 9 | "She stepped between the oaks." | | 10 | "The temperature dropped, not like" | | 11 | "The wildflowers under her boots" | | 12 | "She'd read once that flowers" | | 13 | "It wasn't June." | | 14 | "It wasn't anything, really, once" | | 15 | "she said, mostly to hear" | | 16 | "The grove opened into a" | | 17 | "Grass silvered underfoot, though there" | | 18 | "She swept the torch beam" | | 19 | "The kind of dark between" |
| | ratio | 0.809 | |
| 73.53% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 68 | | matches | | 0 | "If anything, it came nearer," |
| | ratio | 0.015 | |
| 83.33% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 36 | | technicalSentenceCount | 3 | | matches | | 0 | "She pressed further in, pendant throbbing warm through her jumper now, a slow insistent pulse that matched nothing about her own heartbeat." | | 1 | "Silas had said the grove would lead her to answers about the pendant, about the man who'd left it in her bag with no note, no name, just the faint smell of wood…" | | 2 | "The silence that replaced it had weight to it, a listening kind of quiet, the sort that came from something choosing, very deliberately, not to answer yet." |
| |
| 53.57% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 7 | | uselessAdditionCount | 1 | | matches | | 0 | "she tried, voice cracking on the name" |
| |
| 50.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 10 | | tagDensity | 0.3 | | leniency | 0.6 | | rawRatio | 0.333 | | effectiveRatio | 0.2 | |