| 13.95% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 4 | | adverbTags | | 0 | "she said carefully [carefully]" | | 1 | "He laughed again [again]" | | 2 | "she said quietly [quietly]" | | 3 | "He turned back [back]" |
| | dialogueSentences | 43 | | tagDensity | 0.465 | | leniency | 0.93 | | rawRatio | 0.2 | | effectiveRatio | 0.186 | |
| 70.65% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1363 | | totalAiIsmAdverbs | 8 | | found | | | highlights | | 0 | "carefully" | | 1 | "slowly" | | 2 | "slightly" | | 3 | "sadly" | | 4 | "really" | | 5 | "very" |
| |
| 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) | |
| 63.32% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1363 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "stomach" | | 1 | "etched" | | 2 | "flicked" | | 3 | "trembled" | | 4 | "comfortable" | | 5 | "potential" | | 6 | "silence" | | 7 | "could feel" | | 8 | "weight" | | 9 | "framework" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 79 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 79 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 100 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 64 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 4 | | totalWords | 1348 | | ratio | 0.003 | | matches | | 0 | "Need you. Twenty minutes." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 16 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 34 | | wordCount | 902 | | uniqueNames | 10 | | maxNameDensity | 1.33 | | worstName | "Marcus" | | maxWindowNameDensity | 3 | | worstWindowName | "Marcus" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Rory | 11 | | Golden | 1 | | Empress | 1 | | Yu-Fei | 1 | | Marcus | 12 | | Thorne | 1 | | Silas | 4 | | Pre-Law | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Rory" | | 3 | "Marcus" | | 4 | "Thorne" | | 5 | "Silas" |
| | places | | | globalScore | 0.835 | | windowScore | 0.667 | |
| 60.71% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 56 | | glossingSentenceCount | 2 | | matches | | 0 | "smelled like it always had—stale beer soak" | | 1 | "looked like someone who had made a choice" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1348 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 100 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 39 | | mean | 34.56 | | std | 24.22 | | cv | 0.701 | | sampleLengths | | 0 | 40 | | 1 | 53 | | 2 | 48 | | 3 | 1 | | 4 | 41 | | 5 | 11 | | 6 | 65 | | 7 | 24 | | 8 | 30 | | 9 | 24 | | 10 | 37 | | 11 | 47 | | 12 | 8 | | 13 | 83 | | 14 | 24 | | 15 | 23 | | 16 | 4 | | 17 | 74 | | 18 | 58 | | 19 | 15 | | 20 | 87 | | 21 | 2 | | 22 | 65 | | 23 | 61 | | 24 | 8 | | 25 | 32 | | 26 | 67 | | 27 | 13 | | 28 | 37 | | 29 | 58 | | 30 | 9 | | 31 | 21 | | 32 | 2 | | 33 | 20 | | 34 | 32 | | 35 | 10 | | 36 | 14 | | 37 | 69 | | 38 | 31 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 79 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 172 | | matches | | 0 | "was trying" | | 1 | "was waiting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 100 | | ratio | 0.1 | | matches | | 0 | "The Raven's Nest smelled like it always had—stale beer soaked into floorboards, the ghost of a thousand cigarettes despite the smoking ban, and something underneath that Rory could never quite place." | | 1 | "Then his eyes widened—that pale grey she remembered from university, from late-night study sessions in the library, from kisses behind the botany building when she was someone else entirely." | | 2 | "The Marcus Thorne she'd known had been all restless energy and ambitious angles—a law student with a scholarship and something to prove." | | 3 | "He nodded once—a permission or perhaps an acknowledgment—and disappeared back through the bookshelf door." | | 4 | "\"No.\" Rory watched the bartender—someone new she didn't recognize—move with practiced efficiency at the other end of the counter." | | 5 | "The person she'd known had been convinced of the opposite—that achievement was everything, that the law was a noble pursuit, that they'd both spend their lives climbing." | | 6 | "Or rather, she remembered a different version—the one from before everything broke." | | 7 | "She could feel the weight of it—the actual physical heaviness of years passing, of becoming someone your younger self wouldn't recognize, of standing in front of someone you used to love and being unable to quite locate the feeling anymore." | | 8 | "That was his job—had always been his job, even before he'd hired her and given her a room upstairs and taught her that the world was far more complicated than Pre-Law had suggested." | | 9 | "As she passed through into the back room, she caught her reflection in the mirror above the bar—bright blue eyes, black hair, the small crescent scar on her wrist visible as she pushed her sleeve up." |
| |
| 87.34% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 918 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 50 | | adverbRatio | 0.054466230936819175 | | lyAdverbCount | 14 | | lyAdverbRatio | 0.015250544662309368 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 100 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 100 | | mean | 13.48 | | std | 11.13 | | cv | 0.826 | | sampleLengths | | 0 | 31 | | 1 | 2 | | 2 | 7 | | 3 | 17 | | 4 | 9 | | 5 | 19 | | 6 | 8 | | 7 | 19 | | 8 | 5 | | 9 | 10 | | 10 | 14 | | 11 | 1 | | 12 | 3 | | 13 | 9 | | 14 | 29 | | 15 | 6 | | 16 | 5 | | 17 | 4 | | 18 | 22 | | 19 | 12 | | 20 | 16 | | 21 | 11 | | 22 | 4 | | 23 | 20 | | 24 | 25 | | 25 | 5 | | 26 | 4 | | 27 | 7 | | 28 | 10 | | 29 | 3 | | 30 | 9 | | 31 | 12 | | 32 | 16 | | 33 | 11 | | 34 | 17 | | 35 | 14 | | 36 | 5 | | 37 | 8 | | 38 | 23 | | 39 | 51 | | 40 | 9 | | 41 | 19 | | 42 | 5 | | 43 | 5 | | 44 | 12 | | 45 | 6 | | 46 | 4 | | 47 | 10 | | 48 | 64 | | 49 | 7 |
| |
| 61.67% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.4 | | totalSentences | 100 | | uniqueOpeners | 40 | |
| 95.24% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 70 | | matches | | 0 | "Then his eyes widened—that pale" | | 1 | "Instead, Marcus just nodded like" |
| | ratio | 0.029 | |
| 48.57% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 30 | | totalSentences | 70 | | matches | | 0 | "She'd come in for the" | | 1 | "She knew that posture, that" | | 2 | "She'd seen it in a" | | 3 | "His voice came out rough" | | 4 | "It was and wasn't." | | 5 | "His hair, once carefully styled," | | 6 | "He couldn't have been more" | | 7 | "she said carefully" | | 8 | "He stopped, studying her face" | | 9 | "She didn't have to think" | | 10 | "He gestured at the empty" | | 11 | "His hazel eyes flicked between" | | 12 | "He nodded once—a permission or" | | 13 | "He stopped himself, ran a" | | 14 | "She expected surprise, maybe judgment." | | 15 | "He finally looked at her" | | 16 | "She meant it kindly, but" | | 17 | "He took a drink." | | 18 | "His hand trembled slightly, she" | | 19 | "He laughed again, that same" |
| | ratio | 0.429 | |
| 24.29% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 61 | | totalSentences | 70 | | matches | | 0 | "The Raven's Nest smelled like" | | 1 | "She'd come in for the" | | 2 | "Silas had texted her an" | | 3 | "The woman barely looked up" | | 4 | "The bar was empty except" | | 5 | "Rory's stomach did something unpleasant." | | 6 | "She knew that posture, that" | | 7 | "She'd seen it in a" | | 8 | "The man turned." | | 9 | "His voice came out rough" | | 10 | "It was and wasn't." | | 11 | "The Marcus Thorne she'd known" | | 12 | "This Marcus was thinner, worn" | | 13 | "His hair, once carefully styled," | | 14 | "He couldn't have been more" | | 15 | "she said carefully" | | 16 | "The distance between them felt" | | 17 | "He stopped, studying her face" | | 18 | "She didn't have to think" | | 19 | "Some things were permanent, etched" |
| | ratio | 0.871 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 70 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 34 | | technicalSentenceCount | 1 | | matches | | 0 | "His hazel eyes flicked between them with the precision of someone who'd spent his life reading rooms." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 1 | | fancyTags | | 0 | "He laughed again (laugh)" |
| | dialogueSentences | 43 | | tagDensity | 0.233 | | leniency | 0.465 | | rawRatio | 0.1 | | effectiveRatio | 0.047 | |