| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 39 | | adverbTagCount | 2 | | adverbTags | | 0 | "the woman she'd once [once]" | | 1 | "Nia said quietly [quietly]" |
| | dialogueSentences | 101 | | tagDensity | 0.386 | | leniency | 0.772 | | rawRatio | 0.051 | | effectiveRatio | 0.04 | |
| 91.03% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2230 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "softly" | | 1 | "slowly" | | 2 | "very" | | 3 | "precisely" |
| |
| 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) | |
| 61.88% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2230 | | totalAiIsms | 17 | | found | | | highlights | | 0 | "scanned" | | 1 | "measured" | | 2 | "silk" | | 3 | "silence" | | 4 | "could feel" | | 5 | "flickered" | | 6 | "weight" | | 7 | "warmth" | | 8 | "familiar" |
| |
| 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 | 155 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 155 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 219 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 54 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2206 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 31 | | unquotedAttributions | 0 | | matches | (empty) | |
| 16.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 97 | | wordCount | 1582 | | uniqueNames | 19 | | maxNameDensity | 2.28 | | worstName | "Rory" | | maxWindowNameDensity | 4.5 | | worstWindowName | "Nia" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Silas | 8 | | Tuesday | 1 | | Rory | 36 | | Griffith | 1 | | Nia | 36 | | Took | 1 | | Penguin | 1 | | Classics | 1 | | Evan | 1 | | Swallowed | 1 | | Dean | 1 | | Street | 2 | | Brendan | 1 | | Carter | 1 | | Cardiff | 1 | | London | 1 | | Frith | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Silas" | | 3 | "Rory" | | 4 | "Griffith" | | 5 | "Nia" | | 6 | "Evan" | | 7 | "Brendan" | | 8 | "Carter" |
| | places | | 0 | "Dean" | | 1 | "Street" | | 2 | "Cardiff" | | 3 | "London" | | 4 | "Frith" |
| | globalScore | 0.362 | | windowScore | 0.167 | |
| 95.05% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 91 | | glossingSentenceCount | 2 | | matches | | 0 | "sounded like small bells" | | 1 | "quite anger" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 2206 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 219 | | matches | | 0 | "curls that she'd" | | 1 | "know that the" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 110 | | mean | 20.05 | | std | 20.25 | | cv | 1.01 | | sampleLengths | | 0 | 71 | | 1 | 21 | | 2 | 4 | | 3 | 4 | | 4 | 7 | | 5 | 26 | | 6 | 36 | | 7 | 70 | | 8 | 42 | | 9 | 1 | | 10 | 2 | | 11 | 24 | | 12 | 42 | | 13 | 4 | | 14 | 35 | | 15 | 4 | | 16 | 90 | | 17 | 5 | | 18 | 47 | | 19 | 1 | | 20 | 2 | | 21 | 27 | | 22 | 40 | | 23 | 13 | | 24 | 63 | | 25 | 2 | | 26 | 33 | | 27 | 2 | | 28 | 3 | | 29 | 41 | | 30 | 10 | | 31 | 52 | | 32 | 2 | | 33 | 25 | | 34 | 3 | | 35 | 6 | | 36 | 4 | | 37 | 2 | | 38 | 16 | | 39 | 25 | | 40 | 12 | | 41 | 4 | | 42 | 28 | | 43 | 47 | | 44 | 5 | | 45 | 2 | | 46 | 34 | | 47 | 28 | | 48 | 25 | | 49 | 4 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 155 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 282 | | matches | | 0 | "was arranging" | | 1 | "was thinking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 22 | | semicolonCount | 0 | | flaggedSentences | 15 | | totalSentences | 219 | | ratio | 0.068 | | matches | | 0 | "Rory glanced toward the entrance the way one glances at anything peripheral—without expectation, without interest—and her hand tightened around her glass." | | 1 | "But Rory knew the way she tilted her head when she scanned a room—that birdlike pivot from left to right, cataloguing exits and faces." | | 2 | "This Nia spoke the way people spoke in boardrooms—measured, clipped, each syllable a deliberate placement." | | 3 | "Would never know that the woman she'd once shared a cramped university flat with—the one who'd held her hair back during freshers' week and taught her to cook risotto at three in the morning—lived above a Soho bar and delivered noodles for a living." | | 4 | "Ripples moved across her face—surprise, then something harder to name, something that tightened the corners of her mouth before she smoothed it away." | | 5 | "Those grey-green eyes—the same ones that had once scanned Rory's face for lies and found none—moved over her features with clinical attention." | | 6 | "Something flickered across Nia's face—the ghost of a smile." | | 7 | "Whether she'd forgotten or decided Rory didn't need Nia's version of reconnection—another voice from the life she'd fled—it didn't matter now." | | 8 | "He caught her eye—brief, questioning—and she gave a barely perceptible shake of her head." | | 9 | "They sat between them like facts on a CV—verified, lifeless." | | 10 | "The mention of parents—of fathers—landed wrong." | | 11 | "The truth—Evan's grip, the kitchen counter, a glass shattering against tile—had lived in a place she hadn't been ready to share with anyone, not even the person closest to her." | | 12 | "Her father—Brendan Carter, silver-haired and sharp-tongued, the man who'd taught her to argue before she could spell the word—still stood in courtrooms in Cardiff while his daughter stood in kitchens across London, dropping off containers of kung pao chicken and cashew prawns." | | 13 | "Rory reached into her jacket pocket and pulled out a pen—the cheap biro she kept for signing receipts and noting delivery addresses." | | 14 | "Her shoes clicked against the floorboards—measured, authoritative." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 708 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 20 | | adverbRatio | 0.02824858757062147 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.005649717514124294 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 219 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 219 | | mean | 10.07 | | std | 9.04 | | cv | 0.897 | | sampleLengths | | 0 | 32 | | 1 | 23 | | 2 | 3 | | 3 | 13 | | 4 | 11 | | 5 | 10 | | 6 | 4 | | 7 | 4 | | 8 | 4 | | 9 | 3 | | 10 | 26 | | 11 | 3 | | 12 | 12 | | 13 | 21 | | 14 | 20 | | 15 | 35 | | 16 | 5 | | 17 | 2 | | 18 | 8 | | 19 | 24 | | 20 | 18 | | 21 | 1 | | 22 | 2 | | 23 | 2 | | 24 | 2 | | 25 | 20 | | 26 | 5 | | 27 | 21 | | 28 | 16 | | 29 | 4 | | 30 | 4 | | 31 | 16 | | 32 | 15 | | 33 | 4 | | 34 | 9 | | 35 | 3 | | 36 | 10 | | 37 | 24 | | 38 | 44 | | 39 | 5 | | 40 | 14 | | 41 | 10 | | 42 | 23 | | 43 | 1 | | 44 | 2 | | 45 | 6 | | 46 | 3 | | 47 | 11 | | 48 | 7 | | 49 | 4 |
| |
| 42.69% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 16 | | diversityRatio | 0.2968036529680365 | | totalSentences | 219 | | uniqueOpeners | 65 | |
| 25.45% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 131 | | matches | | 0 | "Somewhere outside, a siren wailed" |
| | ratio | 0.008 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 37 | | totalSentences | 131 | | matches | | 0 | "Her hair, once a wild" | | 1 | "She knew the freckles that" | | 2 | "She moved to the bar" | | 3 | "She set her phone on" | | 4 | "Her voice had changed." | | 5 | "She could leave." | | 6 | "She could slip off her" | | 7 | "She stopped at the empty" | | 8 | "Her gloved hand rested on" | | 9 | "She pulled off one glove," | | 10 | "Her coat fell open to" | | 11 | "She stopped herself" | | 12 | "He had a gift for" | | 13 | "She glanced up at the" | | 14 | "It vanished before it could" | | 15 | "He caught her eye—brief, questioning—and" | | 16 | "They sat between them like" | | 17 | "She saw it in the" | | 18 | "She gestured with one hand," | | 19 | "She'd told Nia once that" |
| | ratio | 0.282 | |
| 21.07% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 115 | | totalSentences | 131 | | matches | | 0 | "The amber light of The" | | 1 | "Rory sat on her usual" | | 2 | "A Tuesday night." | | 3 | "Silas said without looking up" | | 4 | "Rory lifted her glass." | | 5 | "Silas huffed something that might" | | 6 | "The door opened." | | 7 | "Rory glanced toward the entrance" | | 8 | "The woman who stepped through" | | 9 | "Her hair, once a wild" | | 10 | "The kind of shoes that" | | 11 | "She knew the freckles that" | | 12 | "The number felt wrong either" | | 13 | "Nia hadn't seen her yet." | | 14 | "She moved to the bar" | | 15 | "She set her phone on" | | 16 | "Her voice had changed." | | 17 | "The old Nia spoke like" | | 18 | "This Nia spoke the way" | | 19 | "Silas poured without comment." |
| | ratio | 0.878 | |
| 38.17% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 131 | | matches | | 0 | "Whether she'd forgotten or decided" |
| | ratio | 0.008 | |
| 58.11% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 59 | | technicalSentenceCount | 7 | | matches | | 0 | "Her hair, once a wild explosion of copper curls that she'd refused to tame with anything stronger than a prayer and a scrunchie, hung in a sleek blonde bob that…" | | 1 | "She moved to the bar with the easy confidence of someone who walked into rooms and expected them to rearrange themselves." | | 2 | "Ripples moved across her face—surprise, then something harder to name, something that tightened the corners of her mouth before she smoothed it away." | | 3 | "Those grey-green eyes—the same ones that had once scanned Rory's face for lies and found none—moved over her features with clinical attention." | | 4 | "He moved to the other end of the bar and began rearranging a shelf that didn't need rearranging." | | 5 | "Nia pulled at the collar of her blouse, loosening it the way she used to loosen her old university hoodie when she was thinking." | | 6 | "Her father—Brendan Carter, silver-haired and sharp-tongued, the man who'd taught her to argue before she could spell the word—still stood in courtrooms in Cardi…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 39 | | uselessAdditionCount | 1 | | matches | | 0 | "Nia turned, the ice shifting and crackling" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 16 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 101 | | tagDensity | 0.158 | | leniency | 0.317 | | rawRatio | 0 | | effectiveRatio | 0 | |