| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 23 | | adverbTagCount | 1 | | adverbTags | | 0 | "Eva's fingers tightened slightly [slightly]" |
| | dialogueSentences | 53 | | tagDensity | 0.434 | | leniency | 0.868 | | rawRatio | 0.043 | | effectiveRatio | 0.038 | |
| 95.40% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1087 | | totalAiIsmAdverbs | 1 | | 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) | |
| 95.40% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1087 | | totalAiIsms | 1 | | found | | | highlights | | |
| 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 | 38 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 38 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 69 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 54 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1084 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 18 | | unquotedAttributions | 0 | | matches | (empty) | |
| 0.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 46 | | wordCount | 615 | | uniqueNames | 9 | | maxNameDensity | 3.25 | | worstName | "Eva" | | maxWindowNameDensity | 5 | | worstWindowName | "Eva" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Rory | 17 | | October | 1 | | Eva | 20 | | Cardiff | 2 | | Silas | 2 | | London | 1 | | Evan | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Rory" | | 3 | "Eva" | | 4 | "Silas" | | 5 | "Evan" |
| | places | | | globalScore | 0 | | windowScore | 0 | |
| 60.71% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 28 | | glossingSentenceCount | 1 | | matches | | 0 | "quite name—grief, maybe, or the particular exhaustion of watching someone else's life turn out better than yours" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.923 | | wordCount | 1084 | | matches | | 0 | "not what I thought I'd be doing at twenty-five, but it's mine" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 69 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 45 | | mean | 24.09 | | std | 22.03 | | cv | 0.914 | | sampleLengths | | 0 | 70 | | 1 | 12 | | 2 | 9 | | 3 | 70 | | 4 | 10 | | 5 | 32 | | 6 | 10 | | 7 | 10 | | 8 | 57 | | 9 | 19 | | 10 | 21 | | 11 | 1 | | 12 | 26 | | 13 | 18 | | 14 | 13 | | 15 | 3 | | 16 | 4 | | 17 | 79 | | 18 | 13 | | 19 | 14 | | 20 | 39 | | 21 | 34 | | 22 | 2 | | 23 | 71 | | 24 | 3 | | 25 | 37 | | 26 | 5 | | 27 | 36 | | 28 | 3 | | 29 | 49 | | 30 | 8 | | 31 | 13 | | 32 | 61 | | 33 | 67 | | 34 | 10 | | 35 | 5 | | 36 | 24 | | 37 | 22 | | 38 | 13 | | 39 | 10 | | 40 | 28 | | 41 | 4 | | 42 | 33 | | 43 | 8 | | 44 | 8 |
| |
| 96.03% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 38 | | matches | | |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 113 | | matches | | 0 | "was deciding" | | 1 | "was falling" | | 2 | "was cataloguing" | | 3 | "was performing" |
| |
| 60.04% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 2 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 69 | | ratio | 0.029 | | matches | | 0 | "The Raven's Nest smelled the same as always—old whisky and older paper, the maps on the walls gone amber under decades of pipe smoke that had stopped rising years before Rory ever set foot inside." | | 1 | "Eva looked at her for a long moment, something passing behind her eyes that Rory couldn't quite name—grief, maybe, or the particular exhaustion of watching someone else's life turn out better than yours." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 568 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 20 | | adverbRatio | 0.035211267605633804 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.00528169014084507 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 69 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 69 | | mean | 15.71 | | std | 12.74 | | cv | 0.811 | | sampleLengths | | 0 | 35 | | 1 | 35 | | 2 | 12 | | 3 | 9 | | 4 | 9 | | 5 | 32 | | 6 | 29 | | 7 | 5 | | 8 | 5 | | 9 | 25 | | 10 | 7 | | 11 | 10 | | 12 | 10 | | 13 | 24 | | 14 | 7 | | 15 | 26 | | 16 | 16 | | 17 | 3 | | 18 | 11 | | 19 | 10 | | 20 | 1 | | 21 | 14 | | 22 | 12 | | 23 | 18 | | 24 | 9 | | 25 | 4 | | 26 | 3 | | 27 | 4 | | 28 | 25 | | 29 | 54 | | 30 | 9 | | 31 | 4 | | 32 | 9 | | 33 | 5 | | 34 | 26 | | 35 | 13 | | 36 | 34 | | 37 | 2 | | 38 | 25 | | 39 | 46 | | 40 | 3 | | 41 | 22 | | 42 | 15 | | 43 | 5 | | 44 | 13 | | 45 | 23 | | 46 | 3 | | 47 | 49 | | 48 | 8 | | 49 | 13 |
| |
| 77.29% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.5072463768115942 | | totalSentences | 69 | | uniqueOpeners | 35 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 29 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 3 | | totalSentences | 29 | | matches | | 0 | "She wiped down the bar" | | 1 | "She needed something to do" | | 2 | "She thought about how easy" |
| | ratio | 0.103 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 29 | | totalSentences | 29 | | matches | | 0 | "The Raven's Nest smelled the" | | 1 | "She wiped down the bar" | | 2 | "Eva stood in the doorway" | | 3 | "Rory set the rag down" | | 4 | "The Eva she remembered from" | | 5 | "This Eva wore a coat" | | 6 | "Eva came to the bar," | | 7 | "Rory made the drink without" | | 8 | "Something had hardened there, around" | | 9 | "The Eva who used to" | | 10 | "Rory said, sliding the glass" | | 11 | "Eva turned the glass a" | | 12 | "Eva's smile didn't reach past" | | 13 | "Eva laughed, short and dry" | | 14 | "Rory poured herself a small" | | 15 | "She needed something to do" | | 16 | "Eva's fingers tightened slightly on" | | 17 | "Eva said, and there was" | | 18 | "Eva said it fast, like" | | 19 | "Eva looked at her properly" |
| | ratio | 1 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 29 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 13 | | technicalSentenceCount | 3 | | matches | | 0 | "The Raven's Nest smelled the same as always—old whisky and older paper, the maps on the walls gone amber under decades of pipe smoke that had stopped rising yea…" | | 1 | "This Eva wore a coat that probably cost more than Rory made in a month, hair sleek and blonde-streaked, a watch on her wrist that caught the low light." | | 2 | "The Eva who used to ring her at midnight crying about coursework didn't sit like this, spine straight, chin up, like she was performing being fine." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 23 | | uselessAdditionCount | 1 | | matches | | 0 | "Eva turned, not drinking yet" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 13 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 53 | | tagDensity | 0.245 | | leniency | 0.491 | | rawRatio | 0.077 | | effectiveRatio | 0.038 | |