| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 8 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 16 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 89.21% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 927 | | 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) | |
| 24.49% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 927 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "loomed" | | 1 | "pulsed" | | 2 | "shimmered" | | 3 | "weight" | | 4 | "searing" | | 5 | "pulse" | | 6 | "silence" | | 7 | "vibrated" | | 8 | "trembled" | | 9 | "glistening" | | 10 | "fractured" | | 11 | "fluttered" |
| |
| 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 | 113 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 113 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 120 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 36 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 5 | | markdownWords | 16 | | totalWords | 916 | | ratio | 0.017 | | matches | | 0 | "Find the Heartstone. The gate opens at midnight. He’s coming through." | | 1 | "had to" | | 2 | "you" | | 3 | "Split" | | 4 | "moved" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 26 | | wordCount | 849 | | uniqueNames | 10 | | maxNameDensity | 1.18 | | worstName | "Rory" | | maxWindowNameDensity | 3 | | worstWindowName | "Evan" | | discoveredNames | | Richmond | 1 | | Park | 1 | | Rory | 10 | | Thames | 1 | | Heartstone | 3 | | Pendant | 1 | | Evan | 6 | | Eva | 1 | | Golden | 1 | | Empress | 1 |
| | persons | | 0 | "Rory" | | 1 | "Pendant" | | 2 | "Evan" | | 3 | "Eva" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Thames" |
| | globalScore | 0.911 | | windowScore | 0.667 | |
| 60.71% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 56 | | glossingSentenceCount | 2 | | matches | | 0 | "looked like maggots" | | 1 | "tasted like copper and rust" |
| |
| 90.83% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 1.092 | | wordCount | 916 | | matches | | 0 | "not with wind, but with something lifting" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 120 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 45 | | mean | 20.36 | | std | 19.18 | | cv | 0.942 | | sampleLengths | | 0 | 89 | | 1 | 2 | | 2 | 42 | | 3 | 8 | | 4 | 8 | | 5 | 49 | | 6 | 3 | | 7 | 28 | | 8 | 3 | | 9 | 32 | | 10 | 5 | | 11 | 50 | | 12 | 43 | | 13 | 7 | | 14 | 14 | | 15 | 5 | | 16 | 8 | | 17 | 37 | | 18 | 2 | | 19 | 6 | | 20 | 15 | | 21 | 11 | | 22 | 30 | | 23 | 19 | | 24 | 7 | | 25 | 52 | | 26 | 3 | | 27 | 41 | | 28 | 12 | | 29 | 28 | | 30 | 10 | | 31 | 15 | | 32 | 15 | | 33 | 54 | | 34 | 5 | | 35 | 26 | | 36 | 3 | | 37 | 42 | | 38 | 21 | | 39 | 13 | | 40 | 38 | | 41 | 3 | | 42 | 4 | | 43 | 6 | | 44 | 2 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 113 | | matches | | |
| 71.79% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 156 | | matches | | 0 | "weren’t bowing" | | 1 | "were reaching" | | 2 | "was breathing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 13 | | totalSentences | 120 | | ratio | 0.108 | | matches | | 0 | "No breeze stirred the oaks, no owls called from the dark—just the occasional rustle of something unseen skittering through dry leaves." | | 1 | "The air smelled sickly sweet—like fermented berries left too long in a jar." | | 2 | "It came from the trees on her right—fast, uneven." | | 3 | "The gem dangled, deep crimson heartbeat pulsing faster now, syncopated—like a second pulse in her throat." | | 4 | "Five oaks arced inward, their trunks forming a rough circle with a flat slab of slate in the middle—an altar?" | | 5 | "It came from everywhere at once—not localized." | | 6 | "Behind her, the undergrowth trembled—not with wind, but with something lifting." | | 7 | "Its face—when it finally turned to face her—was a shifting mask of bark and bone, two hollows where eyes should be, mouth a jagged slit filled with pale, glistening things that looked like maggots." | | 8 | "This thing wore Evan’s shape like a borrowed coat—stretched too tight across the wrong shoulders." | | 9 | "The mouth split wider, not in joy—something biological giving way." | | 10 | "The sleeve of Evan’s old denim jacket fluttered—Evan who’d pried her front door off its hinges, Evan who’d laughed when she sobbed that night in the alley behind the Golden Empress." | | 11 | "*Split*—like a fruit overripe." | | 12 | "Something pushed upward—something long, pale, segmented." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 866 | | adjectiveStacks | 1 | | stackExamples | | 0 | "blue under fluorescent lighting." |
| | adverbCount | 31 | | adverbRatio | 0.03579676674364896 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.009237875288683603 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 120 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 120 | | mean | 7.63 | | std | 5.97 | | cv | 0.781 | | sampleLengths | | 0 | 20 | | 1 | 21 | | 2 | 23 | | 3 | 15 | | 4 | 10 | | 5 | 2 | | 6 | 13 | | 7 | 15 | | 8 | 14 | | 9 | 8 | | 10 | 4 | | 11 | 4 | | 12 | 9 | | 13 | 23 | | 14 | 13 | | 15 | 4 | | 16 | 3 | | 17 | 9 | | 18 | 9 | | 19 | 3 | | 20 | 3 | | 21 | 4 | | 22 | 3 | | 23 | 8 | | 24 | 8 | | 25 | 16 | | 26 | 3 | | 27 | 2 | | 28 | 3 | | 29 | 9 | | 30 | 19 | | 31 | 5 | | 32 | 5 | | 33 | 9 | | 34 | 8 | | 35 | 20 | | 36 | 15 | | 37 | 7 | | 38 | 3 | | 39 | 4 | | 40 | 7 | | 41 | 3 | | 42 | 2 | | 43 | 8 | | 44 | 3 | | 45 | 13 | | 46 | 7 | | 47 | 3 | | 48 | 3 | | 49 | 8 |
| |
| 46.67% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.325 | | totalSentences | 120 | | uniqueOpeners | 39 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 6 | | totalSentences | 93 | | matches | | 0 | "Only the stones cast any" | | 1 | "Then a sound." | | 2 | "Just a smudge of berry-colored" | | 3 | "Then the leaves behind her" | | 4 | "Everywhere inside her, as if" | | 5 | "Then a slow laugh, a" |
| | ratio | 0.065 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 26 | | totalSentences | 93 | | matches | | 0 | "She stopped at the grove’s" | | 1 | "It pulsed once, a slow," | | 2 | "She exhaled through her nose," | | 3 | "She wrinkled her nose." | | 4 | "It came from the trees" | | 5 | "She flinched, clawing the chain" | | 6 | "She didn’t stop." | | 7 | "She remembered the letter left" | | 8 | "He’s coming through.* No signature." | | 9 | "She reached the center of" | | 10 | "Her shadow stretched unnaturally long," | | 11 | "It wasn’t human." | | 12 | "It came from everywhere at" | | 13 | "They were reaching." | | 14 | "She clutched it, searing her" | | 15 | "Its form rippled at the" | | 16 | "Its face—when it finally turned" | | 17 | "It wasn’t Evan." | | 18 | "She’d stared down barristers in" | | 19 | "She knew how to face" |
| | ratio | 0.28 | |
| 83.66% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 70 | | totalSentences | 93 | | matches | | 0 | "The air in Richmond Park" | | 1 | "The standing stones loomed ahead," | | 2 | "She stopped at the grove’s" | | 3 | "It pulsed once, a slow," | | 4 | "She exhaled through her nose," | | 5 | "The last of the twilight" | | 6 | "The words sounded hollow." | | 7 | "The grove didn’t care." | | 8 | "Rory stepped forward, boots crunching" | | 9 | "The air smelled sickly sweet—like" | | 10 | "She wrinkled her nose." | | 11 | "A wet, clicking noise, like" | | 12 | "It came from the trees" | | 13 | "Something that dragged itself." | | 14 | "Rory kept walking." | | 15 | "The pendant flared sudden, searing" | | 16 | "She flinched, clawing the chain" | | 17 | "The gem dangled, deep crimson" | | 18 | "She didn’t stop." | | 19 | "The grove had called her" |
| | ratio | 0.753 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 93 | | matches | (empty) | | ratio | 0 | |
| 31.25% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 32 | | technicalSentenceCount | 5 | | matches | | 0 | "The standing stones loomed ahead, their oak bark blackened as if scorched by some old fire, though Rory knew they’d been seasoned green." | | 1 | "Ahead, a ring of wildflowers blushed white even in near-darkness, their petals dusted with silver pollen that shimmered when she shifted her weight." | | 2 | "Her shadow stretched unnaturally long, stretching toward the stones as if pulled by invisible strings." | | 3 | "Its face—when it finally turned to face her—was a shifting mask of bark and bone, two hollows where eyes should be, mouth a jagged slit filled with pale, gliste…" | | 4 | "The sleeve of Evan’s old denim jacket fluttered—Evan who’d pried her front door off its hinges, Evan who’d laughed when she sobbed that night in the alley behin…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 8 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 4 | | fancyTags | | 0 | "she muttered (mutter)" | | 1 | "she breathed (breathe)" | | 2 | "it whispered (whisper)" | | 3 | "the thing hissed (hiss)" |
| | dialogueSentences | 16 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.5 | | effectiveRatio | 0.5 | |