| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 2 | | adverbTagCount | 1 | | adverbTags | | 0 | "Her voice sounded too [too]" |
| | dialogueSentences | 4 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.5 | | effectiveRatio | 0.5 | |
| 72.68% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 732 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "really" | | 1 | "sharply" | | 2 | "utterly" | | 3 | "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) | |
| 38.52% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 732 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "warmth" | | 1 | "pulse" | | 2 | "whisper" | | 3 | "throbbed" | | 4 | "trembled" | | 5 | "glistening" | | 6 | "searing" |
| |
| 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 | 59 | | matches | (empty) | |
| 70.22% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 59 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 62 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 33 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 4 | | markdownWords | 17 | | totalWords | 723 | | ratio | 0.024 | | matches | | 0 | "Meet me at the Grove. Midnight. Don’t tell anyone." | | 1 | "\"Little lost thing...\"" | | 2 | "watch" | | 3 | "\"You shouldn’t have come.\"" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 2 | | unquotedAttributions | 0 | | matches | (empty) | |
| 99.35% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 20 | | wordCount | 691 | | uniqueNames | 6 | | maxNameDensity | 1.01 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Heartstone | 4 | | Pendant | 3 | | Eva | 3 | | Grove | 2 | | Rory | 7 | | Fae | 1 |
| | persons | | 0 | "Heartstone" | | 1 | "Pendant" | | 2 | "Eva" | | 3 | "Rory" |
| | places | | | globalScore | 0.993 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 45 | | 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 | 723 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 62 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 18 | | mean | 40.17 | | std | 28.02 | | cv | 0.698 | | sampleLengths | | 0 | 65 | | 1 | 86 | | 2 | 70 | | 3 | 75 | | 4 | 8 | | 5 | 50 | | 6 | 26 | | 7 | 3 | | 8 | 51 | | 9 | 3 | | 10 | 57 | | 11 | 10 | | 12 | 57 | | 13 | 4 | | 14 | 68 | | 15 | 49 | | 16 | 39 | | 17 | 2 |
| |
| 99.32% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 59 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 115 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 62 | | ratio | 0.097 | | matches | | 0 | "She hadn’t wanted to come—not really—but the note had been insistent, scrawled in Eva’s hurried handwriting: *Meet me at the Grove." | | 1 | "The air hummed, not with the usual sounds of the park—no distant traffic, no rustling of foxes or owls—but with something else, something that prickled at the edges of her hearing." | | 2 | "Then she heard it—a rustle, too deliberate to be the wind." | | 3 | "And then, from the darkness beyond the trees, a voice—soft, melodic, and utterly inhuman." | | 4 | "For a moment, she saw them—the figures lurking at the edges of the clearing, their forms shifting between solid and smoke." | | 5 | "And then, from the darkness, a hand—pale, skeletal, its fingers too many—reached out and brushed her shoulder." |
| |
| 97.73% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 88 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 3 | | adverbRatio | 0.03409090909090909 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.022727272727272728 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 62 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 62 | | mean | 11.66 | | std | 7.5 | | cv | 0.643 | | sampleLengths | | 0 | 16 | | 1 | 24 | | 2 | 21 | | 3 | 1 | | 4 | 3 | | 5 | 28 | | 6 | 32 | | 7 | 26 | | 8 | 15 | | 9 | 12 | | 10 | 31 | | 11 | 3 | | 12 | 9 | | 13 | 10 | | 14 | 11 | | 15 | 2 | | 16 | 14 | | 17 | 21 | | 18 | 17 | | 19 | 8 | | 20 | 5 | | 21 | 1 | | 22 | 11 | | 23 | 14 | | 24 | 19 | | 25 | 11 | | 26 | 7 | | 27 | 8 | | 28 | 3 | | 29 | 5 | | 30 | 12 | | 31 | 8 | | 32 | 12 | | 33 | 14 | | 34 | 3 | | 35 | 10 | | 36 | 14 | | 37 | 10 | | 38 | 23 | | 39 | 3 | | 40 | 3 | | 41 | 4 | | 42 | 11 | | 43 | 16 | | 44 | 10 | | 45 | 20 | | 46 | 4 | | 47 | 8 | | 48 | 21 | | 49 | 19 |
| |
| 62.37% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.4032258064516129 | | totalSentences | 62 | | uniqueOpeners | 25 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 54 | | matches | | 0 | "Just the sway of branches," | | 1 | "Then she heard it—a rustle," |
| | ratio | 0.037 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 15 | | totalSentences | 54 | | matches | | 0 | "She hadn’t wanted to come—not" | | 1 | "Her voice sounded too loud," | | 2 | "She stepped forward, her fingers" | | 3 | "It was warm, as if" | | 4 | "She turned, her pulse quickening." | | 5 | "She swallowed, forcing herself to" | | 6 | "She froze, her fingers curling" | | 7 | "She backed away, her breath" | | 8 | "She fumbled for it, pulling" | | 9 | "She’d never been here." | | 10 | "She stumbled back, her boots" | | 11 | "They didn’t move toward her." | | 12 | "They just watched, their laughter" | | 13 | "She knew, with a cold," | | 14 | "It was a mouth, and" |
| | ratio | 0.278 | |
| 61.85% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 43 | | totalSentences | 54 | | matches | | 0 | "The night air was thick" | | 1 | "Rory adjusted the strap of" | | 2 | "She hadn’t wanted to come—not" | | 3 | "Eva had been acting strange" | | 4 | "Rory had dismissed it as" | | 5 | "The clearing opened before her," | | 6 | "Wildflowers glowed faintly in the" | | 7 | "The air hummed, not with" | | 8 | "A whisper, maybe." | | 9 | "Rory exhaled sharply, her breath" | | 10 | "Her voice sounded too loud," | | 11 | "She stepped forward, her fingers" | | 12 | "It was warm, as if" | | 13 | "The Heartstone Pendant throbbed against" | | 14 | "Something moved at the edge" | | 15 | "She turned, her pulse quickening." | | 16 | "She swallowed, forcing herself to" | | 17 | "She froze, her fingers curling" | | 18 | "A twig snapped." | | 19 | "Rory spun, her heart hammering." |
| | ratio | 0.796 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 54 | | matches | (empty) | | ratio | 0 | |
| 16.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 34 | | technicalSentenceCount | 6 | | matches | | 0 | "And now here she was, stepping past the ancient oaks that marked the boundary of the Fae Grove, her boots sinking into the soft, mossy ground." | | 1 | "The air hummed, not with the usual sounds of the park—no distant traffic, no rustling of foxes or owls—but with something else, something that prickled at the e…" | | 2 | "She swallowed, forcing herself to walk deeper into the grove, her boots making no sound on the soft earth." | | 3 | "The crimson light cast eerie shadows across the clearing, illuminating the wildflowers that now seemed to *watch* her, their petals twitching like eyes." | | 4 | "For a moment, she saw them—the figures lurking at the edges of the clearing, their forms shifting between solid and smoke." | | 5 | "Tall, too tall, their limbs too long, their faces stretched into grins that split their skulls like overripe fruit." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 2 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |