| 46.15% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 19 | | adverbTagCount | 4 | | adverbTags | | 0 | "Rory said quietly [quietly]" | | 1 | "she asked instead [instead]" | | 2 | "Eva said finally [finally]" | | 3 | "Eva said softly [softly]" |
| | dialogueSentences | 52 | | tagDensity | 0.365 | | leniency | 0.731 | | rawRatio | 0.211 | | effectiveRatio | 0.154 | |
| 82.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1389 | | totalAiIsmAdverbs | 5 | | found | | 0 | | | 1 | | | 2 | | | 3 | | adverb | "barely above a whisper" | | count | 1 |
|
| | highlights | | 0 | "slowly" | | 1 | "softly" | | 2 | "really" | | 3 | "barely above a whisper" |
| |
| 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) | |
| 31.61% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1389 | | totalAiIsms | 19 | | found | | | highlights | | 0 | "tracing" | | 1 | "reminder" | | 2 | "weight" | | 3 | "silence" | | 4 | "flicked" | | 5 | "glinting" | | 6 | "jaw clenched" | | 7 | "unreadable" | | 8 | "trembled" | | 9 | "could feel" | | 10 | "unspoken" | | 11 | "pounding" | | 12 | "whisper" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "jaw/fists clenched" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 2 | | narrationSentences | 113 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 113 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 146 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 34 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 6 | | totalWords | 1384 | | ratio | 0.004 | | matches | | 0 | "Do you want me to intervene?" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 24 | | unquotedAttributions | 0 | | matches | (empty) | |
| 0.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 84 | | wordCount | 1134 | | uniqueNames | 8 | | maxNameDensity | 2.91 | | worstName | "Eva" | | maxWindowNameDensity | 5.5 | | worstWindowName | "Eva" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Cardiff | 3 | | London | 2 | | Rory | 32 | | Eva | 33 | | Evan | 4 | | Silas | 8 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Rory" | | 3 | "Eva" | | 4 | "Evan" | | 5 | "Silas" |
| | places | | | globalScore | 0.045 | | windowScore | 0 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 73 | | glossingSentenceCount | 1 | | matches | | 0 | "tasted like rust in her mouth" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1384 | | matches | (empty) | |
| 98.17% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 3 | | totalSentences | 146 | | matches | | 0 | "knew that voice" | | 1 | "was, that she" | | 2 | "say that they" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 58 | | mean | 23.86 | | std | 18.23 | | cv | 0.764 | | sampleLengths | | 0 | 100 | | 1 | 52 | | 2 | 15 | | 3 | 24 | | 4 | 59 | | 5 | 12 | | 6 | 9 | | 7 | 47 | | 8 | 13 | | 9 | 18 | | 10 | 10 | | 11 | 37 | | 12 | 13 | | 13 | 25 | | 14 | 2 | | 15 | 38 | | 16 | 37 | | 17 | 37 | | 18 | 6 | | 19 | 59 | | 20 | 32 | | 21 | 11 | | 22 | 27 | | 23 | 49 | | 24 | 6 | | 25 | 9 | | 26 | 27 | | 27 | 6 | | 28 | 16 | | 29 | 24 | | 30 | 11 | | 31 | 41 | | 32 | 14 | | 33 | 4 | | 34 | 34 | | 35 | 29 | | 36 | 17 | | 37 | 5 | | 38 | 11 | | 39 | 23 | | 40 | 9 | | 41 | 19 | | 42 | 5 | | 43 | 10 | | 44 | 53 | | 45 | 21 | | 46 | 14 | | 47 | 26 | | 48 | 9 | | 49 | 57 |
| |
| 99.05% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 113 | | matches | | |
| 16.51% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 218 | | matches | | 0 | "weren’t saying" | | 1 | "was watching" | | 2 | "was memorizing" | | 3 | "was looking" | | 4 | "was laughing" | | 5 | "was staying" |
| |
| 64.58% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 146 | | ratio | 0.027 | | matches | | 0 | "Rory had been coming here for months, ever since she’d fled Cardiff, but tonight the place felt different—smaller, somehow, as if the years had pressed in on the dark wood and low ceilings." | | 1 | "But it was her eyes that struck Rory the hardest—hollow, shadowed, the kind of tired that didn’t come from a single sleepless night." | | 2 | "They hadn’t seen each other in three years—not since Rory had left Cardiff without a word, not since Eva had chosen Evan’s side over hers." | | 3 | "Rory wanted to reach for her, to touch her arm, to say something—anything—that would bridge the years between them." |
| |
| 98.16% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1140 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 48 | | adverbRatio | 0.042105263157894736 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.009649122807017544 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 146 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 146 | | mean | 9.48 | | std | 7.04 | | cv | 0.742 | | sampleLengths | | 0 | 23 | | 1 | 33 | | 2 | 23 | | 3 | 21 | | 4 | 13 | | 5 | 4 | | 6 | 16 | | 7 | 19 | | 8 | 10 | | 9 | 5 | | 10 | 3 | | 11 | 4 | | 12 | 12 | | 13 | 5 | | 14 | 21 | | 15 | 15 | | 16 | 23 | | 17 | 12 | | 18 | 8 | | 19 | 1 | | 20 | 8 | | 21 | 25 | | 22 | 14 | | 23 | 13 | | 24 | 12 | | 25 | 6 | | 26 | 2 | | 27 | 8 | | 28 | 20 | | 29 | 9 | | 30 | 4 | | 31 | 4 | | 32 | 4 | | 33 | 9 | | 34 | 6 | | 35 | 16 | | 36 | 3 | | 37 | 2 | | 38 | 23 | | 39 | 5 | | 40 | 10 | | 41 | 14 | | 42 | 10 | | 43 | 10 | | 44 | 3 | | 45 | 4 | | 46 | 4 | | 47 | 7 | | 48 | 5 | | 49 | 13 |
| |
| 45.21% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.2876712328767123 | | totalSentences | 146 | | uniqueOpeners | 42 | |
| 95.24% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 105 | | matches | | 0 | "Slowly, she lifted her head." | | 1 | "Instead, she took a sip" | | 2 | "Then she was gone, the" |
| | ratio | 0.029 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 30 | | totalSentences | 105 | | matches | | 0 | "She sat at the bar," | | 1 | "She was used to the" | | 2 | "Her breath hitched." | | 3 | "She knew that voice." | | 4 | "Her face was sharper, her" | | 5 | "They hadn’t seen each other" | | 6 | "His hazel eyes flicked between" | | 7 | "he said, nodding" | | 8 | "He just wiped a glass" | | 9 | "She hadn’t smoked in years." | | 10 | "she said, finally meeting Rory’s" | | 11 | "It had been a refuge," | | 12 | "She’d lied to Eva about" | | 13 | "She’d lied to herself, too," | | 14 | "she said, setting the glass" | | 15 | "She remembered the way Evan" | | 16 | "She remembered the night she’d" | | 17 | "She shook her head, almost" | | 18 | "She didn’t want to talk" | | 19 | "she asked instead" |
| | ratio | 0.286 | |
| 26.67% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 91 | | totalSentences | 105 | | matches | | 0 | "The Raven’s Nest smelled of" | | 1 | "Rory had been coming here" | | 2 | "She sat at the bar," | | 3 | "The crescent scar on her" | | 4 | "The door creaked open, letting" | | 5 | "Rory didn’t look up." | | 6 | "She was used to the" | | 7 | "a voice said, low and" | | 8 | "Her breath hitched." | | 9 | "She knew that voice." | | 10 | "Eva stood in the doorway," | | 11 | "Her face was sharper, her" | | 12 | "Rory said, and the name" | | 13 | "Eva smiled, but it didn’t" | | 14 | "Rory stood, her stool scraping" | | 15 | "They hadn’t seen each other" | | 16 | "The silence between them was" | | 17 | "Rory asked, because she had" | | 18 | "Eva stepped further into the" | | 19 | "The word was too close" |
| | ratio | 0.867 | |
| 47.62% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 105 | | matches | | 0 | "Before she could respond, Silas" |
| | ratio | 0.01 | |
| 73.17% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 41 | | technicalSentenceCount | 4 | | matches | | 0 | "Rory had been coming here for months, ever since she’d fled Cardiff, but tonight the place felt different—smaller, somehow, as if the years had pressed in on th…" | | 1 | "But it was her eyes that struck Rory the hardest—hollow, shadowed, the kind of tired that didn’t come from a single sleepless night." | | 2 | "But now she was quiet, her fingers tracing the grain of the bar top like she was memorizing it." | | 3 | "Then she was gone, the door swinging shut behind her, leaving Rory alone with the weight of the past and the ghost of a friendship that had once meant everythin…" |
| |
| 19.74% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 19 | | uselessAdditionCount | 4 | | matches | | 0 | "Rory said, and the name tasted like rust in her mouth" | | 1 | "Eva finished, her lips twisting" | | 2 | "he said, his voice neutral" | | 3 | "she said, her voice barely above a whisper" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 17 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 52 | | tagDensity | 0.327 | | leniency | 0.654 | | rawRatio | 0.059 | | effectiveRatio | 0.038 | |