| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 12 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 90.49% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1051 | | totalAiIsmAdverbs | 2 | | found | | | highlights | | |
| 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) | |
| 42.91% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1051 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "pulsed" | | 1 | "throbbed" | | 2 | "echo" | | 3 | "pulse" | | 4 | "resolved" | | 5 | "perfect" | | 6 | "rhythmic" | | 7 | "racing" | | 8 | "warmth" | | 9 | "searing" | | 10 | "silence" |
| |
| 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 | 1 | | narrationSentences | 102 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 102 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 108 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 43 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 10 | | totalWords | 1051 | | ratio | 0.01 | | matches | | 0 | "Near a Hel portal." | | 1 | "It warms when there's a door." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 21 | | wordCount | 1008 | | uniqueNames | 11 | | maxNameDensity | 0.6 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Richmond" | | discoveredNames | | Eva | 3 | | Isolde | 1 | | Except | 1 | | Richmond | 2 | | Park | 1 | | Tube | 1 | | London | 1 | | January | 1 | | Hel | 1 | | Five | 3 | | Rory | 6 |
| | persons | | 0 | "Eva" | | 1 | "Isolde" | | 2 | "Tube" | | 3 | "January" | | 4 | "Rory" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" | | 3 | "Hel" | | 4 | "Five" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 52 | | 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 | 1051 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 108 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 47 | | mean | 22.36 | | std | 22.15 | | cv | 0.99 | | sampleLengths | | 0 | 5 | | 1 | 37 | | 2 | 7 | | 3 | 15 | | 4 | 59 | | 5 | 9 | | 6 | 4 | | 7 | 45 | | 8 | 5 | | 9 | 64 | | 10 | 5 | | 11 | 14 | | 12 | 1 | | 13 | 26 | | 14 | 6 | | 15 | 56 | | 16 | 4 | | 17 | 70 | | 18 | 7 | | 19 | 7 | | 20 | 42 | | 21 | 5 | | 22 | 5 | | 23 | 6 | | 24 | 5 | | 25 | 53 | | 26 | 21 | | 27 | 28 | | 28 | 23 | | 29 | 63 | | 30 | 3 | | 31 | 45 | | 32 | 12 | | 33 | 19 | | 34 | 4 | | 35 | 3 | | 36 | 91 | | 37 | 3 | | 38 | 31 | | 39 | 11 | | 40 | 9 | | 41 | 32 | | 42 | 42 | | 43 | 11 | | 44 | 26 | | 45 | 5 | | 46 | 7 |
| |
| 98.38% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 102 | | matches | | 0 | "been seven" | | 1 | "been seven" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 154 | | matches | (empty) | |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 0 | | semicolonCount | 1 | | flaggedSentences | 1 | | totalSentences | 108 | | ratio | 0.009 | | matches | | 0 | "Her father argued for a living; her mother marked essays with a red pen and a sigh." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1010 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 37 | | adverbRatio | 0.03663366336633663 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.006930693069306931 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 108 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 108 | | mean | 9.73 | | std | 9.66 | | cv | 0.993 | | sampleLengths | | 0 | 5 | | 1 | 11 | | 2 | 1 | | 3 | 23 | | 4 | 2 | | 5 | 3 | | 6 | 4 | | 7 | 15 | | 8 | 4 | | 9 | 30 | | 10 | 9 | | 11 | 16 | | 12 | 9 | | 13 | 4 | | 14 | 4 | | 15 | 2 | | 16 | 23 | | 17 | 9 | | 18 | 4 | | 19 | 3 | | 20 | 5 | | 21 | 4 | | 22 | 1 | | 23 | 17 | | 24 | 18 | | 25 | 24 | | 26 | 5 | | 27 | 2 | | 28 | 1 | | 29 | 11 | | 30 | 1 | | 31 | 7 | | 32 | 12 | | 33 | 1 | | 34 | 1 | | 35 | 1 | | 36 | 1 | | 37 | 3 | | 38 | 3 | | 39 | 3 | | 40 | 3 | | 41 | 19 | | 42 | 2 | | 43 | 32 | | 44 | 4 | | 45 | 4 | | 46 | 17 | | 47 | 6 | | 48 | 43 | | 49 | 7 |
| |
| 74.07% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.4722222222222222 | | totalSentences | 108 | | uniqueOpeners | 51 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 6 | | totalSentences | 80 | | matches | | 0 | "Then another cricket answered from" | | 1 | "Just at the edge of" | | 2 | "Then a second." | | 3 | "Then a dozen, a hundred," | | 4 | "Just the grove, the moon," | | 5 | "Even the pendant's frantic pulse" |
| | ratio | 0.075 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 24 | | totalSentences | 80 | | matches | | 0 | "She'd come for answers." | | 1 | "Her voice fell flat." | | 2 | "She'd noticed it before, the" | | 3 | "She stepped past the stones." | | 4 | "She crossed toward it because" | | 5 | "She waited, counting her own" | | 6 | "She kept moving." | | 7 | "She'd grown up sceptical." | | 8 | "Her father argued for a" | | 9 | "She blinked, and the shape" | | 10 | "She turned back toward the" | | 11 | "It hadn't been there a" | | 12 | "She was certain." | | 13 | "Her thumb found the crescent" | | 14 | "she said, louder now, forcing" | | 15 | "*It warms when there's a" | | 16 | "It was closer." | | 17 | "She could see it properly" | | 18 | "It wore the shape of" | | 19 | "Its skin held the wet" |
| | ratio | 0.3 | |
| 91.25% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 59 | | totalSentences | 80 | | matches | | 0 | "The standing stones were wrong." | | 1 | "Aurora counted them again, fingers" | | 2 | "There had been seven when" | | 3 | "She'd come for answers." | | 4 | "The pendant against her sternum" | | 5 | "Whatever pulsed inside that crimson" | | 6 | "The pendant throbbed once, slow," | | 7 | "Her voice fell flat." | | 8 | "Sound died at the tree" | | 9 | "She'd noticed it before, the" | | 10 | "Tonight it felt deliberate." | | 11 | "A held breath." | | 12 | "She stepped past the stones." | | 13 | "Moonlight pooled in the centre" | | 14 | "She crossed toward it because" | | 15 | "A twig snapped behind her." | | 16 | "Wildflowers nodded in a breeze" | | 17 | "The word vanished into that" | | 18 | "She waited, counting her own" | | 19 | "The flowers stilled." |
| | ratio | 0.738 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 80 | | matches | (empty) | | ratio | 0 | |
| 3.97% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 36 | | technicalSentenceCount | 7 | | matches | | 0 | "So here she was, ankle-deep in wildflowers that bloomed though London proper froze under January frost." | | 1 | "Sound died at the tree line as though the grove swallowed it whole, and that absence pressed on her ears like cotton wool." | | 2 | "Then another cricket answered from the far side of the clearing, the exact same note, the exact same rhythm, as if one creature had thrown its voice across fort…" | | 3 | "It had no face that she could find, only a smooth pale curve where features belonged, tilted toward her with the patient attention of a thing that had all the t…" | | 4 | "The silence that dropped was total, a pressure that popped in her ears." | | 5 | "And from the trees behind it, from the dark beyond the five stones that should have been seven, more pale shapes began, slow as dawn, to rise out of the long gr…" | | 6 | "And it spoke, in Eva's voice, in her own mother's voice, in the warm low murmur of every person who'd ever told her she was safe." |
| |
| 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 | 6 | | fancyCount | 3 | | fancyTags | | 0 | "she muttered (mutter)" | | 1 | "she whispered (whisper)" | | 2 | "she breathed (breathe)" |
| | dialogueSentences | 12 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.5 | | effectiveRatio | 0.5 | |