| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 21 | | adverbTagCount | 8 | | adverbTags | | 0 | "Her voice carried differently [differently]" | | 1 | "His voice cracked slightly [slightly]" | | 2 | "Marcus offered gently [gently]" | | 3 | "she asked suddenly [suddenly]" | | 4 | "she said suddenly [suddenly]" | | 5 | "she said simply [simply]" | | 6 | "Marcus asked quietly [quietly]" | | 7 | "she said finally [finally]" |
| | dialogueSentences | 57 | | tagDensity | 0.368 | | leniency | 0.737 | | rawRatio | 0.381 | | effectiveRatio | 0.281 | |
| 60.53% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1647 | | totalAiIsmAdverbs | 13 | | found | | | highlights | | 0 | "completely" | | 1 | "slightly" | | 2 | "carefully" | | 3 | "really" | | 4 | "quickly" | | 5 | "gently" | | 6 | "suddenly" | | 7 | "slowly" |
| |
| 80.00% | AI-ism character names | Target: 0 AI-default names (16 tracked, −20% each) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 54.46% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1647 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "familiar" | | 1 | "etched" | | 2 | "measured" | | 3 | "comfortable" | | 4 | "silence" | | 5 | "flicker" | | 6 | "implication" | | 7 | "weight" | | 8 | "intensity" | | 9 | "navigate" | | 10 | "unspoken" | | 11 | "potential" |
| |
| 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 | 76 | | matches | (empty) | |
| 86.47% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 76 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 112 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 43 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1637 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 16 | | unquotedAttributions | 0 | | matches | (empty) | |
| 98.98% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 36 | | wordCount | 1176 | | uniqueNames | 10 | | maxNameDensity | 1.02 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Raven | 2 | | Nest | 2 | | Rory | 12 | | Silas | 2 | | Jamie | 1 | | Thorne | 2 | | Marcus | 11 | | Cardiff | 2 | | University | 1 | | London | 1 |
| | persons | | 0 | "Nest" | | 1 | "Rory" | | 2 | "Silas" | | 3 | "Jamie" | | 4 | "Thorne" | | 5 | "Marcus" |
| | places | | 0 | "Raven" | | 1 | "Cardiff" | | 2 | "University" | | 3 | "London" |
| | globalScore | 0.99 | | windowScore | 1 | |
| 32.81% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 64 | | glossingSentenceCount | 3 | | matches | | 0 | "belly that seemed to burn brighter than most people's" | | 1 | "seemed important at twenty-two" | | 2 | "something between them, a channel for honesty t" |
| |
| 16.74% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 1.833 | | wordCount | 1637 | | matches | | 0 | "Not just in years, but in spirit" | | 1 | "Not the place itself, but" | | 2 | "not just for what they'd done, but for what they'd failed to do, for the conversations they'd n" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 112 | | matches | | 0 | "understood that feeling" | | 1 | "knew that version" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 61 | | mean | 26.84 | | std | 17.87 | | cv | 0.666 | | sampleLengths | | 0 | 72 | | 1 | 48 | | 2 | 23 | | 3 | 45 | | 4 | 22 | | 5 | 59 | | 6 | 18 | | 7 | 16 | | 8 | 59 | | 9 | 13 | | 10 | 39 | | 11 | 32 | | 12 | 16 | | 13 | 37 | | 14 | 8 | | 15 | 22 | | 16 | 34 | | 17 | 48 | | 18 | 14 | | 19 | 25 | | 20 | 5 | | 21 | 22 | | 22 | 31 | | 23 | 4 | | 24 | 48 | | 25 | 30 | | 26 | 30 | | 27 | 8 | | 28 | 12 | | 29 | 51 | | 30 | 10 | | 31 | 29 | | 32 | 40 | | 33 | 7 | | 34 | 29 | | 35 | 36 | | 36 | 15 | | 37 | 2 | | 38 | 13 | | 39 | 29 | | 40 | 15 | | 41 | 3 | | 42 | 25 | | 43 | 48 | | 44 | 25 | | 45 | 49 | | 46 | 60 | | 47 | 7 | | 48 | 3 | | 49 | 61 |
| |
| 91.41% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 76 | | matches | | 0 | "been invited" | | 1 | "been oiled" | | 2 | "been blocked" |
| |
| 43.51% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 213 | | matches | | 0 | "was nursing" | | 1 | "wasn't looking" | | 2 | "was simply staying" | | 3 | "was wasting" | | 4 | "was selling" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 112 | | ratio | 0.063 | | matches | | 0 | "As she waited, her eyes drifted toward the back room where the bookshelf stood—an ordinary-looking thing that hid extraordinary secrets." | | 1 | "His hair had gone completely silver since she'd last seen him, and there were new lines etched around his mouth, but the shape of his face—those sharp cheekbones, the way he held himself—remained unmistakably familiar." | | 2 | "They'd promised to stay in touch, to meet for coffee, to visit—but life had a way of scattering people like leaves in autumn wind." | | 3 | "Rory felt her defenses rise automatically, but Marcus wasn't looking at her with judgment—just curiosity, genuine curiosity." | | 4 | "They'd both learned the same lesson, just in different ways—that idealism was a luxury few could afford, that sometimes survival required compromising everything you believed in." | | 5 | "She'd developed her own set of justifications over the past year—delivering food kept her independent, working above the bar gave her a community, living in London offered opportunities she couldn't find elsewhere." | | 6 | "The weight of unspoken regret hung heavy between them—not just for what they'd done, but for what they'd failed to do, for the conversations they'd never had, for the support they'd never given each other when it mattered most." |
| |
| 85.62% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1190 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small crescent-shaped scar" |
| | adverbCount | 55 | | adverbRatio | 0.046218487394957986 | | lyAdverbCount | 28 | | lyAdverbRatio | 0.023529411764705882 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 112 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 112 | | mean | 14.62 | | std | 9.43 | | cv | 0.645 | | sampleLengths | | 0 | 26 | | 1 | 25 | | 2 | 21 | | 3 | 19 | | 4 | 29 | | 5 | 22 | | 6 | 1 | | 7 | 9 | | 8 | 20 | | 9 | 16 | | 10 | 22 | | 11 | 24 | | 12 | 35 | | 13 | 18 | | 14 | 15 | | 15 | 1 | | 16 | 10 | | 17 | 25 | | 18 | 24 | | 19 | 10 | | 20 | 3 | | 21 | 36 | | 22 | 3 | | 23 | 21 | | 24 | 11 | | 25 | 16 | | 26 | 14 | | 27 | 11 | | 28 | 12 | | 29 | 8 | | 30 | 21 | | 31 | 1 | | 32 | 20 | | 33 | 14 | | 34 | 8 | | 35 | 21 | | 36 | 19 | | 37 | 14 | | 38 | 8 | | 39 | 17 | | 40 | 5 | | 41 | 8 | | 42 | 14 | | 43 | 4 | | 44 | 27 | | 45 | 4 | | 46 | 15 | | 47 | 33 | | 48 | 9 | | 49 | 21 |
| |
| 57.74% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.4107142857142857 | | totalSentences | 112 | | uniqueOpeners | 46 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 75 | | matches | (empty) | | ratio | 0 | |
| 22.67% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 37 | | totalSentences | 75 | | matches | | 0 | "She'd been coming here for" | | 1 | "She climbed the three worn" | | 2 | "She'd never been invited through" | | 3 | "Her voice carried differently in" | | 4 | "His hair had gone completely" | | 5 | "His voice cracked slightly on" | | 6 | "She set down her pint" | | 7 | "They'd promised to stay in" | | 8 | "He trailed off, searching for" | | 9 | "She studied his face more" | | 10 | "They sat in comfortable silence" | | 11 | "She kept her voice neutral," | | 12 | "She watched his expression shift," | | 13 | "He took a sip of" | | 14 | "She remembered Marcus at university," | | 15 | "She'd always admired that about" | | 16 | "He was quiet for a" | | 17 | "She'd made her own compromises," | | 18 | "She paused, searching for the" | | 19 | "She laughed, surprised by the" |
| | ratio | 0.493 | |
| 6.67% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 68 | | totalSentences | 75 | | matches | | 0 | "The amber glow from the" | | 1 | "The scent of aged wood" | | 2 | "She'd been coming here for" | | 3 | "She climbed the three worn" | | 4 | "Pete the taxi driver was" | | 5 | "The barkeep, a young lad" | | 6 | "Rory nodded, sliding onto one" | | 7 | "She'd never been invited through" | | 8 | "Her voice carried differently in" | | 9 | "A shadow fell across the" | | 10 | "His hair had gone completely" | | 11 | "His voice cracked slightly on" | | 12 | "She set down her pint" | | 13 | "The name felt strange on" | | 14 | "Marcus Thorne, her university roommate," | | 15 | "They'd promised to stay in" | | 16 | "He trailed off, searching for" | | 17 | "She studied his face more" | | 18 | "They sat in comfortable silence" | | 19 | "Marcus gestured to the stool" |
| | ratio | 0.907 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 75 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 43 | | technicalSentenceCount | 10 | | matches | | 0 | "Pete the taxi driver was nursing a whiskey in the corner, and somewhere in the back, she could hear the low murmur of conversation that meant Silas had company." | | 1 | "As she waited, her eyes drifted toward the back room where the bookshelf stood—an ordinary-looking thing that hid extraordinary secrets." | | 2 | "A shadow fell across the bar, and Rory looked up to find an older man studying her with eyes that held too much recognition." | | 3 | "Marcus Thorne, her university roommate, her partner in countless late-night philosophy debates, the person who'd been there when everything had fallen apart wit…" | | 4 | "They sat in comfortable silence for a moment, the kind that only exists between people who'd once known each other intimately." | | 5 | "She'd left Cardiff with ambitions that had nothing to do with money or status." | | 6 | "She'd wanted to help people, to make a difference, to live according to principles that seemed important at twenty-two." | | 7 | "Marcus turned to look at her fully for the first time, his hazel eyes searching hers with an intensity that made her uncomfortable." | | 8 | "She understood the rationalization, the mental gymnastics required to maintain self-respect while participating in systems that benefited the few at the expense…" | | 9 | "The conversation had opened something between them, a channel for honesty that had been blocked for far too long." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 21 | | uselessAdditionCount | 1 | | matches | | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 1 | | fancyTags | | 0 | "she whispered (whisper)" |
| | dialogueSentences | 57 | | tagDensity | 0.105 | | leniency | 0.211 | | rawRatio | 0.167 | | effectiveRatio | 0.035 | |