| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 17 | | adverbTagCount | 2 | | adverbTags | | 0 | "The name tasted like [like]" | | 1 | "She gestured vaguely [vaguely]" |
| | dialogueSentences | 56 | | tagDensity | 0.304 | | leniency | 0.607 | | rawRatio | 0.118 | | effectiveRatio | 0.071 | |
| 91.77% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1215 | | totalAiIsmAdverbs | 2 | | 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) | |
| 58.85% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1215 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "flickered" | | 1 | "weight" | | 2 | "scanning" | | 3 | "traced" | | 4 | "silence" | | 5 | "implication" | | 6 | "flicked" | | 7 | "trembled" |
| |
| 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 | 104 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 104 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 139 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 45 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 14 | | markdownWords | 19 | | totalWords | 1207 | | ratio | 0.016 | | matches | | 0 | "The Raven’s Nest" | | 1 | "clink" | | 2 | "see" | | 3 | "talked" | | 4 | "saw" | | 5 | "me" | | 6 | "Before she became what?" | | 7 | "had" | | 8 | "her" | | 9 | "stop" | | 10 | "had" | | 11 | "anything" | | 12 | "hers" | | 13 | "had" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 27 | | wordCount | 932 | | uniqueNames | 9 | | maxNameDensity | 0.97 | | worstName | "Silas" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Silas" | | discoveredNames | | Raven | 1 | | Rory | 4 | | Carter | 1 | | Silas | 9 | | Blackwood | 1 | | Evan | 4 | | Eva | 1 | | Cardiff | 1 | | Wanted | 5 |
| | persons | | 0 | "Raven" | | 1 | "Rory" | | 2 | "Carter" | | 3 | "Silas" | | 4 | "Blackwood" | | 5 | "Evan" | | 6 | "Eva" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 56 | | 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 | 1207 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 139 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 67 | | mean | 18.01 | | std | 15.58 | | cv | 0.865 | | sampleLengths | | 0 | 71 | | 1 | 4 | | 2 | 74 | | 3 | 27 | | 4 | 13 | | 5 | 12 | | 6 | 8 | | 7 | 23 | | 8 | 25 | | 9 | 23 | | 10 | 5 | | 11 | 41 | | 12 | 14 | | 13 | 22 | | 14 | 8 | | 15 | 11 | | 16 | 5 | | 17 | 25 | | 18 | 30 | | 19 | 55 | | 20 | 7 | | 21 | 17 | | 22 | 5 | | 23 | 55 | | 24 | 4 | | 25 | 10 | | 26 | 21 | | 27 | 26 | | 28 | 3 | | 29 | 40 | | 30 | 7 | | 31 | 13 | | 32 | 5 | | 33 | 5 | | 34 | 32 | | 35 | 6 | | 36 | 8 | | 37 | 24 | | 38 | 1 | | 39 | 6 | | 40 | 40 | | 41 | 5 | | 42 | 6 | | 43 | 39 | | 44 | 15 | | 45 | 13 | | 46 | 20 | | 47 | 22 | | 48 | 4 | | 49 | 24 |
| |
| 91.77% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 104 | | matches | | 0 | "was pulled" | | 1 | "been broken" | | 2 | "was made" | | 3 | "was supposed" |
| |
| 10.61% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 176 | | matches | | 0 | "was drowning" | | 1 | "was expecting" | | 2 | "was breaking" | | 3 | "wasn’t running" | | 4 | "was drowning" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 8 | | totalSentences | 139 | | ratio | 0.058 | | matches | | 0 | "The air inside smelled of stale beer, burnt wood, and something faintly metallic—like old coins or the edge of a blade." | | 1 | "A ghost of a smile touched his lips—just for a second—before he set the glass down with a deliberate *clink*." | | 2 | "Wanted to unload the years of it—the way Evan’s hands had bruised her ribs, the way he’d laughed when she’d tried to leave, the way she’d stood there, frozen, until Eva had dragged her out of that flat like she was made of glass." | | 3 | "From the life she’d thought she was supposed to have—lawyer’s daughter, straight path, safe." | | 4 | "His eyes flicked over her—her black hair still straight, her clothes still too practical, too *her*." | | 5 | "She studied him—the way his hands trembled just slightly when he lifted the glass, the way his limp was more pronounced when he wasn’t paying attention." | | 6 | "That she’d built something here—something real, something *hers*." | | 7 | "Wanted to unload everything—the fear, the regret, the way she still woke up some nights sweating, Evan’s voice in her ear." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 940 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 34 | | adverbRatio | 0.036170212765957444 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.006382978723404255 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 139 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 139 | | mean | 8.68 | | std | 7.65 | | cv | 0.881 | | sampleLengths | | 0 | 31 | | 1 | 21 | | 2 | 19 | | 3 | 4 | | 4 | 30 | | 5 | 27 | | 6 | 17 | | 7 | 14 | | 8 | 8 | | 9 | 5 | | 10 | 3 | | 11 | 10 | | 12 | 12 | | 13 | 2 | | 14 | 6 | | 15 | 20 | | 16 | 3 | | 17 | 13 | | 18 | 12 | | 19 | 19 | | 20 | 4 | | 21 | 2 | | 22 | 3 | | 23 | 21 | | 24 | 11 | | 25 | 9 | | 26 | 7 | | 27 | 7 | | 28 | 18 | | 29 | 4 | | 30 | 4 | | 31 | 4 | | 32 | 7 | | 33 | 4 | | 34 | 3 | | 35 | 2 | | 36 | 6 | | 37 | 19 | | 38 | 3 | | 39 | 7 | | 40 | 20 | | 41 | 4 | | 42 | 44 | | 43 | 7 | | 44 | 7 | | 45 | 10 | | 46 | 7 | | 47 | 2 | | 48 | 3 | | 49 | 24 |
| |
| 40.29% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 14 | | diversityRatio | 0.302158273381295 | | totalSentences | 139 | | uniqueOpeners | 42 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 92 | | matches | | 0 | "Instead, she said," | | 1 | "Instead, he reached for a" | | 2 | "Instead, she slid off the" |
| | ratio | 0.033 | |
| 54.78% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 38 | | totalSentences | 92 | | matches | | 0 | "She hadn’t been here in" | | 1 | "She spotted him immediately." | | 2 | "His auburn hair, streaked with" | | 3 | "He moved like a man" | | 4 | "She hadn’t expected to find" | | 5 | "His gaze locked onto hers," | | 6 | "he said, voice low" | | 7 | "She stepped forward, the soles" | | 8 | "He wiped his hands on" | | 9 | "She traced the rim of" | | 10 | "She exhaled, sharp" | | 11 | "His jaw tightened." | | 12 | "She wanted to argue." | | 13 | "His voice was rough" | | 14 | "He pushed off the counter," | | 15 | "His voice trailed off, but" | | 16 | "He poured two fingers of" | | 17 | "She wanted to scream." | | 18 | "She *had* run." | | 19 | "She took it." |
| | ratio | 0.413 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 63 | | totalSentences | 92 | | matches | | 0 | "The neon green sign of" | | 1 | "The air inside smelled of" | | 2 | "She hadn’t been here in" | | 3 | "She spotted him immediately." | | 4 | "Silas Blackwood stood behind the" | | 5 | "His auburn hair, streaked with" | | 6 | "He moved like a man" | | 7 | "Rory hesitated by the door," | | 8 | "She hadn’t expected to find" | | 9 | "Silas looked up." | | 10 | "His gaze locked onto hers," | | 11 | "he said, voice low" | | 12 | "A ghost of a smile" | | 13 | "She stepped forward, the soles" | | 14 | "He wiped his hands on" | | 15 | "The bar was quieter than" | | 16 | "Rory slid onto a stool," | | 17 | "Silas leaned against the counter," | | 18 | "She traced the rim of" | | 19 | "A beat of silence." |
| | ratio | 0.685 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 92 | | matches | | 0 | "*Before she became what?*" | | 1 | "Because she knew the truth" | | 2 | "Because the truth was, she" |
| | ratio | 0.033 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 29 | | technicalSentenceCount | 1 | | matches | | 0 | "Silas Blackwood stood behind the bar, polishing a glass with slow, deliberate strokes, his hazel eyes scanning the room like a man who’d spent too many years wa…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 17 | | uselessAdditionCount | 8 | | matches | | 0 | "he said, voice low," | | 1 | "He wiped, his signet ring catching the dim light" | | 2 | "She exhaled, sharp" | | 3 | "His voice trailed, but the implication hung between them" | | 4 | "He poured, the amber liquid catching the light like a warning" | | 5 | "he said, voice low," | | 6 | "He wiped, his movements sharp now, precise" | | 7 | "His gaze locked, unyielding" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 56 | | tagDensity | 0.107 | | leniency | 0.214 | | rawRatio | 0 | | effectiveRatio | 0 | |