| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 28 | | adverbTagCount | 7 | | adverbTags | | 0 | "Niamh turned back [back]" | | 1 | "Aurora said quietly [quietly]" | | 2 | "Aurora tried instead [instead]" | | 3 | "Niamh's fingers curled around [around]" | | 4 | "Niamh said quietly [quietly]" | | 5 | "Niamh turned back [back]" | | 6 | "she said finally [finally]" |
| | dialogueSentences | 66 | | tagDensity | 0.424 | | leniency | 0.848 | | rawRatio | 0.25 | | effectiveRatio | 0.212 | |
| 87.56% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1608 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "suddenly" | | 1 | "slowly" | | 2 | "completely" | | 3 | "very" |
| |
| 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) | |
| 72.01% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1608 | | totalAiIsms | 9 | | found | | 0 | | | 1 | | | 2 | | | 3 | | word | "practiced ease" | | count | 1 |
| | 4 | | | 5 | | | 6 | | | 7 | |
| | highlights | | 0 | "familiar" | | 1 | "flicked" | | 2 | "flickered" | | 3 | "practiced ease" | | 4 | "pulsed" | | 5 | "fractured" | | 6 | "unreadable" | | 7 | "silence" |
| |
| 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) | |
| 73.17% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 4 | | narrationSentences | 82 | | filterMatches | (empty) | | hedgeMatches | | 0 | "managed to" | | 1 | "try to" | | 2 | "seemed to" | | 3 | "tried to" |
| |
| 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 | 72 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 5 | | totalWords | 1585 | | ratio | 0.003 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 26 | | unquotedAttributions | 0 | | matches | (empty) | |
| 16.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 70 | | wordCount | 990 | | uniqueNames | 15 | | maxNameDensity | 2.53 | | worstName | "Niamh" | | maxWindowNameDensity | 4.5 | | worstWindowName | "Niamh" | | discoveredNames | | Soho | 3 | | Aurora | 24 | | Raven | 2 | | Nest | 2 | | Silas | 4 | | Penarth | 1 | | Rory | 1 | | Evan | 1 | | Niamh | 25 | | Hadn | 1 | | Cardiff | 1 | | Bay | 1 | | Guilt | 1 | | London | 2 | | Eva | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Raven" | | 2 | "Nest" | | 3 | "Silas" | | 4 | "Rory" | | 5 | "Evan" | | 6 | "Niamh" | | 7 | "Guilt" | | 8 | "Eva" |
| | places | | 0 | "Soho" | | 1 | "Penarth" | | 2 | "Cardiff" | | 3 | "Bay" | | 4 | "London" |
| | globalScore | 0.237 | | windowScore | 0.167 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 59 | | glossingSentenceCount | 1 | | matches | | 0 | "breath that seemed to release something held too long in the chest" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1585 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 120 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 60 | | mean | 26.42 | | std | 19.01 | | cv | 0.72 | | sampleLengths | | 0 | 65 | | 1 | 4 | | 2 | 27 | | 3 | 1 | | 4 | 60 | | 5 | 9 | | 6 | 35 | | 7 | 24 | | 8 | 25 | | 9 | 25 | | 10 | 5 | | 11 | 7 | | 12 | 38 | | 13 | 13 | | 14 | 19 | | 15 | 55 | | 16 | 38 | | 17 | 5 | | 18 | 14 | | 19 | 29 | | 20 | 4 | | 21 | 15 | | 22 | 6 | | 23 | 26 | | 24 | 61 | | 25 | 20 | | 26 | 21 | | 27 | 2 | | 28 | 39 | | 29 | 25 | | 30 | 7 | | 31 | 43 | | 32 | 17 | | 33 | 55 | | 34 | 47 | | 35 | 15 | | 36 | 9 | | 37 | 42 | | 38 | 11 | | 39 | 10 | | 40 | 60 | | 41 | 16 | | 42 | 3 | | 43 | 40 | | 44 | 26 | | 45 | 42 | | 46 | 4 | | 47 | 39 | | 48 | 4 | | 49 | 80 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 82 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 182 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 18 | | semicolonCount | 0 | | flaggedSentences | 14 | | totalSentences | 120 | | ratio | 0.117 | | matches | | 0 | "She shook water from her jacket, nodded at Silas behind the bar—his familiar limp visible even in the amber half-light as he reached for a glass—and made for her usual stool at the far end." | | 1 | "The woman sitting there—hunched over something amber and untouched—lifted her head at the sound of the door, and Aurora's feet stopped working before her brain caught up." | | 2 | "Niamh flinched—a small thing, barely visible, but Aurora caught it." | | 3 | "They'd always been green—the kind of green that poets wrote about—but now they sat in hollows that spoke of sleepless nights and bad decisions made in desperate hours." | | 4 | "It was good stuff—better than what Aurora could usually afford." | | 5 | "Aurora wanted to ask what had happened—how the girl who'd dreamed of opening a bakery in Cardiff Bay had ended up drinking alone in a Soho bar wearing someone else's confidence like borrowed clothing." | | 6 | "\"Stage four. Pancreatic. Diagnosed eight months ago.\" She said it the way you'd read a weather report—factual, detached, as if she were describing someone else's father entirely." | | 7 | "She thought of those early days in London—crashing on Eva's sofa, jumping at shadows, slowly learning how to breathe again—and how she'd cut ties so completely that even her oldest friend had imagined her dead." | | 8 | "Aurora ran her thumb absently over the crescent scar on her left wrist—an old habit, one she'd never managed to break." | | 9 | "Aurora watched her try to compose herself, watched the mask slip back into place, and recognized the performance for what it was—the same one she'd perfected over three years of rebuilding herself from rubble." | | 10 | "Aurora opened her mouth to argue, to defend, to explain—but the words died before they formed." | | 11 | "Then she exhaled—a single, shuddering breath that seemed to release something held too long in the chest." | | 12 | "\"I've had enough excitement.\" Niamh's shoulder pressed against hers—warm, solid, achingly familiar." | | 13 | "Inside, two women who used to be girls sat side by side in a dim bar and tried to build a bridge across three years of silence and regret—one small, imperfect truth at a time." |
| |
| 93.37% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1009 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 48 | | adverbRatio | 0.04757185332011893 | | lyAdverbCount | 18 | | lyAdverbRatio | 0.017839444995044598 | |
| 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 | 13.21 | | std | 10.83 | | cv | 0.82 | | sampleLengths | | 0 | 30 | | 1 | 35 | | 2 | 4 | | 3 | 27 | | 4 | 1 | | 5 | 9 | | 6 | 24 | | 7 | 27 | | 8 | 9 | | 9 | 14 | | 10 | 8 | | 11 | 13 | | 12 | 18 | | 13 | 6 | | 14 | 8 | | 15 | 10 | | 16 | 7 | | 17 | 11 | | 18 | 14 | | 19 | 5 | | 20 | 7 | | 21 | 15 | | 22 | 18 | | 23 | 5 | | 24 | 9 | | 25 | 4 | | 26 | 10 | | 27 | 9 | | 28 | 2 | | 29 | 16 | | 30 | 22 | | 31 | 15 | | 32 | 10 | | 33 | 28 | | 34 | 5 | | 35 | 10 | | 36 | 4 | | 37 | 5 | | 38 | 10 | | 39 | 14 | | 40 | 4 | | 41 | 5 | | 42 | 10 | | 43 | 6 | | 44 | 8 | | 45 | 15 | | 46 | 3 | | 47 | 14 | | 48 | 34 | | 49 | 13 |
| |
| 73.89% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.48333333333333334 | | totalSentences | 120 | | uniqueOpeners | 58 | |
| 43.29% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 77 | | matches | | 0 | "Then she exhaled—a single, shuddering" |
| | ratio | 0.013 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 18 | | totalSentences | 77 | | matches | | 0 | "She shook water from her" | | 1 | "She never made it." | | 2 | "She smiled, but it didn't" | | 3 | "She'd always caught things other" | | 4 | "His hazel eyes flicked between" | | 5 | "Her dark hair was cut" | | 6 | "They'd always been green—the kind" | | 7 | "It was good stuff—better than" | | 8 | "She turned her glass between" | | 9 | "She said it the way" | | 10 | "She thought of those early" | | 11 | "She finally released Aurora's hand," | | 12 | "She turned to face Aurora" | | 13 | "Her breath hitched on the" | | 14 | "She'd run once." | | 15 | "She'd do it again if" | | 16 | "It was the most honest" | | 17 | "she said finally" |
| | ratio | 0.234 | |
| 11.95% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 69 | | totalSentences | 77 | | matches | | 0 | "The rain had turned Soho's" | | 1 | "She shook water from her" | | 2 | "She never made it." | | 3 | "The woman sitting there—hunched over" | | 4 | "The name fell out of" | | 5 | "Niamh O'Shea, who used to" | | 6 | "Niamh, who had held her" | | 7 | "Niamh, who she hadn't spoken" | | 8 | "Niamh's voice came out rougher" | | 9 | "She smiled, but it didn't" | | 10 | "Aurora stood frozen, water still" | | 11 | "The question came out sharper" | | 12 | "Niamh flinched—a small thing, barely" | | 13 | "She'd always caught things other" | | 14 | "Niamh turned back to her" | | 15 | "Silas appeared at Aurora's elbow," | | 16 | "His hazel eyes flicked between" | | 17 | "Aurora slid onto the stool" | | 18 | "Niamh pushed the untouched glass" | | 19 | "The Niamh she'd known had" |
| | ratio | 0.896 | |
| 64.94% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 77 | | matches | | 0 | "Because Niamh wasn't wrong." |
| | ratio | 0.013 | |
| 34.63% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 33 | | technicalSentenceCount | 5 | | matches | | 0 | "The rain had turned Soho's streets into corridors of reflected light, neon bleeding across wet pavement in smears of color that followed Aurora through the door…" | | 1 | "Aurora wanted to ask what had happened—how the girl who'd dreamed of opening a bakery in Cardiff Bay had ended up drinking alone in a Soho bar wearing someone e…" | | 2 | "She thought of those early days in London—crashing on Eva's sofa, jumping at shadows, slowly learning how to breathe again—and how she'd cut ties so completely …" | | 3 | "Then she exhaled—a single, shuddering breath that seemed to release something held too long in the chest." | | 4 | "Inside, two women who used to be girls sat side by side in a dim bar and tried to build a bridge across three years of silence and regret—one small, imperfect t…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 28 | | uselessAdditionCount | 1 | | matches | | 0 | "Niamh didn't, but her eyes cut sideways" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 2 | | fancyTags | | 0 | "she admitted (admit)" | | 1 | "Niamh's shoulder pressed (press)" |
| | dialogueSentences | 66 | | tagDensity | 0.121 | | leniency | 0.242 | | rawRatio | 0.25 | | effectiveRatio | 0.061 | |