| 62.07% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 13 | | adverbTagCount | 4 | | adverbTags | | 0 | "He gestured vaguely [vaguely]" | | 1 | "He gestured around [around]" | | 2 | "he said quietly [quietly]" | | 3 | "he said softly [softly]" |
| | dialogueSentences | 58 | | tagDensity | 0.224 | | leniency | 0.448 | | rawRatio | 0.308 | | effectiveRatio | 0.138 | |
| 78.62% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1403 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "softly" | | 1 | "slightly" | | 2 | "really" |
| |
| 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) | |
| 71.49% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1403 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "flickered" | | 1 | "unreadable" | | 2 | "scanned" | | 3 | "pulse" | | 4 | "weight" | | 5 | "silence" |
| |
| 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 | 107 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 0 | | narrationSentences | 107 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 150 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 38 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 4 | | markdownWords | 13 | | totalWords | 1394 | | ratio | 0.009 | | matches | | 0 | "The Raven’s Nest" | | 1 | "JASON" | | 2 | "Just get out, Rory. Before he breaks you." | | 3 | "Eva." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 98.41% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 35 | | wordCount | 1163 | | uniqueNames | 9 | | maxNameDensity | 1.03 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Raven | 1 | | London | 2 | | Carter | 2 | | Rory | 12 | | Golden | 1 | | Empress | 1 | | Evan | 3 | | Silas | 9 | | Eva | 4 |
| | persons | | 0 | "Raven" | | 1 | "Carter" | | 2 | "Rory" | | 3 | "Empress" | | 4 | "Evan" | | 5 | "Silas" | | 6 | "Eva" |
| | places | | | globalScore | 0.984 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 71 | | glossingSentenceCount | 1 | | matches | | 0 | "felt like a time capsule" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1394 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 150 | | matches | | 0 | "had that way" | | 1 | "scream that she" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 74 | | mean | 18.84 | | std | 21.32 | | cv | 1.132 | | sampleLengths | | 0 | 99 | | 1 | 101 | | 2 | 6 | | 3 | 79 | | 4 | 7 | | 5 | 28 | | 6 | 42 | | 7 | 10 | | 8 | 29 | | 9 | 17 | | 10 | 5 | | 11 | 36 | | 12 | 18 | | 13 | 3 | | 14 | 19 | | 15 | 9 | | 16 | 14 | | 17 | 69 | | 18 | 4 | | 19 | 12 | | 20 | 18 | | 21 | 4 | | 22 | 22 | | 23 | 14 | | 24 | 20 | | 25 | 13 | | 26 | 23 | | 27 | 12 | | 28 | 6 | | 29 | 40 | | 30 | 13 | | 31 | 1 | | 32 | 30 | | 33 | 2 | | 34 | 2 | | 35 | 5 | | 36 | 51 | | 37 | 7 | | 38 | 8 | | 39 | 3 | | 40 | 41 | | 41 | 19 | | 42 | 50 | | 43 | 3 | | 44 | 10 | | 45 | 8 | | 46 | 1 | | 47 | 3 | | 48 | 1 | | 49 | 8 |
| |
| 98.70% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 107 | | matches | | 0 | "were lined" | | 1 | "was streaked" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 7 | | totalVerbs | 203 | | matches | | 0 | "was breathing" | | 1 | "was bracing" | | 2 | "was reminding" | | 3 | "were trembling" | | 4 | "was standing" | | 5 | "was looking" | | 6 | "were holding" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 8 | | totalSentences | 150 | | ratio | 0.053 | | matches | | 0 | "Inside, the air smelled of aged whiskey and something faintly metallic—old blood, maybe, or the faintest trace of gunpowder, though no one had fired a shot in this place in years." | | 1 | "The walls were lined with yellowed maps, their edges curled from decades of handling, and the photographs pinned above the bar were all men—some in uniform, some in suits, their faces stern, their expressions unreadable." | | 2 | "Aurora Carter—Rory, to her friends—leaned against the bar, nursing a glass of something amber and bitter." | | 3 | "He had that way about him—like he owned the room just by standing in it." | | 4 | "“You do.” He gestured vaguely at her—her black hair, her sharp jaw, the way she held herself like she was bracing for impact." | | 5 | "The bartender—a young man with a name tag that read *JASON*—appeared with two fresh glasses, sliding one toward Rory without a word." | | 6 | "But Evan had been there, his hands on her wrist, his voice a growl in her ear, and she’d known—knew—she couldn’t stay." | | 7 | "Silas sighed, rubbing his left knee—just once, like he was reminding himself it was still there." |
| |
| 96.92% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1172 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 51 | | adverbRatio | 0.043515358361774746 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.010238907849829351 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 150 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 150 | | mean | 9.29 | | std | 7.94 | | cv | 0.854 | | sampleLengths | | 0 | 23 | | 1 | 31 | | 2 | 35 | | 3 | 10 | | 4 | 16 | | 5 | 24 | | 6 | 31 | | 7 | 30 | | 8 | 6 | | 9 | 10 | | 10 | 13 | | 11 | 15 | | 12 | 26 | | 13 | 15 | | 14 | 3 | | 15 | 4 | | 16 | 18 | | 17 | 10 | | 18 | 12 | | 19 | 13 | | 20 | 13 | | 21 | 4 | | 22 | 8 | | 23 | 2 | | 24 | 23 | | 25 | 6 | | 26 | 6 | | 27 | 11 | | 28 | 3 | | 29 | 2 | | 30 | 22 | | 31 | 9 | | 32 | 5 | | 33 | 14 | | 34 | 4 | | 35 | 3 | | 36 | 12 | | 37 | 7 | | 38 | 6 | | 39 | 3 | | 40 | 12 | | 41 | 2 | | 42 | 9 | | 43 | 5 | | 44 | 2 | | 45 | 22 | | 46 | 23 | | 47 | 4 | | 48 | 4 | | 49 | 4 |
| |
| 42.89% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 14 | | diversityRatio | 0.31333333333333335 | | totalSentences | 150 | | uniqueOpeners | 47 | |
| 99.01% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 101 | | matches | | 0 | "*Just get out, Rory." | | 1 | "Just for a second." | | 2 | "Just enough to remind her" |
| | ratio | 0.03 | |
| 14.06% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 52 | | totalSentences | 101 | | matches | | 0 | "She hadn’t been back here" | | 1 | "She wasn’t supposed to be" | | 2 | "He had that way about" | | 3 | "His auburn hair was streaked" | | 4 | "His hazel eyes scanned the" | | 5 | "She didn’t have to." | | 6 | "she said, her voice steady" | | 7 | "He exhaled through his nose," | | 8 | "His voice was rough, like" | | 9 | "He slid onto the stool" | | 10 | "She shot him a look" | | 11 | "He gestured vaguely at her—her" | | 12 | "She took it, the ice" | | 13 | "He swirled his drink, the" | | 14 | "He said it like it" | | 15 | "He took a sip, then" | | 16 | "She hadn’t meant to leave." | | 17 | "She hadn’t looked back." | | 18 | "She took a sip of" | | 19 | "She set her glass down" |
| | ratio | 0.515 | |
| 34.26% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 86 | | totalSentences | 101 | | matches | | 0 | "The neon green sign of" | | 1 | "The walls were lined with" | | 2 | "The kind of men who" | | 3 | "Aurora Carter—Rory, to her friends—leaned" | | 4 | "She hadn’t been back here" | | 5 | "The flat above the bar" | | 6 | "She wasn’t supposed to be" | | 7 | "The door chimed softly behind" | | 8 | "A man stepped inside, his" | | 9 | "He had that way about" | | 10 | "His auburn hair was streaked" | | 11 | "His hazel eyes scanned the" | | 12 | "Rory didn’t turn." | | 13 | "She didn’t have to." | | 14 | "she said, her voice steady" | | 15 | "He exhaled through his nose," | | 16 | "His voice was rough, like" | | 17 | "He slid onto the stool" | | 18 | "She shot him a look" | | 19 | "He gestured vaguely at her—her" |
| | ratio | 0.851 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 5 | | totalSentences | 101 | | matches | | 0 | "Before he breaks you.*" | | 1 | "Because I’m afraid of what" | | 2 | "Because I’m afraid of who" | | 3 | "Because I left without saying" | | 4 | "Because that was what they" |
| | ratio | 0.05 | |
| 27.03% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 37 | | technicalSentenceCount | 6 | | matches | | 0 | "But tonight, the rain had been heavier than usual, the kind that made the city feel like it was breathing in slow, wet gasps, and she’d found herself here anywa…" | | 1 | "His auburn hair was streaked with silver, his beard neatly trimmed, his posture just slightly off, as if he’d been carrying something heavy for too long." | | 2 | "The bartender—a young man with a name tag that read *JASON*—appeared with two fresh glasses, sliding one toward Rory without a word." | | 3 | "*Eva.* The one person who had known her before she became Rory Carter, the delivery driver with a scar on her wrist and a past she didn’t talk about." | | 4 | "She was standing in front of a building she didn’t recognize, her arm around a man who wasn’t Evan, who wasn’t anyone she’d ever met before that night." | | 5 | "Silas studied her, his eyes searching hers like he was looking for something he wasn’t sure he’d find." |
| |
| 9.62% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 13 | | uselessAdditionCount | 3 | | matches | | 0 | "He swirled, the amber liquid catching the dim light" | | 1 | "She took, the whiskey burning the back of her throat" | | 2 | "He leaned, his voice dropping" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 58 | | tagDensity | 0.069 | | leniency | 0.138 | | rawRatio | 0 | | effectiveRatio | 0 | |