| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 10 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 13 | | tagDensity | 0.769 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 92.65% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1361 | | 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) | |
| 33.87% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1361 | | totalAiIsms | 18 | | found | | | highlights | | 0 | "silence" | | 1 | "gloom" | | 2 | "velvet" | | 3 | "quivered" | | 4 | "pulse" | | 5 | "flickered" | | 6 | "rhythmic" | | 7 | "pulsed" | | 8 | "warmth" | | 9 | "glistening" | | 10 | "grave" | | 11 | "porcelain" | | 12 | "echoed" |
| |
| 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 | 222 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 222 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 226 | | 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 | 1 | | markdownWords | 1 | | totalWords | 1347 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 42 | | wordCount | 1310 | | uniqueNames | 6 | | maxNameDensity | 1.6 | | worstName | "Rory" | | maxWindowNameDensity | 3 | | worstWindowName | "Eva" | | discoveredNames | | Eva | 17 | | Rory | 21 | | October | 1 | | Richmond | 1 | | Park | 1 | | Heartstone | 1 |
| | persons | | | places | | 0 | "October" | | 1 | "Richmond" | | 2 | "Park" |
| | globalScore | 0.698 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 94 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 51.52% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.485 | | wordCount | 1347 | | matches | | 0 | "Not the weak white of her lamp, but crimson, deep as fresh blood, pulsing in time with the penda" | | 1 | "not from one mouth, but from them all" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 226 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 81 | | mean | 16.63 | | std | 18.2 | | cv | 1.094 | | sampleLengths | | 0 | 90 | | 1 | 87 | | 2 | 14 | | 3 | 82 | | 4 | 36 | | 5 | 7 | | 6 | 2 | | 7 | 24 | | 8 | 13 | | 9 | 6 | | 10 | 23 | | 11 | 24 | | 12 | 18 | | 13 | 3 | | 14 | 34 | | 15 | 6 | | 16 | 6 | | 17 | 58 | | 18 | 16 | | 19 | 15 | | 20 | 19 | | 21 | 11 | | 22 | 32 | | 23 | 3 | | 24 | 33 | | 25 | 5 | | 26 | 52 | | 27 | 10 | | 28 | 31 | | 29 | 23 | | 30 | 4 | | 31 | 1 | | 32 | 22 | | 33 | 1 | | 34 | 2 | | 35 | 22 | | 36 | 34 | | 37 | 1 | | 38 | 33 | | 39 | 23 | | 40 | 13 | | 41 | 4 | | 42 | 4 | | 43 | 2 | | 44 | 22 | | 45 | 4 | | 46 | 12 | | 47 | 3 | | 48 | 10 | | 49 | 12 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 222 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 242 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 17 | | semicolonCount | 0 | | flaggedSentences | 16 | | totalSentences | 226 | | ratio | 0.071 | | matches | | 0 | "She hadn’t been down this stretch in years—last autumn, maybe, when she’d tried to find Eva after that text message about ‘root things.’ Eva had sent three more after that one." | | 1 | "She didn’t remember buying anything like it—ever." | | 2 | "A high, thin note sounded—like a child’s scream cut short." | | 3 | "Another sound came—a child’s giggle, soft and wet, from the trees straight ahead." | | 4 | "She could still see the trees though—pale, smooth columns rising from nothing." | | 5 | "A low, rhythmic sound pulsed through the ground—like a heartbeat beneath soil." | | 6 | "The Heartstone was warm now—almost hot." | | 7 | "Something dark and glistening protruded from its throat—a root, thick as her wrist, knotted with thorns." | | 8 | "The mist screamed—high, wordless—and the figure recoiled, limbs folding like broken branches." | | 9 | "But then she heard it—a child’s sob, muffled, from somewhere deeper in the wood." | | 10 | "Then she saw it—a ring of standing stones, pale gray, slick with moisture." | | 11 | "The laughter came again—from everywhere." | | 12 | "From the trees, shapes emerged—small, pale, their limbs too long, their faces blank." | | 13 | "With a memory that wasn’t hers—" | | 14 | "The truth rushed into her like cold water—Eva had always known this place existed." | | 15 | "Eva’s laughter echoed through the grove—not from one mouth, but from them all." |
| |
| 94.44% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 75 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 3 | | adverbRatio | 0.04 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.02666666666666667 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 226 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 226 | | mean | 5.96 | | std | 4.64 | | cv | 0.778 | | sampleLengths | | 0 | 6 | | 1 | 24 | | 2 | 17 | | 3 | 31 | | 4 | 5 | | 5 | 7 | | 6 | 6 | | 7 | 14 | | 8 | 12 | | 9 | 15 | | 10 | 12 | | 11 | 10 | | 12 | 18 | | 13 | 4 | | 14 | 4 | | 15 | 2 | | 16 | 4 | | 17 | 6 | | 18 | 7 | | 19 | 12 | | 20 | 8 | | 21 | 10 | | 22 | 7 | | 23 | 24 | | 24 | 5 | | 25 | 3 | | 26 | 10 | | 27 | 3 | | 28 | 6 | | 29 | 2 | | 30 | 2 | | 31 | 4 | | 32 | 9 | | 33 | 5 | | 34 | 2 | | 35 | 2 | | 36 | 2 | | 37 | 4 | | 38 | 4 | | 39 | 4 | | 40 | 4 | | 41 | 6 | | 42 | 13 | | 43 | 6 | | 44 | 5 | | 45 | 6 | | 46 | 12 | | 47 | 8 | | 48 | 1 | | 49 | 2 |
| |
| 38.50% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 26 | | diversityRatio | 0.29646017699115046 | | totalSentences | 226 | | uniqueOpeners | 67 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 6 | | totalSentences | 172 | | matches | | 0 | "Only the sound of her" | | 1 | "Too tall for a child." | | 2 | "Just black, wet, pulsing like" | | 3 | "Then she saw it—a ring" | | 4 | "Then the ground beneath her" | | 5 | "Only now he wasn’t a" |
| | ratio | 0.035 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 48 | | totalSentences | 172 | | matches | | 0 | "She hadn’t been down this" | | 1 | "It groaned against damp hinges," | | 2 | "Her headlamp beam sliced through" | | 3 | "She lifted the lamp higher," | | 4 | "Their trunks were too pale," | | 5 | "She shook her head." | | 6 | "Her boot caught on something" | | 7 | "She stumbled, caught herself on" | | 8 | "She knelt, wiped the dirt" | | 9 | "She didn’t remember buying anything" | | 10 | "She reached for her phone." | | 11 | "Her pulse hammered in her" | | 12 | "She clicked the lamp off." | | 13 | "She could still see the" | | 14 | "She thumbed the switch." | | 15 | "She swung the beam toward" | | 16 | "Its hair hung in long," | | 17 | "Its eyes were black." | | 18 | "It opened its mouth." | | 19 | "They came from inside her" |
| | ratio | 0.279 | |
| 82.09% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 130 | | totalSentences | 172 | | matches | | 0 | "The engine’s cough turned to" | | 1 | "Rory killed the headlights without" | | 2 | "The lane had narrowed to" | | 3 | "She hadn’t been down this" | | 4 | "Each shorter than the last." | | 5 | "The last just a single" | | 6 | "Rory exhaled, pushing the door" | | 7 | "It groaned against damp hinges," | | 8 | "The scent of rain-soaked earth" | | 9 | "A thick mist clung to" | | 10 | "Her headlamp beam sliced through" | | 11 | "She lifted the lamp higher," | | 12 | "Their trunks were too pale," | | 13 | "She shook her head." | | 14 | "Her boot caught on something" | | 15 | "She stumbled, caught herself on" | | 16 | "She knelt, wiped the dirt" | | 17 | "She didn’t remember buying anything" | | 18 | "Eva had whispered" | | 19 | "A high, thin note sounded—like" |
| | ratio | 0.756 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 172 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 37 | | technicalSentenceCount | 1 | | matches | | 0 | "Its hair hung in long, black strands, straight and unmoving, though Rory felt a breeze that didn’t touch her skin." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 10 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 2 | | fancyTags | | 0 | "the voice whispered (whisper)" | | 1 | "Eva whispered (whisper)" |
| | dialogueSentences | 13 | | tagDensity | 0.462 | | leniency | 0.923 | | rawRatio | 0.333 | | effectiveRatio | 0.308 | |