| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 21 | | adverbTagCount | 3 | | adverbTags | | 0 | "He gestured vaguely [vaguely]" | | 1 | "Rory turned back [back]" | | 2 | "he said finally [finally]" |
| | dialogueSentences | 83 | | tagDensity | 0.253 | | leniency | 0.506 | | rawRatio | 0.143 | | effectiveRatio | 0.072 | |
| 83.23% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1789 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "perfectly" | | 1 | "very" | | 2 | "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) | |
| 77.64% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1789 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "traced" | | 1 | "silence" | | 2 | "mechanical" | | 3 | "trembled" | | 4 | "throbbed" | | 5 | "tension" | | 6 | "weight" |
| |
| 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 | 98 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 98 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 160 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 50 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1779 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 20 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 23 | | wordCount | 1053 | | uniqueNames | 12 | | maxNameDensity | 0.57 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 6 | | Laila | 1 | | Tuesday | 1 | | Silas | 2 | | Raven | 1 | | Nest | 1 | | Wednesday | 1 | | Tomás | 6 | | Golden | 1 | | Empress | 1 | | Started | 1 | | Soho | 1 |
| | persons | | 0 | "Rory" | | 1 | "Laila" | | 2 | "Tuesday" | | 3 | "Silas" | | 4 | "Raven" | | 5 | "Tomás" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 68.03% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 61 | | glossingSentenceCount | 2 | | matches | | 0 | "tasted like copper" | | 1 | "looked like every other bookshelf except" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1779 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 160 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 96 | | mean | 18.53 | | std | 18.71 | | cv | 1.01 | | sampleLengths | | 0 | 15 | | 1 | 91 | | 2 | 66 | | 3 | 5 | | 4 | 25 | | 5 | 11 | | 6 | 4 | | 7 | 6 | | 8 | 2 | | 9 | 49 | | 10 | 22 | | 11 | 37 | | 12 | 7 | | 13 | 33 | | 14 | 6 | | 15 | 8 | | 16 | 46 | | 17 | 4 | | 18 | 3 | | 19 | 3 | | 20 | 3 | | 21 | 21 | | 22 | 18 | | 23 | 38 | | 24 | 6 | | 25 | 23 | | 26 | 8 | | 27 | 3 | | 28 | 3 | | 29 | 2 | | 30 | 1 | | 31 | 80 | | 32 | 5 | | 33 | 4 | | 34 | 4 | | 35 | 6 | | 36 | 13 | | 37 | 5 | | 38 | 47 | | 39 | 4 | | 40 | 7 | | 41 | 6 | | 42 | 53 | | 43 | 4 | | 44 | 38 | | 45 | 40 | | 46 | 27 | | 47 | 8 | | 48 | 1 | | 49 | 5 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 98 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 188 | | matches | | 0 | "was pretending" | | 1 | "was watching" |
| |
| 17.86% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 160 | | ratio | 0.044 | | matches | | 0 | "Aurora—Rory—Laila, whoever she was pretending to be on any given Tuesday—kept her eyes on the amber liquid in front of her and let her peripheral vision do the work." | | 1 | "That was the thing about living above a bar run by a retired intelligence operative—you learned to expect voices from behind you." | | 2 | "But the eyes—grey-green and heavy-lidded—those hadn't changed." | | 3 | "She felt him cataloguing the changes—the slight lines at the corners of her eyes, the hard set of her jaw that hadn't been there at twenty-two, the way she held herself with her shoulders squared like someone perpetually bracing for impact." | | 4 | "She recognised the signs—the slight sheen of sweat at his temples despite the cold bar, the way his fingers found the rim of his glass and traced it in circles like a rosary." | | 5 | "His hand found her wrist as she reached for her bag, his grip firm but not rough, and she felt the calluses on his palm—new, rough-edged, not from books or keyboards." | | 6 | "His knee cracked as he stood—a small, ordinary sound that somehow made everything worse." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1072 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 33 | | adverbRatio | 0.030783582089552237 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.010261194029850746 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 160 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 160 | | mean | 11.12 | | std | 10.25 | | cv | 0.922 | | sampleLengths | | 0 | 15 | | 1 | 29 | | 2 | 6 | | 3 | 23 | | 4 | 33 | | 5 | 8 | | 6 | 23 | | 7 | 17 | | 8 | 18 | | 9 | 5 | | 10 | 3 | | 11 | 22 | | 12 | 11 | | 13 | 4 | | 14 | 6 | | 15 | 2 | | 16 | 15 | | 17 | 27 | | 18 | 7 | | 19 | 3 | | 20 | 7 | | 21 | 12 | | 22 | 22 | | 23 | 15 | | 24 | 7 | | 25 | 29 | | 26 | 4 | | 27 | 6 | | 28 | 8 | | 29 | 6 | | 30 | 30 | | 31 | 8 | | 32 | 2 | | 33 | 4 | | 34 | 3 | | 35 | 3 | | 36 | 3 | | 37 | 15 | | 38 | 6 | | 39 | 7 | | 40 | 11 | | 41 | 2 | | 42 | 9 | | 43 | 27 | | 44 | 6 | | 45 | 19 | | 46 | 4 | | 47 | 8 | | 48 | 3 | | 49 | 3 |
| |
| 55.21% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 15 | | diversityRatio | 0.3875 | | totalSentences | 160 | | uniqueOpeners | 62 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 79 | | matches | (empty) | | ratio | 0 | |
| 12.41% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 41 | | totalSentences | 79 | | matches | | 0 | "She'd learned that trick from" | | 1 | "She didn't startle." | | 2 | "she said, not turning" | | 3 | "Her hand stilled on the" | | 4 | "He was taller than she" | | 5 | "His face had thinned, cheekbones" | | 6 | "He slid into the stool" | | 7 | "He signalled to the bartender," | | 8 | "He gestured vaguely at his" | | 9 | "She pulled her sleeve down" | | 10 | "It came out rough, like" | | 11 | "He sipped his whiskey" | | 12 | "She felt him cataloguing the" | | 13 | "She'd caught her reflection sometimes" | | 14 | "He set his glass down" | | 15 | "He raised his hands in" | | 16 | "He paused, searching for the" | | 17 | "She hated lukewarm whiskey." | | 18 | "he said finally" | | 19 | "He finished his whiskey in" |
| | ratio | 0.519 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 74 | | totalSentences | 79 | | matches | | 0 | "The man at the end" | | 1 | "Aurora—Rory—Laila, whoever she was pretending" | | 2 | "She'd learned that trick from" | | 3 | "The man had a way" | | 4 | "Tonight, though, Silas was somewhere" | | 5 | "The Raven's Nest was quiet" | | 6 | "A couple of regulars occupied" | | 7 | "The green neon sign above" | | 8 | "Rory's fingers traced the crescent-shaped" | | 9 | "She didn't startle." | | 10 | "That was the thing about" | | 11 | "she said, not turning" | | 12 | "Her hand stilled on the" | | 13 | "He was taller than she" | | 14 | "His face had thinned, cheekbones" | | 15 | "The name felt foreign in" | | 16 | "He slid into the stool" | | 17 | "He signalled to the bartender," | | 18 | "The bartender set his drink" | | 19 | "Tomás wrapped both hands around" |
| | ratio | 0.937 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 79 | | matches | (empty) | | ratio | 0 | |
| 20.41% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 35 | | technicalSentenceCount | 6 | | matches | | 0 | "Tonight, though, Silas was somewhere in the back, tending to whatever fires needed tending to, which left Rory alone at the bar with a stranger's gaze burning i…" | | 1 | "His face had thinned, cheekbones sharpened into something almost architectural beneath skin that had gone from smooth to weathered in the decade since she'd las…" | | 2 | "She felt him cataloguing the changes—the slight lines at the corners of her eyes, the hard set of her jaw that hadn't been there at twenty-two, the way she held…" | | 3 | "She'd caught her reflection sometimes in the windows of Golden Empress as she delivered takeaways through the rain, and she barely recognised the woman who star…" | | 4 | "The words came out flat, rehearsed, delivered with the detachment of someone who'd said them before, alone in her flat above the bar at two in the morning when …" | | 5 | "The motion was controlled, practiced, the kind of movement that said she'd had practice leaving rooms." |
| |
| 77.38% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 21 | | uselessAdditionCount | 2 | | matches | | 0 | "she said, not turning" | | 1 | "she said, her voice steady, her heart anything but" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 83 | | tagDensity | 0.096 | | leniency | 0.193 | | rawRatio | 0.125 | | effectiveRatio | 0.024 | |