| 48.48% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 29 | | adverbTagCount | 5 | | adverbTags | | 0 | "Nadia said quickly [quickly]" | | 1 | "Nadia glanced around [around]" | | 2 | "Nadia said quietly [quietly]" | | 3 | "Nadia glanced around [around]" | | 4 | "Rory said finally [finally]" |
| | dialogueSentences | 66 | | tagDensity | 0.439 | | leniency | 0.879 | | rawRatio | 0.172 | | effectiveRatio | 0.152 | |
| 76.06% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1880 | | totalAiIsmAdverbs | 9 | | found | | | highlights | | 0 | "suddenly" | | 1 | "very" | | 2 | "quickly" | | 3 | "really" | | 4 | "slightly" | | 5 | "slowly" |
| |
| 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) | |
| 84.04% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1880 | | totalAiIsms | 6 | | found | | | highlights | | 0 | "silence" | | 1 | "familiar" | | 2 | "unraveling" | | 3 | "shattered" | | 4 | "warmth" |
| |
| 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 | 2 | | narrationSentences | 115 | | matches | | 0 | "was afraid" | | 1 | "g in frustration" |
| |
| 93.17% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 3 | | narrationSentences | 115 | | filterMatches | | | hedgeMatches | | 0 | "seemed to" | | 1 | "managed to" | | 2 | "started to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 151 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 50 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 21 | | totalWords | 1869 | | ratio | 0.011 | | matches | | 0 | "you’re not listening to me, Laila, he’s going to hurt you, and I can’t keep watching it happen" | | 1 | "that sensible girl" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 27 | | unquotedAttributions | 0 | | matches | (empty) | |
| 28.23% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 92 | | wordCount | 1355 | | uniqueNames | 23 | | maxNameDensity | 2.44 | | worstName | "Rory" | | maxWindowNameDensity | 4 | | worstWindowName | "Rory" | | discoveredNames | | Cardiff | 3 | | Wharton | 1 | | Street | 1 | | Tuesday | 1 | | Rory | 33 | | Bay | 1 | | Nadia | 26 | | Lower | 1 | | Laila | 1 | | Like | 1 | | London | 2 | | Raven | 2 | | Nest | 2 | | Silas | 6 | | Friend | 1 | | Doc | 1 | | Martens | 1 | | Irish | 1 | | Brendan | 1 | | Carter | 1 | | Matter-of-fact | 1 | | Thames | 1 | | Evan | 3 |
| | persons | | 0 | "Rory" | | 1 | "Nadia" | | 2 | "Laila" | | 3 | "Raven" | | 4 | "Silas" | | 5 | "Brendan" | | 6 | "Carter" | | 7 | "Evan" |
| | places | | 0 | "Cardiff" | | 1 | "Wharton" | | 2 | "Street" | | 3 | "Bay" | | 4 | "London" | | 5 | "Thames" |
| | globalScore | 0.282 | | windowScore | 0.333 | |
| 11.11% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 72 | | glossingSentenceCount | 4 | | matches | | 0 | "quite a smile" | | 1 | "quite the right word" | | 2 | "looked like someone who had learned to ar" | | 3 | "felt like a door opening in a room she’" |
| |
| 92.99% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.07 | | wordCount | 1869 | | matches | | 0 | "not much, but it’s… you know" | | 1 | "not glamorous, but it’s honest work" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 151 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 57 | | mean | 32.79 | | std | 25.71 | | cv | 0.784 | | sampleLengths | | 0 | 17 | | 1 | 1 | | 2 | 81 | | 3 | 2 | | 4 | 78 | | 5 | 12 | | 6 | 52 | | 7 | 23 | | 8 | 57 | | 9 | 11 | | 10 | 30 | | 11 | 62 | | 12 | 10 | | 13 | 29 | | 14 | 74 | | 15 | 12 | | 16 | 16 | | 17 | 57 | | 18 | 8 | | 19 | 7 | | 20 | 30 | | 21 | 76 | | 22 | 65 | | 23 | 10 | | 24 | 81 | | 25 | 27 | | 26 | 65 | | 27 | 9 | | 28 | 2 | | 29 | 7 | | 30 | 58 | | 31 | 39 | | 32 | 7 | | 33 | 70 | | 34 | 40 | | 35 | 6 | | 36 | 51 | | 37 | 39 | | 38 | 59 | | 39 | 8 | | 40 | 59 | | 41 | 5 | | 42 | 84 | | 43 | 18 | | 44 | 41 | | 45 | 43 | | 46 | 12 | | 47 | 2 | | 48 | 55 | | 49 | 26 |
| |
| 96.11% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 115 | | matches | | 0 | "been called" | | 1 | "were painted" | | 2 | "were bitten" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 231 | | matches | | 0 | "was talking" | | 1 | "was saying" | | 2 | "was wearing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 8 | | totalSentences | 151 | | ratio | 0.053 | | matches | | 0 | "Her hair was shorter too—a severe blonde bob that replaced the cascade of dark curls Rory had once watched her twist into elaborate updos before nights out in Cardiff Bay." | | 1 | "In the mirror behind the bar, she caught her own reflection—pale face, bright blue eyes, the faint shadow of a bruise along her jaw that she’d covered with concealer that morning after walking into a doorframe at three a.m." | | 2 | "Rory remembered their last conversation, the one that had ended with Nadia’s voice rising in frustration—*you’re not listening to me, Laila, he’s going to hurt you, and I can’t keep watching it happen*—and Rory’s own voice, cold and distant, telling her that she didn’t know what she was talking about." | | 3 | "Her hands knew where everything was—the whiskey bottles on the second shelf, the clean glasses lined up beneath the counter, the small tin of maraschino cherries Silas kept for the rare customer who ordered something sweet." | | 4 | "She’d had years to come to terms with the person she’d been back then—the careful denial, the reflexive defense of a man who’d made her flinch every time a door slammed." | | 5 | "“And now you’re here. In a bar in Soho. Living above it, apparently.” Nadia glanced around again, her gaze lingering on the photograph closest to them—a grainy shot of the Thames at night, the bridges lit up like strings of pearls." | | 6 | "It had started to rain—a soft London drizzle that blurred the edges of the streetlights and turned the world outside into something hazy and indistinct." | | 7 | "Nadia’s grey-green eyes searched Rory’s face for something—permission, maybe." |
| |
| 88.88% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1374 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 63 | | adverbRatio | 0.04585152838427948 | | lyAdverbCount | 18 | | lyAdverbRatio | 0.013100436681222707 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 151 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 151 | | mean | 12.38 | | std | 10.97 | | cv | 0.886 | | sampleLengths | | 0 | 17 | | 1 | 1 | | 2 | 7 | | 3 | 3 | | 4 | 24 | | 5 | 47 | | 6 | 2 | | 7 | 27 | | 8 | 30 | | 9 | 6 | | 10 | 15 | | 11 | 12 | | 12 | 9 | | 13 | 16 | | 14 | 27 | | 15 | 9 | | 16 | 1 | | 17 | 8 | | 18 | 5 | | 19 | 7 | | 20 | 39 | | 21 | 5 | | 22 | 3 | | 23 | 3 | | 24 | 3 | | 25 | 8 | | 26 | 24 | | 27 | 6 | | 28 | 11 | | 29 | 1 | | 30 | 50 | | 31 | 4 | | 32 | 6 | | 33 | 13 | | 34 | 3 | | 35 | 3 | | 36 | 10 | | 37 | 41 | | 38 | 3 | | 39 | 2 | | 40 | 28 | | 41 | 4 | | 42 | 8 | | 43 | 12 | | 44 | 4 | | 45 | 17 | | 46 | 23 | | 47 | 17 | | 48 | 8 | | 49 | 4 |
| |
| 44.15% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 15 | | diversityRatio | 0.32450331125827814 | | totalSentences | 151 | | uniqueOpeners | 49 | |
| 35.84% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 93 | | matches | | 0 | "Then she reached across the" |
| | ratio | 0.011 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 20 | | totalSentences | 93 | | matches | | 0 | "She hadn’t been called that" | | 1 | "Her hair was shorter too—a" | | 2 | "She took a half-step forward," | | 3 | "She’d been so tired lately." | | 4 | "She hadn’t been wrong." | | 5 | "She tried again." | | 6 | "She reached back and pulled" | | 7 | "She was wearing a tailored" | | 8 | "Her hands knew where everything" | | 9 | "She poured two fingers of" | | 10 | "He’d always liked Nadia." | | 11 | "She stopped, swallowed" | | 12 | "She’d had years to come" | | 13 | "She’d never been one to" | | 14 | "She paused, aware of how" | | 15 | "Her own nails were bitten" | | 16 | "It had started to rain—a" | | 17 | "It was thoughtful." | | 18 | "It was a small thing," | | 19 | "It was the first real" |
| | ratio | 0.215 | |
| 40.65% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 78 | | totalSentences | 93 | | matches | | 0 | "Rory had her hand on" | | 1 | "She hadn’t been called that" | | 2 | "The name landed in her" | | 3 | "The woman standing by the" | | 4 | "Her hair was shorter too—a" | | 5 | "Rory said, and the name" | | 6 | "Nadia exhaled, a sound that" | | 7 | "She took a half-step forward," | | 8 | "The distance was maybe fifteen" | | 9 | "Nadia’s voice had changed too" | | 10 | "A trace of something roughened" | | 11 | "Rory touched her shoulder-length black" | | 12 | "She’d been so tired lately." | | 13 | "Silas had noticed." | | 14 | "Silas noticed everything." | | 15 | "Nadia said quickly, like she" | | 16 | "The lie was kind, and" | | 17 | "Rory remembered their last conversation," | | 18 | "She hadn’t been wrong." | | 19 | "Nadia had been right about" |
| | ratio | 0.839 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 93 | | matches | (empty) | | ratio | 0 | |
| 12.99% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 44 | | technicalSentenceCount | 8 | | matches | | 0 | "Her hair was shorter too—a severe blonde bob that replaced the cascade of dark curls Rory had once watched her twist into elaborate updos before nights out in C…" | | 1 | "Grey-green, wide-set, and watching Rory with an expression that hovered somewhere between hope and dread." | | 2 | "She took a half-step forward, then stopped, as if some invisible barrier had risen between them." | | 3 | "Rory remembered their last conversation, the one that had ended with Nadia’s voice rising in frustration—*you’re not listening to me, Laila, he’s going to hurt …" | | 4 | "Rory became acutely aware of the bookshelf door still partially open behind her, revealing the narrow corridor that led to Silas’s back room." | | 5 | "Her hands knew where everything was—the whiskey bottles on the second shelf, the clean glasses lined up beneath the counter, the small tin of maraschino cherrie…" | | 6 | "Had called her *that sensible girl* with a note of relief in his voice, as if Nadia’s presence in Rory’s life might somehow cancel out the chaos of everything e…" | | 7 | "It had started to rain—a soft London drizzle that blurred the edges of the streetlights and turned the world outside into something hazy and indistinct." |
| |
| 90.52% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 29 | | uselessAdditionCount | 2 | | matches | | 0 | "Rory said, and the name came out steadier than she felt" | | 1 | "Nadia slid, her movements careful and deliberate" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 17 | | fancyCount | 2 | | fancyTags | | 0 | "Nadia observed (observe)" | | 1 | "Rory admitted (admit)" |
| | dialogueSentences | 66 | | tagDensity | 0.258 | | leniency | 0.515 | | rawRatio | 0.118 | | effectiveRatio | 0.061 | |