| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 32 | | adverbTagCount | 5 | | adverbTags | | 0 | "she said finally [finally]" | | 1 | "Meg said quietly [quietly]" | | 2 | "Meg admitted finally [finally]" | | 3 | "Rory said slowly [slowly]" | | 4 | "Meg's voice cracked slightly [slightly]" |
| | dialogueSentences | 101 | | tagDensity | 0.317 | | leniency | 0.634 | | rawRatio | 0.156 | | effectiveRatio | 0.099 | |
| 85.65% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2439 | | totalAiIsmAdverbs | 7 | | found | | | highlights | | 0 | "really" | | 1 | "slowly" | | 2 | "softly" | | 3 | "slightly" |
| |
| 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) | |
| 65.15% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2439 | | totalAiIsms | 17 | | found | | | highlights | | 0 | "flickered" | | 1 | "familiar" | | 2 | "weight" | | 3 | "warmth" | | 4 | "effortless" | | 5 | "stomach" | | 6 | "measured" | | 7 | "traced" | | 8 | "silence" | | 9 | "navigate" | | 10 | "pristine" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "stomach dropped/sank" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 141 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 141 | | filterMatches | (empty) | | hedgeMatches | | 0 | "happened to" | | 1 | "seemed to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 209 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 75 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 7 | | totalWords | 2405 | | ratio | 0.003 | | matches | | 0 | "I'm sorry it took me so long." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 23 | | unquotedAttributions | 0 | | matches | (empty) | |
| 16.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 99 | | wordCount | 1478 | | uniqueNames | 22 | | maxNameDensity | 2.44 | | worstName | "Rory" | | maxWindowNameDensity | 4.5 | | worstWindowName | "Rory" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Silas | 9 | | Golden | 1 | | Empress | 1 | | Brixton | 1 | | Rory | 36 | | St | 1 | | Primary | 1 | | Price | 1 | | Bute | 2 | | Park | 2 | | Tommy | 1 | | Morrison | 1 | | Cardiff | 1 | | Twelve | 2 | | Meg | 30 | | Took | 1 | | Prague | 2 | | Newport | 1 | | Winced | 1 | | Evan | 2 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Silas" | | 3 | "Rory" | | 4 | "Price" | | 5 | "Tommy" | | 6 | "Morrison" | | 7 | "Meg" | | 8 | "Evan" |
| | places | | 0 | "Golden" | | 1 | "Brixton" | | 2 | "St" | | 3 | "Bute" | | 4 | "Park" | | 5 | "Cardiff" | | 6 | "Prague" | | 7 | "Newport" |
| | globalScore | 0.282 | | windowScore | 0.167 | |
| 61.76% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 85 | | glossingSentenceCount | 3 | | matches | | 0 | "felt like something that had happened t" | | 1 | "quite process it" | | 2 | "felt like failure, who'd spent years ru" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.416 | | wordCount | 2405 | | matches | | 0 | "not forgiveness exactly, but recognition" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 4 | | totalSentences | 209 | | matches | | 0 | "seen that face" | | 1 | "let that sit" | | 2 | "learned that vulnerability" | | 3 | "understanding that damage" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 104 | | mean | 23.13 | | std | 20.39 | | cv | 0.882 | | sampleLengths | | 0 | 78 | | 1 | 46 | | 2 | 12 | | 3 | 27 | | 4 | 63 | | 5 | 10 | | 6 | 61 | | 7 | 7 | | 8 | 66 | | 9 | 13 | | 10 | 4 | | 11 | 20 | | 12 | 1 | | 13 | 31 | | 14 | 54 | | 15 | 24 | | 16 | 14 | | 17 | 4 | | 18 | 26 | | 19 | 4 | | 20 | 5 | | 21 | 28 | | 22 | 9 | | 23 | 1 | | 24 | 8 | | 25 | 31 | | 26 | 11 | | 27 | 23 | | 28 | 7 | | 29 | 16 | | 30 | 3 | | 31 | 6 | | 32 | 61 | | 33 | 16 | | 34 | 10 | | 35 | 2 | | 36 | 22 | | 37 | 37 | | 38 | 32 | | 39 | 60 | | 40 | 13 | | 41 | 2 | | 42 | 19 | | 43 | 31 | | 44 | 5 | | 45 | 2 | | 46 | 43 | | 47 | 62 | | 48 | 22 | | 49 | 5 |
| |
| 97.80% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 141 | | matches | | 0 | "being asked" | | 1 | "were folded" | | 2 | "being asked" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 267 | | matches | | 0 | "was remembering" | | 1 | "was attempting" | | 2 | "were looking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 22 | | semicolonCount | 2 | | flaggedSentences | 17 | | totalSentences | 209 | | ratio | 0.081 | | matches | | 0 | "Thursday nights were usually quiet—a handful of regulars nursing their drinks, Silas polishing glasses behind the bar with that distant look he got when he was remembering things he'd never talk about." | | 1 | "Rory didn't turn—just watched in the mirror behind the bar as a woman stepped inside." | | 2 | "That's how long it had been since she'd last seen that face—rounder then, framed by braids, perpetually smudged with chalk dust from the nets behind St." | | 3 | "Her eyes—the same warm brown Rory remembered—held a wariness that hadn't existed in the girl who used to share her lunch when Rory forgot hers." | | 4 | "Her father's spectacular fall from grace—the embezzlement, the trial, the way he'd looked at her across the courtroom when she'd testified against him—felt like something that had happened to someone else." | | 5 | "The admission seemed to cost her something—her composure flickered, just for a moment, revealing something rawer beneath the polished surface." | | 6 | "They'd spent three weeks doing nothing of consequence—swimming in the bay, sharing earbuds on the train to Newport, talking about everything and nothing until the stars came out." | | 7 | "Rory studied her reflection in the mirror—the dark circles under her eyes, the small crescent scar on her wrist visible where her sleeve had ridden up, the way she slouched like someone carrying weight that wasn't hers to bear." | | 8 | "She gestured at herself—the coat, the heels, the careful presentation—and for a moment Rory saw it." | | 9 | "Rory felt something shift in her chest—not forgiveness exactly, but recognition." | | 10 | "\"You wouldn't have. We weren't talking.\" Rory traced the scar on her wrist absently—not from Evan, from a childhood accident involving a broken window and poor judgment." | | 11 | "Around them, the bar continued its quiet existence—Silas limping between tables, collecting empties; the man in tweed arguing softly with his phone; a couple in the corner sharing a bottle of wine and pretending the world beyond this room didn't exist." | | 12 | "\"Reconnecting. Every time I think about reaching out to people from before, I freeze. Like they'll see through all of this—\" she gestured at herself again \"—and realize I'm exactly the same scared girl I always was.\"" | | 13 | "The scared girl she'd been—the one who'd let her father's expectations shape her choices, who'd stayed with Evan long past the point of sense because leaving felt like failure, who'd spent years running from a home that no longer existed—she wasn't proud of that girl." | | 14 | "Meg stared at her—really stared, in a way she hadn't since they were teenagers sprawled on Rory's bedroom floor, talking about boys and futures and all the ways they'd never become their parents." | | 15 | "\"Friday.\" Meg smiled—a real smile, not the practiced one Rory suspected she wore in boardrooms." | | 16 | "Something that might have been recognition—a version of the girl who'd orchestrated elaborate scavenger hunts through Bute Park—flickered between them." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1442 | | adjectiveStacks | 1 | | stackExamples | | 0 | "complicated, cruel, indifferent thing" |
| | adverbCount | 45 | | adverbRatio | 0.031206657420249653 | | lyAdverbCount | 18 | | lyAdverbRatio | 0.012482662968099861 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 209 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 209 | | mean | 11.51 | | std | 10.85 | | cv | 0.943 | | sampleLengths | | 0 | 19 | | 1 | 27 | | 2 | 32 | | 3 | 30 | | 4 | 10 | | 5 | 6 | | 6 | 12 | | 7 | 23 | | 8 | 4 | | 9 | 24 | | 10 | 25 | | 11 | 1 | | 12 | 1 | | 13 | 1 | | 14 | 11 | | 15 | 4 | | 16 | 6 | | 17 | 15 | | 18 | 1 | | 19 | 10 | | 20 | 17 | | 21 | 18 | | 22 | 7 | | 23 | 2 | | 24 | 26 | | 25 | 2 | | 26 | 2 | | 27 | 1 | | 28 | 33 | | 29 | 13 | | 30 | 4 | | 31 | 18 | | 32 | 2 | | 33 | 1 | | 34 | 31 | | 35 | 13 | | 36 | 6 | | 37 | 10 | | 38 | 25 | | 39 | 24 | | 40 | 13 | | 41 | 1 | | 42 | 4 | | 43 | 2 | | 44 | 12 | | 45 | 7 | | 46 | 5 | | 47 | 4 | | 48 | 5 | | 49 | 28 |
| |
| 65.87% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 14 | | diversityRatio | 0.4354066985645933 | | totalSentences | 209 | | uniqueOpeners | 91 | |
| 29.76% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 112 | | matches | | 0 | "Then she looked at Meg's" |
| | ratio | 0.009 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 15 | | totalSentences | 112 | | matches | | 0 | "She'd just finished a double" | | 1 | "He poured her a measure" | | 2 | "She wrapped her fingers around" | | 3 | "Her eyes—the same warm brown" | | 4 | "she said finally" | | 5 | "She remembered Meg at fifteen," | | 6 | "Her father's spectacular fall from" | | 7 | "It was, Rory suspected, why" | | 8 | "They'd spent three weeks doing" | | 9 | "She gestured at herself—the coat," | | 10 | "She seemed to accept this" | | 11 | "They sat in silence for" | | 12 | "she gestured at herself again" | | 13 | "She stood, pulled a business" | | 14 | "She slipped the card into" |
| | ratio | 0.134 | |
| 53.75% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 91 | | totalSentences | 112 | | matches | | 0 | "The green neon of The" | | 1 | "Rory pushed through the door," | | 2 | "Thursday nights were usually quiet—a" | | 3 | "She'd just finished a double" | | 4 | "The lo mein had gone" | | 5 | "Yu-Fei would dock her pay" | | 6 | "Silas didn't look up from" | | 7 | "Rory slid onto her regular" | | 8 | "He poured her a measure" | | 9 | "She wrapped her fingers around" | | 10 | "Places Silas had been, she" | | 11 | "The door opened again." | | 12 | "Rory didn't turn—just watched in" | | 13 | "Hair swept back in a" | | 14 | "The woman paused, adjusting to" | | 15 | "The glass stopped halfway to" | | 16 | "That's how long it had" | | 17 | "The girl who'd taught her" | | 18 | "Meg's eyes swept the room" | | 19 | "Neither of them moved." |
| | ratio | 0.813 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 112 | | matches | | 0 | "Before Rory's father's firm started" | | 1 | "Before Meg's parents announced their" | | 2 | "Before the world revealed itself" |
| | ratio | 0.027 | |
| 36.47% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 47 | | technicalSentenceCount | 7 | | matches | | 0 | "The girl who'd taught her how to climb the old oak in Bute Park and kept her secret when Rory had kissed Tommy Morrison behind the cricket pavilion and cried ab…" | | 1 | "She remembered Meg at fifteen, furious about the local council cutting funding to the youth center, organizing a petition that went nowhere but meant everything…" | | 2 | "Her father's spectacular fall from grace—the embezzlement, the trial, the way he'd looked at her across the courtroom when she'd testified against him—felt like…" | | 3 | "No jewelry except small diamond studs that caught the light when she turned her head." | | 4 | "Rory studied her reflection in the mirror—the dark circles under her eyes, the small crescent scar on her wrist visible where her sleeve had ridden up, the way …" | | 5 | "The scared girl she'd been—the one who'd let her father's expectations shape her choices, who'd stayed with Evan long past the point of sense because leaving fe…" | | 6 | "Something that might have been recognition—a version of the girl who'd orchestrated elaborate scavenger hunts through Bute Park—flickered between them." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 32 | | uselessAdditionCount | 1 | | matches | | 0 | "Meg shook, as if she still couldn't quite process it" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 13 | | fancyCount | 1 | | fancyTags | | 0 | "Meg admitted finally (admit)" |
| | dialogueSentences | 101 | | tagDensity | 0.129 | | leniency | 0.257 | | rawRatio | 0.077 | | effectiveRatio | 0.02 | |