| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 5 | | tagDensity | 0.6 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 64.25% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1119 | | totalAiIsmAdverbs | 8 | | found | | | highlights | | 0 | "suddenly" | | 1 | "slowly" | | 2 | "really" | | 3 | "slightly" | | 4 | "very" |
| |
| 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) | |
| 6.17% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1119 | | totalAiIsms | 21 | | found | | | highlights | | 0 | "familiar" | | 1 | "weight" | | 2 | "pulse" | | 3 | "throb" | | 4 | "pristine" | | 5 | "loomed" | | 6 | "reminder" | | 7 | "flicked" | | 8 | "pulsed" | | 9 | "perfect" | | 10 | "echoing" | | 11 | "quickened" | | 12 | "silence" | | 13 | "beacon" | | 14 | "warmth" | | 15 | "comforting" |
| |
| 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 | 0 | | hedgeCount | 2 | | narrationSentences | 101 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 103 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 32 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1104 | | 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 | 27 | | wordCount | 1079 | | uniqueNames | 13 | | maxNameDensity | 0.83 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 1 | | Park | 1 | | November | 2 | | Grove | 6 | | Heartstone | 1 | | Pendant | 1 | | Hel | 1 | | Earth | 1 | | Silence | 1 | | English | 1 | | Rory | 9 | | Eva | 1 | | London | 1 |
| | persons | | 0 | "Pendant" | | 1 | "Silence" | | 2 | "Rory" | | 3 | "Eva" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "November" | | 3 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 68 | | glossingSentenceCount | 1 | | matches | | 0 | "quite name because her brain rejected their shapes" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1104 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 103 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 35 | | mean | 31.54 | | std | 17.42 | | cv | 0.552 | | sampleLengths | | 0 | 56 | | 1 | 41 | | 2 | 57 | | 3 | 6 | | 4 | 50 | | 5 | 20 | | 6 | 7 | | 7 | 54 | | 8 | 39 | | 9 | 31 | | 10 | 5 | | 11 | 36 | | 12 | 34 | | 13 | 15 | | 14 | 15 | | 15 | 53 | | 16 | 23 | | 17 | 20 | | 18 | 47 | | 19 | 9 | | 20 | 47 | | 21 | 43 | | 22 | 38 | | 23 | 53 | | 24 | 39 | | 25 | 39 | | 26 | 20 | | 27 | 15 | | 28 | 35 | | 29 | 10 | | 30 | 45 | | 31 | 38 | | 32 | 4 | | 33 | 57 | | 34 | 3 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 101 | | matches | | |
| 51.85% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 180 | | matches | | 0 | "were speaking" | | 1 | "was listening" | | 2 | "was returning" | | 3 | "were shaking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 103 | | ratio | 0.097 | | matches | | 0 | "The beam caught the ancient standing stones first—gnarled trunks twisted into shapes that resembled hunched shoulders, their bark weathered to near-black." | | 1 | "The wildflowers shouldn't have been blooming—not in November—but they carpeted the ground in impossible colours." | | 2 | "A sound like branches being moved, but careful—deliberate." | | 3 | "The pendant pulsed again—distinct now, unmistakable heat that made her fingers flex." | | 4 | "The kind of silence that felt deliberate—a held breath before something terrible." | | 5 | "\"I'm not leaving,\" she said, as much to convince herself as whoever—whatever—was listening." | | 6 | "She caught only an impression—a shape that was too tall, too angular—before it moved away." | | 7 | "Now she could see movement more clearly—shifts in shadow that suggested forms, suggestions of limbs or wings or antlers or things she couldn't quite name because her brain rejected their shapes." | | 8 | "She glanced down for just an instant—a message from Eva asking if she'd made it safe." | | 9 | "The deliberate silence dissolved into the normal sounds of night—wind through branches, the distant hum of London beyond the park." |
| |
| 87.81% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1094 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 59 | | adverbRatio | 0.05393053016453382 | | lyAdverbCount | 18 | | lyAdverbRatio | 0.016453382084095063 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 103 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 103 | | mean | 10.72 | | std | 6.79 | | cv | 0.633 | | sampleLengths | | 0 | 20 | | 1 | 21 | | 2 | 12 | | 3 | 3 | | 4 | 17 | | 5 | 19 | | 6 | 5 | | 7 | 12 | | 8 | 15 | | 9 | 12 | | 10 | 18 | | 11 | 4 | | 12 | 2 | | 13 | 10 | | 14 | 11 | | 15 | 16 | | 16 | 13 | | 17 | 5 | | 18 | 8 | | 19 | 2 | | 20 | 5 | | 21 | 3 | | 22 | 4 | | 23 | 13 | | 24 | 16 | | 25 | 2 | | 26 | 2 | | 27 | 21 | | 28 | 4 | | 29 | 3 | | 30 | 27 | | 31 | 3 | | 32 | 2 | | 33 | 19 | | 34 | 12 | | 35 | 5 | | 36 | 2 | | 37 | 17 | | 38 | 17 | | 39 | 3 | | 40 | 19 | | 41 | 12 | | 42 | 15 | | 43 | 3 | | 44 | 12 | | 45 | 2 | | 46 | 6 | | 47 | 9 | | 48 | 8 | | 49 | 10 |
| |
| 41.10% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 16 | | diversityRatio | 0.33980582524271846 | | totalSentences | 103 | | uniqueOpeners | 35 | |
| 72.46% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 92 | | matches | | 0 | "Just barely within the beam's" | | 1 | "Simply stepping back into the" |
| | ratio | 0.022 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 18 | | totalSentences | 92 | | matches | | 0 | "She'd come to the Grove" | | 1 | "She'd felt it pulse this" | | 2 | "Her trainers crunched on frosted" | | 3 | "She moved deeper into the" | | 4 | "She stopped walking." | | 5 | "She kept the torch on" | | 6 | "It came from everywhere and" | | 7 | "She'd encountered things in the" | | 8 | "she called out, her voice" | | 9 | "she said, as much to" | | 10 | "Its light spread across her" | | 11 | "She caught only an impression—a" | | 12 | "They circled her." | | 13 | "She glanced down for just" | | 14 | "She whirled, torch and phone" | | 15 | "She turned toward the edge" | | 16 | "They'd simply moved." | | 17 | "They pressed against the perimeter" |
| | ratio | 0.196 | |
| 41.52% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 77 | | totalSentences | 92 | | matches | | 0 | "Aurora pushed through the oak" | | 1 | "The beam caught the ancient" | | 2 | "She'd come to the Grove" | | 3 | "The Heartstone Pendant hung warm" | | 4 | "She'd felt it pulse this" | | 5 | "Rory needed to know where." | | 6 | "Her trainers crunched on frosted" | | 7 | "The wildflowers shouldn't have been" | | 8 | "Purples and golds caught her" | | 9 | "The air hung thick and" | | 10 | "Nothing felt off yet." | | 11 | "Rory switched off her torch" | | 12 | "The Grove didn't need artificial" | | 13 | "A faint luminescence emanated from" | | 14 | "She moved deeper into the" | | 15 | "That's when she heard it." | | 16 | "A sound like branches being" | | 17 | "Wind didn't move with intention." | | 18 | "She stopped walking." | | 19 | "The sound stopped too." |
| | ratio | 0.837 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 92 | | matches | | 0 | "To her left and right" | | 1 | "Now she could see movement" |
| | ratio | 0.022 | |
| 35.04% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 53 | | technicalSentenceCount | 8 | | matches | | 0 | "The beam caught the ancient standing stones first—gnarled trunks twisted into shapes that resembled hunched shoulders, their bark weathered to near-black." | | 1 | "She'd felt it pulse this afternoon, that faint throb of heat that meant a Hel portal lurked somewhere nearby." | | 2 | "The pendant warmed slightly beneath her shirt, a reminder that something lay dormant here, something that shouldn't exist on Earth proper." | | 3 | "The pendant pulsed again—distinct now, unmistakable heat that made her fingers flex." | | 4 | "The sound had too many layers to it, as if multiple voices were speaking in perfect unison." | | 5 | "She'd encountered things in the Grove before, things that didn't operate under the same rules as the world outside." | | 6 | "The warmth that had been so comforting moments before evaporated, replaced by a cold that cut straight through her clothes and settled into her bones." | | 7 | "They pressed against the perimeter of the Grove, thick and intent, as if something on the other side of that oak-lined boundary was trying very hard to remain u…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 1 | | matches | | 0 | "she called out, her voice steady despite the way her pulse had quickened" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 1 | | fancyTags | | 0 | "she called out (call out)" |
| | dialogueSentences | 5 | | tagDensity | 0.6 | | leniency | 1 | | rawRatio | 0.333 | | effectiveRatio | 0.333 | |