| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 4 | | adverbTags | | 0 | "he responded softly [softly]" | | 1 | "she said quietly [quietly]" | | 2 | "She flinched inwardly [inwardly]" | | 3 | "Her voice cracked slightly [slightly]" |
| | dialogueSentences | 34 | | tagDensity | 0.176 | | leniency | 0.353 | | rawRatio | 0.667 | | effectiveRatio | 0.235 | |
| 65.75% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1314 | | totalAiIsmAdverbs | 9 | | found | | | highlights | | 0 | "slightly" | | 1 | "softly" | | 2 | "lightly" | | 3 | "slowly" | | 4 | "really" |
| |
| 100.00% | AI-ism character names | Target: 0 AI-default names (16 tracked, −20% each) | | codexExemptions | | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 8.68% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1314 | | totalAiIsms | 24 | | found | | | highlights | | 0 | "weight" | | 1 | "flicked" | | 2 | "stomach" | | 3 | "jaw clenched" | | 4 | "flicker" | | 5 | "familiar" | | 6 | "fleeting" | | 7 | "pulse" | | 8 | "unspoken" | | 9 | "flickered" | | 10 | "silence" | | 11 | "tension" | | 12 | "unreadable" | | 13 | "pulsed" | | 14 | "unwavering" | | 15 | "echo" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "jaw/fists clenched" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 60 | | matches | | |
| 95.24% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 60 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 88 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 42 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1293 | | ratio | 0 | | matches | (empty) | |
| 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 | 5 | | wordCount | 815 | | uniqueNames | 4 | | maxNameDensity | 0.25 | | worstName | "Silas" | | maxWindowNameDensity | 1 | | worstWindowName | "Silas" | | discoveredNames | | Aurora | 1 | | Carter | 1 | | Silas | 2 | | London | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Carter" | | 2 | "Silas" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 60.71% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 56 | | glossingSentenceCount | 2 | | matches | | 0 | "as if warning her against what she was about to do" | | 1 | "seemed shrouded now, shadowed by lines and lost time" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1293 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 88 | | matches | | |
| 92.50% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 39 | | mean | 33.15 | | std | 15.71 | | cv | 0.474 | | sampleLengths | | 0 | 73 | | 1 | 63 | | 2 | 65 | | 3 | 16 | | 4 | 53 | | 5 | 20 | | 6 | 61 | | 7 | 12 | | 8 | 34 | | 9 | 8 | | 10 | 34 | | 11 | 54 | | 12 | 38 | | 13 | 23 | | 14 | 27 | | 15 | 31 | | 16 | 27 | | 17 | 26 | | 18 | 35 | | 19 | 30 | | 20 | 14 | | 21 | 29 | | 22 | 29 | | 23 | 24 | | 24 | 49 | | 25 | 18 | | 26 | 15 | | 27 | 15 | | 28 | 36 | | 29 | 21 | | 30 | 29 | | 31 | 27 | | 32 | 45 | | 33 | 36 | | 34 | 29 | | 35 | 32 | | 36 | 36 | | 37 | 22 | | 38 | 57 |
| |
| 99.42% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 60 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 158 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 15 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 88 | | ratio | 0.114 | | matches | | 0 | "His back was turned, hunched over the scarred oak bar that smelled of stale beer and old secrets, yet she recognised the stance—the way he shifted slightly, balancing the weight of years in his shoulders." | | 1 | "She let her gaze drift, watching the figure’s profile—lips pressed tight, jaw clenched—and tried to decipher what she saw." | | 2 | "His auburn hair had streaks of grey that caught the dim bar light, and his face—more hollow than she remembered—held a kind of weariness that hadn’t been there the last time they’d met." | | 3 | "That old, quiet authority—faint now—still clung to him, but it was threaded with cracks she’d never seen before." | | 4 | "The bar looked different—more shadowed, more quiet—yet somehow familiar." | | 5 | "“I’ve had my share of changes, too.” Her eyes flicked to the scar on her wrist, a crescent moon carved into her skin—a childhood accident that had become an unspoken marker of who she was." | | 6 | "His movements slowed as memories flickered between them, unspoken yet pointed—the past pressing into the present like a ghost." | | 7 | "A long silence stretched between them, thick with things left unsaid—regret, guilt, nostalgia." | | 8 | "Outside, the London night pulsed with life—loud, relentless—and inside, the weight of years pressed down on two old friends meeting again after a long, silent gap." | | 9 | "Her heart gave a jolt—warning or curiosity, she couldn’t tell." |
| |
| 80.76% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 855 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 53 | | adverbRatio | 0.06198830409356725 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.0152046783625731 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 88 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 88 | | mean | 14.69 | | std | 7.97 | | cv | 0.542 | | sampleLengths | | 0 | 16 | | 1 | 35 | | 2 | 22 | | 3 | 8 | | 4 | 17 | | 5 | 19 | | 6 | 19 | | 7 | 5 | | 8 | 20 | | 9 | 33 | | 10 | 7 | | 11 | 16 | | 12 | 8 | | 13 | 10 | | 14 | 18 | | 15 | 13 | | 16 | 4 | | 17 | 16 | | 18 | 4 | | 19 | 23 | | 20 | 9 | | 21 | 29 | | 22 | 10 | | 23 | 2 | | 24 | 19 | | 25 | 15 | | 26 | 8 | | 27 | 12 | | 28 | 18 | | 29 | 4 | | 30 | 6 | | 31 | 35 | | 32 | 13 | | 33 | 19 | | 34 | 19 | | 35 | 13 | | 36 | 10 | | 37 | 4 | | 38 | 23 | | 39 | 12 | | 40 | 19 | | 41 | 7 | | 42 | 20 | | 43 | 3 | | 44 | 23 | | 45 | 12 | | 46 | 23 | | 47 | 17 | | 48 | 13 | | 49 | 10 |
| |
| 51.89% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.3181818181818182 | | totalSentences | 88 | | uniqueOpeners | 28 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 60 | | matches | | 0 | "Instead, her eyes flicked to" | | 1 | "Bright blue irises stared back," |
| | ratio | 0.033 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 42 | | totalSentences | 60 | | matches | | 0 | "His back was turned, hunched" | | 1 | "Her heart knocked inside her" | | 2 | "She didn’t hesitate, nor did" | | 3 | "She let her gaze drift," | | 4 | "He turned, almost on cue." | | 5 | "His auburn hair had streaks" | | 6 | "she whispered, the name trembling" | | 7 | "He blinked, eyes narrowing briefly" | | 8 | "His gait was slower, the" | | 9 | "he responded softly, a flicker" | | 10 | "She took a steadying breath" | | 11 | "His gaze flicked around the" | | 12 | "He hesitated, then gestured to" | | 13 | "She hesitated only a fraction" | | 14 | "Her pulse was a drumbeat" | | 15 | "He exhaled, eyes dropping to" | | 16 | "His voice was gravelly, reluctant," | | 17 | "She laughed, bitter as wet" | | 18 | "Her eyes flicked to the" | | 19 | "His movements slowed as memories" |
| | ratio | 0.7 | |
| 1.67% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 55 | | totalSentences | 60 | | matches | | 0 | "The moment she saw him," | | 1 | "His back was turned, hunched" | | 2 | "Her heart knocked inside her" | | 3 | "She didn’t hesitate, nor did" | | 4 | "She let her gaze drift," | | 5 | "He turned, almost on cue." | | 6 | "The hazel eyes she used" | | 7 | "His auburn hair had streaks" | | 8 | "The smile he offered was" | | 9 | "she whispered, the name trembling" | | 10 | "He blinked, eyes narrowing briefly" | | 11 | "His gait was slower, the" | | 12 | "That old, quiet authority—faint now—still" | | 13 | "he responded softly, a flicker" | | 14 | "She took a steadying breath" | | 15 | "His gaze flicked around the" | | 16 | "The bar looked different—more shadowed," | | 17 | "That faint scent of leather" | | 18 | "He hesitated, then gestured to" | | 19 | "She hesitated only a fraction" |
| | ratio | 0.917 | |
| 83.33% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 60 | | matches | | 0 | "Before she could answer, the" |
| | ratio | 0.017 | |
| 7.72% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 37 | | technicalSentenceCount | 7 | | matches | | 0 | "His back was turned, hunched over the scarred oak bar that smelled of stale beer and old secrets, yet she recognised the stance—the way he shifted slightly, bal…" | | 1 | "Her heart knocked inside her chest with a sudden, relentless thud, as if warning her against what she was about to do." | | 2 | "His auburn hair had streaks of grey that caught the dim bar light, and his face—more hollow than she remembered—held a kind of weariness that hadn’t been there …" | | 3 | "She hesitated only a fraction before sitting down, her fingers scraping across the glass as she set it down." | | 4 | "He exhaled, eyes dropping to his glass, swirling the dark liquid inside." | | 5 | "He reached across the bar, a slow, deliberate motion that halted just short of touching her hand." | | 6 | "She smirked, lifting her glass as if to toast the ghosts." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 6 | | uselessAdditionCount | 2 | | matches | | 0 | "he responded softly, a flicker of surprise flickering across the hazel eyes" | | 1 | "she said quietly, her tone more cautious" |
| |
| 91.18% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 2 | | fancyTags | | 0 | "she whispered (whisper)" | | 1 | "he responded softly (respond)" |
| | dialogueSentences | 34 | | tagDensity | 0.088 | | leniency | 0.176 | | rawRatio | 0.667 | | effectiveRatio | 0.118 | |