| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 13 | | adverbTagCount | 1 | | adverbTags | | 0 | "Eva said finally [finally]" |
| | dialogueSentences | 43 | | tagDensity | 0.302 | | leniency | 0.605 | | rawRatio | 0.077 | | effectiveRatio | 0.047 | |
| 90.39% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1041 | | totalAiIsmAdverbs | 2 | | found | | | highlights | | |
| 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) | |
| 85.59% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1041 | | totalAiIsms | 3 | | found | | | highlights | | 0 | "silence" | | 1 | "weight" | | 2 | "affection" |
| |
| 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 | 36 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 36 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 66 | | 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 | 2 | | markdownWords | 2 | | totalWords | 1032 | | ratio | 0.002 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 19 | | unquotedAttributions | 0 | | matches | (empty) | |
| 33.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 32 | | wordCount | 558 | | uniqueNames | 8 | | maxNameDensity | 2.33 | | worstName | "Rory" | | maxWindowNameDensity | 4 | | worstWindowName | "Eva" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Golden | 1 | | Empress | 1 | | Rory | 13 | | Whitfield | 1 | | Silas | 3 | | Eva | 11 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Rory" | | 3 | "Whitfield" | | 4 | "Silas" | | 5 | "Eva" |
| | places | | | globalScore | 0.335 | | windowScore | 0.333 | |
| 60.71% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 28 | | glossingSentenceCount | 1 | | matches | | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1032 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 66 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 42 | | mean | 24.57 | | std | 20.4 | | cv | 0.83 | | sampleLengths | | 0 | 68 | | 1 | 1 | | 2 | 70 | | 3 | 5 | | 4 | 12 | | 5 | 37 | | 6 | 15 | | 7 | 35 | | 8 | 45 | | 9 | 2 | | 10 | 33 | | 11 | 4 | | 12 | 44 | | 13 | 6 | | 14 | 57 | | 15 | 2 | | 16 | 1 | | 17 | 41 | | 18 | 42 | | 19 | 15 | | 20 | 35 | | 21 | 23 | | 22 | 8 | | 23 | 20 | | 24 | 59 | | 25 | 15 | | 26 | 20 | | 27 | 12 | | 28 | 36 | | 29 | 1 | | 30 | 28 | | 31 | 44 | | 32 | 2 | | 33 | 12 | | 34 | 9 | | 35 | 72 | | 36 | 9 | | 37 | 13 | | 38 | 32 | | 39 | 15 | | 40 | 30 | | 41 | 2 |
| |
| 85.77% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 36 | | matches | | 0 | "was whittled" | | 1 | "being asked" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 103 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 5 | | totalSentences | 66 | | ratio | 0.076 | | matches | | 0 | "The Raven's Nest smelled the same as it always had—stale hops and beeswax polish, the faint ghost of pipe smoke that never quite left the old maps pinned to the walls." | | 1 | "Silas, three stools down, did not look up from his glasses, though Rory suspected he heard every word—he always did." | | 2 | "Rory looked at her then—really looked, past the blazer and the tight hair and the new hollows under her eyes—and saw something she recognized." | | 3 | "Eva looked at her for a long moment, something working behind her eyes—old affection tangled up with something that might have been envy, or grief, or just the plain ache of time passed without witness." | | 4 | "Behind her, faintly, she felt Silas's stillness—the particular stillness of a man listening without seeming to." |
| |
| 97.96% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 567 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 24 | | adverbRatio | 0.042328042328042326 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.008818342151675485 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 66 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 66 | | mean | 15.64 | | std | 10.64 | | cv | 0.68 | | sampleLengths | | 0 | 31 | | 1 | 37 | | 2 | 1 | | 3 | 16 | | 4 | 17 | | 5 | 8 | | 6 | 20 | | 7 | 9 | | 8 | 5 | | 9 | 12 | | 10 | 15 | | 11 | 22 | | 12 | 15 | | 13 | 19 | | 14 | 16 | | 15 | 34 | | 16 | 11 | | 17 | 2 | | 18 | 7 | | 19 | 26 | | 20 | 4 | | 21 | 24 | | 22 | 20 | | 23 | 6 | | 24 | 36 | | 25 | 21 | | 26 | 2 | | 27 | 1 | | 28 | 13 | | 29 | 28 | | 30 | 10 | | 31 | 32 | | 32 | 15 | | 33 | 15 | | 34 | 20 | | 35 | 5 | | 36 | 18 | | 37 | 8 | | 38 | 20 | | 39 | 24 | | 40 | 35 | | 41 | 12 | | 42 | 3 | | 43 | 3 | | 44 | 17 | | 45 | 12 | | 46 | 8 | | 47 | 28 | | 48 | 1 | | 49 | 20 |
| |
| 77.78% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.48484848484848486 | | totalSentences | 66 | | uniqueOpeners | 32 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 31 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 5 | | totalSentences | 31 | | matches | | 0 | "Her blonde hair, once a" | | 1 | "She wore a blazer that" | | 2 | "They hugged, stiff, the kind" | | 3 | "They both laughed then, short" | | 4 | "It didn't fix anything, but" |
| | ratio | 0.161 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 29 | | totalSentences | 31 | | matches | | 0 | "The Raven's Nest smelled the" | | 1 | "Rory came down the back" | | 2 | "The woman on the stool" | | 3 | "Eva Whitfield had been soft-edged" | | 4 | "This woman was whittled down" | | 5 | "Her blonde hair, once a" | | 6 | "She wore a blazer that" | | 7 | "Rory said, and meant it" | | 8 | "They hugged, stiff, the kind" | | 9 | "Rory pulled back and studied" | | 10 | "Eva's mouth twitched, not quite" | | 11 | "Rory slid onto the stool" | | 12 | "The name landed like a" | | 13 | "Rory hadn't heard it spoken" | | 14 | "Eva stopped, turned her glass" | | 15 | "Eva said it lightly, but" | | 16 | "Rory took a drink, let" | | 17 | "Eva's laugh came out clipped," | | 18 | "The silence that followed had" | | 19 | "Silas, three stools down, did" |
| | ratio | 0.935 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 31 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 18 | | technicalSentenceCount | 4 | | matches | | 0 | "Eva Whitfield had been soft-edged once, round-cheeked, the kind of girl who laughed with her whole body." | | 1 | "The silence that followed had weight to it, the kind that presses on the sternum." | | 2 | "Not the girl who used to sneak into her room through the window at seventeen, laughing about some boy, but someone tired in the specific way that came from swal…" | | 3 | "Eva looked at her for a long moment, something working behind her eyes—old affection tangled up with something that might have been envy, or grief, or just the …" |
| |
| 48.08% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 13 | | uselessAdditionCount | 2 | | matches | | 0 | "Eva's mouth twitched, not quite a smile" | | 1 | "Eva's laugh came out, humorless" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 43 | | tagDensity | 0.186 | | leniency | 0.372 | | rawRatio | 0.125 | | effectiveRatio | 0.047 | |