| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 10 | | adverbTagCount | 1 | | adverbTags | | 0 | "She gestured vaguely [vaguely]" |
| | dialogueSentences | 59 | | tagDensity | 0.169 | | leniency | 0.339 | | rawRatio | 0.1 | | effectiveRatio | 0.034 | |
| 96.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1249 | | totalAiIsmAdverbs | 1 | | found | | | highlights | | |
| 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) | |
| 51.96% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1249 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "flickered" | | 1 | "chill" | | 2 | "scanned" | | 3 | "methodical" | | 4 | "weight" | | 5 | "flicker" | | 6 | "unreadable" | | 7 | "flicked" | | 8 | "familiar" | | 9 | "traced" |
| |
| 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 | 82 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 82 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 130 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 46 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 10 | | markdownWords | 33 | | totalWords | 1236 | | ratio | 0.027 | | matches | | 0 | "The Raven’s Nest" | | 1 | "good" | | 2 | "“Oh, for God’s sake, this place hasn’t changed at all.”" | | 3 | "just come home" | | 4 | "“Here you go.”" | | 5 | "tried" | | 6 | "so" | | 7 | "did" | | 8 | "Golden Empress" | | 9 | "You can’t just leave like this. Not again." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 0.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 63 | | wordCount | 905 | | uniqueNames | 7 | | maxNameDensity | 2.98 | | worstName | "Rory" | | maxWindowNameDensity | 5.5 | | worstWindowName | "Eva" | | discoveredNames | | Rory | 27 | | Raven | 1 | | Silas | 6 | | Japanese | 1 | | Eva | 25 | | Like | 2 | | Cardiff | 1 |
| | persons | | 0 | "Rory" | | 1 | "Raven" | | 2 | "Silas" | | 3 | "Eva" | | 4 | "Like" |
| | places | | | globalScore | 0.008 | | windowScore | 0 | |
| 59.09% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 55 | | glossingSentenceCount | 2 | | matches | | 0 | "quite as straight as they used to be" | | 1 | "as if mocking them both" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1236 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 130 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 67 | | mean | 18.45 | | std | 17.3 | | cv | 0.938 | | sampleLengths | | 0 | 102 | | 1 | 19 | | 2 | 10 | | 3 | 6 | | 4 | 31 | | 5 | 33 | | 6 | 17 | | 7 | 9 | | 8 | 5 | | 9 | 12 | | 10 | 37 | | 11 | 10 | | 12 | 24 | | 13 | 6 | | 14 | 41 | | 15 | 1 | | 16 | 70 | | 17 | 35 | | 18 | 9 | | 19 | 33 | | 20 | 3 | | 21 | 11 | | 22 | 5 | | 23 | 11 | | 24 | 13 | | 25 | 24 | | 26 | 14 | | 27 | 18 | | 28 | 12 | | 29 | 3 | | 30 | 28 | | 31 | 5 | | 32 | 32 | | 33 | 3 | | 34 | 36 | | 35 | 9 | | 36 | 12 | | 37 | 12 | | 38 | 19 | | 39 | 26 | | 40 | 32 | | 41 | 23 | | 42 | 5 | | 43 | 4 | | 44 | 4 | | 45 | 14 | | 46 | 17 | | 47 | 28 | | 48 | 2 | | 49 | 11 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 82 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 162 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 130 | | ratio | 0.069 | | matches | | 0 | "Inside, the air smelled of aged whiskey and something sharper—polish, maybe, or the faint metallic tang of old secrets." | | 1 | "Rory didn’t turn—until the voice cut through the hum of the bar like a blade." | | 2 | "Not the Eva from Rory’s memories—the one with scraped knees and a gap-toothed grin, the one who’d climbed trees and sworn like a sailor and promised they’d never be stuck in this bloody city." | | 3 | "Eva slid onto the stool beside her, close enough that Rory caught the scent of her perfume—something floral, expensive." | | 4 | "Rory had just been along for the ride—until she wasn’t." | | 5 | "“Thanks.” Eva’s gaze flicked to Rory’s hands—the chipped nail polish, the scar on her wrist, the way her fingers tightened around the glass." | | 6 | "For a second, something raw flashed in Eva’s eyes—something that looked suspiciously like hurt." | | 7 | "Eva met her gaze, and for the first time, Rory saw the cracks—the exhaustion in the lines around her eyes, the way her shoulders weren’t quite as straight as they used to be." | | 8 | "But all she could think about was the last time they’d seen each other—Eva standing in the doorway of Rory’s flat in Cardiff, her face pale, her voice trembling as she said, *You can’t just leave like this." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 416 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 12 | | adverbRatio | 0.028846153846153848 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.002403846153846154 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 130 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 130 | | mean | 9.51 | | std | 8.08 | | cv | 0.85 | | sampleLengths | | 0 | 26 | | 1 | 19 | | 2 | 11 | | 3 | 46 | | 4 | 11 | | 5 | 8 | | 6 | 4 | | 7 | 6 | | 8 | 6 | | 9 | 8 | | 10 | 21 | | 11 | 2 | | 12 | 20 | | 13 | 13 | | 14 | 12 | | 15 | 5 | | 16 | 9 | | 17 | 5 | | 18 | 8 | | 19 | 4 | | 20 | 22 | | 21 | 15 | | 22 | 10 | | 23 | 6 | | 24 | 18 | | 25 | 3 | | 26 | 3 | | 27 | 3 | | 28 | 4 | | 29 | 34 | | 30 | 1 | | 31 | 34 | | 32 | 29 | | 33 | 7 | | 34 | 13 | | 35 | 5 | | 36 | 17 | | 37 | 7 | | 38 | 2 | | 39 | 19 | | 40 | 4 | | 41 | 9 | | 42 | 1 | | 43 | 3 | | 44 | 5 | | 45 | 6 | | 46 | 4 | | 47 | 1 | | 48 | 6 | | 49 | 5 |
| |
| 72.31% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.43846153846153846 | | totalSentences | 130 | | uniqueOpeners | 57 | |
| 88.89% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 75 | | matches | | 0 | "Of course she was." | | 1 | "Then he reached for the" |
| | ratio | 0.027 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 14 | | totalSentences | 75 | | matches | | 0 | "She shook the rain from" | | 1 | "She slid onto a stool," | | 2 | "He reached beneath the counter" | | 3 | "She rolled her shoulders, the" | | 4 | "She took a sip, let" | | 5 | "She caught it before it" | | 6 | "She didn’t need to." | | 7 | "He nodded and moved down" | | 8 | "She gestured vaguely" | | 9 | "He didn’t linger, but Rory" | | 10 | "Her fingers traced the rim" | | 11 | "She trailed off, shook her" | | 12 | "She reached for her whisky." | | 13 | "He nodded, like that explained" |
| | ratio | 0.187 | |
| 46.67% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 62 | | totalSentences | 75 | | matches | | 0 | "The green neon raven flickered" | | 1 | "She shook the rain from" | | 2 | "She slid onto a stool," | | 3 | "Silas didn’t look up." | | 4 | "A ghost of a smile" | | 5 | "He reached beneath the counter" | | 6 | "She rolled her shoulders, the" | | 7 | "Silas poured two fingers into" | | 8 | "She took a sip, let" | | 9 | "Rory didn’t turn—until the voice" | | 10 | "The glass slipped in Rory’s" | | 11 | "She caught it before it" | | 12 | "Rory didn’t answer." | | 13 | "She didn’t need to." | | 14 | "The woman had already spotted" | | 15 | "This Eva wore a tailored" | | 16 | "A gold watch glinted at" | | 17 | "Eva said, like it was" | | 18 | "Rory wiped her palm on" | | 19 | "Eva slid onto the stool" |
| | ratio | 0.827 | |
| 66.67% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 75 | | matches | | 0 | "Before he could retort, the" |
| | ratio | 0.013 | |
| 34.63% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 33 | | technicalSentenceCount | 5 | | matches | | 0 | "The green neon raven flickered like a dying thought as Rory pushed through the door of *The Raven’s Nest*, the evening’s chill clinging to her coat." | | 1 | "Most of the usuals were there: a pair of students hunched over textbooks in the corner, a man in a rumpled suit nursing a gin, and Silas behind the bar, wiping …" | | 2 | "The woman had already spotted her, her stride faltering for half a second before she recovered, smoothing her coat with the easy confidence of someone who’d spe…" | | 3 | "For a second, something raw flashed in Eva’s eyes—something that looked suspiciously like hurt." | | 4 | "The door swung shut behind Eva, the neon raven flickering again, as if mocking them both." |
| |
| 75.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 10 | | uselessAdditionCount | 1 | | matches | | 0 | "Eva’s fingers tapped, restless" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 59 | | tagDensity | 0.034 | | leniency | 0.068 | | rawRatio | 0 | | effectiveRatio | 0 | |