| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 25 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 73 | | tagDensity | 0.342 | | leniency | 0.685 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 80.08% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1506 | | totalAiIsmAdverbs | 6 | | found | | 0 | | | 1 | | | 2 | | | 3 | | adverb | "deliberately" | | count | 1 |
|
| | highlights | | 0 | "very" | | 1 | "really" | | 2 | "slowly" | | 3 | "deliberately" |
| |
| 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) | |
| 53.52% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1506 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "methodical" | | 1 | "flickered" | | 2 | "fractured" | | 3 | "weight" | | 4 | "traced" | | 5 | "silence" | | 6 | "comfortable" | | 7 | "pulse" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 102 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 102 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 150 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 53 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1491 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 23 | | unquotedAttributions | 1 | | matches | | 0 | "For a long moment, Eva said nothing." |
| |
| 0.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 59 | | wordCount | 936 | | uniqueNames | 13 | | maxNameDensity | 2.56 | | worstName | "Rory" | | maxWindowNameDensity | 5.5 | | worstWindowName | "Rory" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Soho | 1 | | Yu-Fei | 1 | | Tuesday | 1 | | Silas | 5 | | Rory | 24 | | Eva | 20 | | Cardiff | 1 | | Central | 1 | | Water | 1 | | London | 1 | | Evan | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Yu-Fei" | | 3 | "Silas" | | 4 | "Rory" | | 5 | "Eva" | | 6 | "Central" | | 7 | "Evan" |
| | places | | 0 | "Soho" | | 1 | "Cardiff" | | 2 | "London" |
| | globalScore | 0.218 | | windowScore | 0 | |
| 66.67% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 60 | | glossingSentenceCount | 2 | | matches | | 0 | "quite a smile" | | 1 | "as if reciting someone else’s history" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1491 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 150 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 83 | | mean | 17.96 | | std | 16.43 | | cv | 0.915 | | sampleLengths | | 0 | 23 | | 1 | 58 | | 2 | 40 | | 3 | 10 | | 4 | 6 | | 5 | 3 | | 6 | 19 | | 7 | 25 | | 8 | 3 | | 9 | 14 | | 10 | 7 | | 11 | 2 | | 12 | 76 | | 13 | 6 | | 14 | 9 | | 15 | 1 | | 16 | 6 | | 17 | 14 | | 18 | 44 | | 19 | 13 | | 20 | 14 | | 21 | 28 | | 22 | 2 | | 23 | 4 | | 24 | 20 | | 25 | 28 | | 26 | 16 | | 27 | 8 | | 28 | 25 | | 29 | 40 | | 30 | 33 | | 31 | 16 | | 32 | 29 | | 33 | 11 | | 34 | 3 | | 35 | 18 | | 36 | 11 | | 37 | 2 | | 38 | 29 | | 39 | 19 | | 40 | 9 | | 41 | 4 | | 42 | 25 | | 43 | 4 | | 44 | 4 | | 45 | 35 | | 46 | 6 | | 47 | 5 | | 48 | 17 | | 49 | 32 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 102 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 167 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 150 | | ratio | 0.073 | | matches | | 0 | "The smell of old wood, spilled whiskey, and something faintly metallic greeted her—Silas’ domain, unchanged as ever." | | 1 | "“Tell her I said thank you.” Silas finally lifted his gaze, and something flickered behind his hazel eyes—a tightening at the corners." | | 2 | "She was thin—too thin—with a sharpness to her cheekbones that hadn’t been there before." | | 3 | "The name came out wrong—breathless, fractured." | | 4 | "Rory studied her friend’s face—the hollows beneath her cheekbones, the new angles, the way her collarbones jutted against the fabric of a faded denim jacket." | | 5 | "It was the kind of silence that carried weight—years of unmade phone calls, birthdays missed, a friendship allowed to atrophy through mutual neglect." | | 6 | "The regulars at the end of the bar erupted into laughter over something—a joke Rory hadn’t heard." | | 7 | "Rory thought about all the things she could say—the apologies, the excuses, the years of silence that had calcified between them." | | 8 | "Eva’s expression flickered—something raw and unguarded passing across her features before she shuttered it away." | | 9 | "She thought about Evan’s hands and the crescent scar on her wrist from a childhood accident that had nothing to do with him and everything to do with the kind of person she’d always been—the kind who climbed trees she wasn’t supposed to climb, who ran toward things she should’ve run from." | | 10 | "Then she laughed—that same dry, fractured sound from before, but this time something warmer crept in at the edges." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 634 | | adjectiveStacks | 1 | | stackExamples | | 0 | "same dry, fractured sound" |
| | adverbCount | 22 | | adverbRatio | 0.03470031545741325 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.006309148264984227 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 150 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 150 | | mean | 9.94 | | std | 8.75 | | cv | 0.88 | | sampleLengths | | 0 | 23 | | 1 | 15 | | 2 | 17 | | 3 | 15 | | 4 | 11 | | 5 | 5 | | 6 | 2 | | 7 | 33 | | 8 | 5 | | 9 | 5 | | 10 | 6 | | 11 | 3 | | 12 | 10 | | 13 | 9 | | 14 | 22 | | 15 | 3 | | 16 | 2 | | 17 | 1 | | 18 | 14 | | 19 | 7 | | 20 | 2 | | 21 | 22 | | 22 | 14 | | 23 | 18 | | 24 | 6 | | 25 | 16 | | 26 | 6 | | 27 | 9 | | 28 | 1 | | 29 | 6 | | 30 | 10 | | 31 | 4 | | 32 | 2 | | 33 | 30 | | 34 | 12 | | 35 | 7 | | 36 | 6 | | 37 | 8 | | 38 | 6 | | 39 | 10 | | 40 | 3 | | 41 | 6 | | 42 | 9 | | 43 | 2 | | 44 | 4 | | 45 | 4 | | 46 | 3 | | 47 | 13 | | 48 | 25 | | 49 | 3 |
| |
| 45.78% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.32666666666666666 | | totalSentences | 150 | | uniqueOpeners | 49 | |
| 83.33% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 80 | | matches | | 0 | "Then she withdrew her hand," | | 1 | "Then she laughed—that same dry," |
| | ratio | 0.025 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 20 | | totalSentences | 80 | | matches | | 0 | "She’d only meant to drop" | | 1 | "He didn’t look up" | | 2 | "She set the plastic bag" | | 3 | "She was thin—too thin—with a" | | 4 | "Her hair, once a wild" | | 5 | "It had been five years" | | 6 | "It was a dry, brittle" | | 7 | "She didn’t touch it." | | 8 | "She remembered the way Eva" | | 9 | "They were too flat for" | | 10 | "It was the kind of" | | 11 | "She took a sip, let" | | 12 | "She delivered the information without" | | 13 | "Her voice cracked, the first" | | 14 | "Her pulse beat against Rory’s" | | 15 | "She met Rory’s eyes" | | 16 | "She thought about the girl" | | 17 | "She thought about her flat" | | 18 | "She thought about Evan’s hands" | | 19 | "She didn’t sit back down." |
| | ratio | 0.25 | |
| 28.75% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 69 | | totalSentences | 80 | | matches | | 0 | "The green neon of The" | | 1 | "Rory shook the rain from" | | 2 | "The smell of old wood," | | 3 | "She’d only meant to drop" | | 4 | "A peace offering for some" | | 5 | "The bar was nearly empty." | | 6 | "He didn’t look up" | | 7 | "She set the plastic bag" | | 8 | "Silas finally lifted his gaze," | | 9 | "The stool at the bar’s" | | 10 | "The woman sitting there hadn’t" | | 11 | "She was thin—too thin—with a" | | 12 | "Her hair, once a wild" | | 13 | "A silver stud pierced her" | | 14 | "Those eyes were on her" | | 15 | "Recognition hit Rory like a" | | 16 | "The name came out wrong—breathless," | | 17 | "Eva’s lips curved into something" | | 18 | "It had been five years" | | 19 | "Rory slid onto the stool" |
| | ratio | 0.863 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 80 | | matches | (empty) | | ratio | 0 | |
| 93.60% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 29 | | technicalSentenceCount | 2 | | matches | | 0 | "Three regulars hunched over their pints at the far end, and Silas behind the counter, polishing a glass with the methodical precision of a man who’d spent decad…" | | 1 | "It was the kind of silence that carried weight—years of unmade phone calls, birthdays missed, a friendship allowed to atrophy through mutual neglect." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 25 | | uselessAdditionCount | 1 | | matches | | 0 | "She delivered, as if reciting someone else’s history" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 13 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 73 | | tagDensity | 0.178 | | leniency | 0.356 | | rawRatio | 0.077 | | effectiveRatio | 0.027 | |