| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 19 | | adverbTagCount | 1 | | adverbTags | | 0 | "Silas said finally [finally]" |
| | dialogueSentences | 46 | | tagDensity | 0.413 | | leniency | 0.826 | | rawRatio | 0.053 | | effectiveRatio | 0.043 | |
| 90.48% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1575 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | |
| 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.78% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1575 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "weight" | | 1 | "familiar" | | 2 | "silence" | | 3 | "traced" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "let out a breath" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 84 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 84 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 111 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 46 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 1 | | totalWords | 1564 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 25 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 19 | | wordCount | 1112 | | uniqueNames | 10 | | maxNameDensity | 0.45 | | worstName | "Silas" | | maxWindowNameDensity | 1 | | worstWindowName | "Blackwood" | | discoveredNames | | Aurora | 2 | | Raven | 1 | | Nest | 1 | | Tuesday | 1 | | Blackwood | 2 | | Sundays | 2 | | Cornwall | 1 | | Prague | 2 | | Cardiff | 2 | | Silas | 5 |
| | persons | | 0 | "Aurora" | | 1 | "Raven" | | 2 | "Blackwood" | | 3 | "Sundays" | | 4 | "Silas" |
| | places | | 0 | "Cornwall" | | 1 | "Prague" | | 2 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 66 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1564 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 111 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 44 | | mean | 35.55 | | std | 27.42 | | cv | 0.771 | | sampleLengths | | 0 | 98 | | 1 | 75 | | 2 | 76 | | 3 | 80 | | 4 | 23 | | 5 | 7 | | 6 | 35 | | 7 | 28 | | 8 | 13 | | 9 | 69 | | 10 | 15 | | 11 | 4 | | 12 | 39 | | 13 | 21 | | 14 | 6 | | 15 | 69 | | 16 | 35 | | 17 | 53 | | 18 | 25 | | 19 | 6 | | 20 | 2 | | 21 | 57 | | 22 | 69 | | 23 | 5 | | 24 | 60 | | 25 | 15 | | 26 | 14 | | 27 | 13 | | 28 | 10 | | 29 | 35 | | 30 | 14 | | 31 | 2 | | 32 | 70 | | 33 | 43 | | 34 | 16 | | 35 | 80 | | 36 | 40 | | 37 | 24 | | 38 | 57 | | 39 | 24 | | 40 | 4 | | 41 | 40 | | 42 | 8 | | 43 | 85 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 84 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 178 | | matches | | 0 | "was holding" | | 1 | "was still learning" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 111 | | ratio | 0.081 | | matches | | 0 | "The usual crowd was thin for a Tuesday—a few heads bowed over drinks at the bar, the quiet clink of glasses from the back." | | 1 | "The bartender nodded at her—a young guy with sleeves of ink, new since she’d moved in—and she ordered a whiskey, neat, because it was what the man at the end of the bar always ordered." | | 2 | "He’d bring her small gifts—a smooth stone from a beach in Cornwall, a postcard of a bridge in Prague, a compass that didn’t point north but to something he called *true*." | | 3 | "“Rory Carter,” he said, and his voice was the same—low, roughened at the edges, with a gravel she remembered from late nights in her father’s study." | | 4 | "The lines around his hazel eyes had deepened, and when he shifted on his stool to face her, she caught the slight hitch in his movement—the old knee injury he’d never fully explained." | | 5 | "He picked up his own glass—something dark, no ice—and turned it in his fingers." | | 6 | "“From what I carried. From the kind of people who might follow me home.” He met her eyes, and for a moment she saw the man she remembered—sharp, watchful, always thinking three steps ahead." | | 7 | "She saw him see it—the flight from Cardiff, the bruises she’d covered with long sleeves, the piece of her that had broken and was still learning to set." | | 8 | "She watched him disappear into the shadows, and for the first time in months, she felt something lift—a small, quiet thing, like a door left open just a crack." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1124 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 27 | | adverbRatio | 0.02402135231316726 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.0071174377224199285 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 111 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 111 | | mean | 14.09 | | std | 9.96 | | cv | 0.707 | | sampleLengths | | 0 | 19 | | 1 | 18 | | 2 | 24 | | 3 | 37 | | 4 | 26 | | 5 | 35 | | 6 | 6 | | 7 | 8 | | 8 | 20 | | 9 | 8 | | 10 | 8 | | 11 | 19 | | 12 | 21 | | 13 | 9 | | 14 | 23 | | 15 | 31 | | 16 | 17 | | 17 | 15 | | 18 | 8 | | 19 | 7 | | 20 | 8 | | 21 | 6 | | 22 | 21 | | 23 | 26 | | 24 | 2 | | 25 | 11 | | 26 | 2 | | 27 | 2 | | 28 | 2 | | 29 | 15 | | 30 | 33 | | 31 | 6 | | 32 | 11 | | 33 | 8 | | 34 | 7 | | 35 | 4 | | 36 | 13 | | 37 | 18 | | 38 | 8 | | 39 | 7 | | 40 | 6 | | 41 | 8 | | 42 | 3 | | 43 | 3 | | 44 | 25 | | 45 | 15 | | 46 | 15 | | 47 | 14 | | 48 | 13 | | 49 | 22 |
| |
| 34.68% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 17 | | diversityRatio | 0.27927927927927926 | | totalSentences | 111 | | uniqueOpeners | 31 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 73 | | matches | | 0 | "Then her father died, and" | | 1 | "More like an observation, the" | | 2 | "Then he pushed himself off" | | 3 | "Then she stood, left a" |
| | ratio | 0.055 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 45 | | totalSentences | 73 | | matches | | 0 | "She pushed open the door" | | 1 | "She’d meant to head straight" | | 2 | "She slid onto a stool" | | 3 | "He hadn’t looked up when" | | 4 | "He hadn’t looked up when" | | 5 | "His left hand rested beside" | | 6 | "She watched him turn a" | | 7 | "She’d known him since she" | | 8 | "He’d come to her father’s" | | 9 | "He’d bring her small gifts—a" | | 10 | "She’d loved him the way" | | 11 | "She hadn’t seen Silas Blackwood" | | 12 | "He closed the newspaper with" | | 13 | "he said, and his voice" | | 14 | "She let out a breath" | | 15 | "His hair was more grey" | | 16 | "He still had the presence," | | 17 | "He didn’t say it like" | | 18 | "She took a sip of" | | 19 | "It burned, a clean, familiar" |
| | ratio | 0.616 | |
| 42.19% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 61 | | totalSentences | 73 | | matches | | 0 | "The green neon sign buzzed" | | 1 | "She pushed open the door" | | 2 | "The usual crowd was thin" | | 3 | "She’d meant to head straight" | | 4 | "She slid onto a stool" | | 5 | "The bartender nodded at her—a" | | 6 | "The one who owned the" | | 7 | "The one she’d been avoiding" | | 8 | "Silas Blackwood sat two stools" | | 9 | "He hadn’t looked up when" | | 10 | "He hadn’t looked up when" | | 11 | "His left hand rested beside" | | 12 | "She watched him turn a" | | 13 | "She’d known him since she" | | 14 | "He’d come to her father’s" | | 15 | "He’d bring her small gifts—a" | | 16 | "She’d loved him the way" | | 17 | "She hadn’t seen Silas Blackwood" | | 18 | "He closed the newspaper with" | | 19 | "he said, and his voice" |
| | ratio | 0.836 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 73 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 37 | | technicalSentenceCount | 2 | | matches | | 0 | "He’d bring her small gifts—a smooth stone from a beach in Cornwall, a postcard of a bridge in Prague, a compass that didn’t point north but to something he call…" | | 1 | "At the grey in his hair, the lines on his face, the slight tremor in the hand that held his glass." |
| |
| 72.37% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 19 | | uselessAdditionCount | 2 | | matches | | 0 | "he said, and his voice was the same—low, roughened at the edges, with a gravel she remembered from late nights in her father’s study" | | 1 | "She looked, and the words came easier now, like water finding its way downhill" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 46 | | tagDensity | 0.239 | | leniency | 0.478 | | rawRatio | 0 | | effectiveRatio | 0 | |