| 3.92% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 21 | | adverbTagCount | 5 | | adverbTags | | 0 | "Lucien stepped back [back]" | | 1 | "He gestured vaguely [vaguely]" | | 2 | "Rory gestured helplessly [helplessly]" | | 3 | "The word came fast [fast]" | | 4 | "The confession felt like [like]" |
| | dialogueSentences | 51 | | tagDensity | 0.412 | | leniency | 0.824 | | rawRatio | 0.238 | | effectiveRatio | 0.196 | |
| 71.61% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1409 | | totalAiIsmAdverbs | 8 | | found | | | highlights | | 0 | "perfectly" | | 1 | "slightly" | | 2 | "carefully" | | 3 | "helplessly" | | 4 | "very" | | 5 | "truly" | | 6 | "utterly" |
| |
| 100.00% | AI-ism character names | Target: 0 AI-default names (17 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 68.06% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1409 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "intensity" | | 1 | "flicker" | | 2 | "absolutely" | | 3 | "reminder" | | 4 | "eyebrow" | | 5 | "could feel" | | 6 | "traced" | | 7 | "gleaming" | | 8 | "navigated" |
| |
| 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 | 87 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 87 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 116 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 68 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1391 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 38 | | wordCount | 863 | | uniqueNames | 10 | | maxNameDensity | 1.39 | | worstName | "Rory" | | maxWindowNameDensity | 3 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 12 | | Moreau | 1 | | Eva | 7 | | Lucien | 12 | | Mayfair | 1 | | Pad | 1 | | Thai | 1 | | Cardiff | 1 | | Evan | 1 | | Drew | 1 |
| | persons | | 0 | "Rory" | | 1 | "Moreau" | | 2 | "Eva" | | 3 | "Lucien" | | 4 | "Evan" | | 5 | "Drew" |
| | places | | | globalScore | 0.805 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 56 | | glossingSentenceCount | 1 | | matches | | 0 | "smelled like smoke and sandalwood and some" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1391 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 116 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 45 | | mean | 30.91 | | std | 24.44 | | cv | 0.791 | | sampleLengths | | 0 | 15 | | 1 | 58 | | 2 | 19 | | 3 | 45 | | 4 | 19 | | 5 | 40 | | 6 | 13 | | 7 | 32 | | 8 | 65 | | 9 | 7 | | 10 | 4 | | 11 | 63 | | 12 | 23 | | 13 | 24 | | 14 | 34 | | 15 | 2 | | 16 | 55 | | 17 | 6 | | 18 | 42 | | 19 | 9 | | 20 | 3 | | 21 | 12 | | 22 | 29 | | 23 | 54 | | 24 | 54 | | 25 | 21 | | 26 | 68 | | 27 | 14 | | 28 | 2 | | 29 | 67 | | 30 | 16 | | 31 | 70 | | 32 | 101 | | 33 | 10 | | 34 | 1 | | 35 | 46 | | 36 | 42 | | 37 | 4 | | 38 | 65 | | 39 | 39 | | 40 | 9 | | 41 | 52 | | 42 | 1 | | 43 | 28 | | 44 | 8 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 87 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 149 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 8 | | totalSentences | 116 | | ratio | 0.069 | | matches | | 0 | "Lucien Moreau stood in the doorway of Eva's flat, one hand still on the knob, his mismatched eyes—amber and black—fixing on her with an intensity that made her breath catch." | | 1 | "The smell of curry from the restaurant below mixed with something else—sandalwood and smoke." | | 2 | "Rory met his gaze and saw something flicker there—challenge, hurt, something else she couldn't name." | | 3 | "The flat was exactly as she remembered—cramped, every surface buried under Eva's research." | | 4 | "\"How thoughtful.\" Lucien closed the door behind them—all three deadbolts clicking into place with practiced efficiency." | | 5 | "He didn't need it—the cane was for show, for the blade hidden inside—but he carried it everywhere." | | 6 | "She'd thrown words at him like weapons—too fast, too complicated, your world is too dangerous—and then she'd run." | | 7 | "Close enough that she could see the fine lines at the corners of his eyes, the slight discoloration of his sclera in his demon eye—black bleeding into where white should be." |
| |
| 84.12% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 877 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 51 | | adverbRatio | 0.05815279361459521 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.01710376282782212 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 116 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 116 | | mean | 11.99 | | std | 11.05 | | cv | 0.921 | | sampleLengths | | 0 | 15 | | 1 | 30 | | 2 | 22 | | 3 | 6 | | 4 | 19 | | 5 | 10 | | 6 | 16 | | 7 | 14 | | 8 | 2 | | 9 | 3 | | 10 | 9 | | 11 | 10 | | 12 | 6 | | 13 | 6 | | 14 | 28 | | 15 | 8 | | 16 | 5 | | 17 | 12 | | 18 | 5 | | 19 | 5 | | 20 | 10 | | 21 | 8 | | 22 | 15 | | 23 | 2 | | 24 | 40 | | 25 | 3 | | 26 | 4 | | 27 | 4 | | 28 | 13 | | 29 | 25 | | 30 | 25 | | 31 | 13 | | 32 | 10 | | 33 | 16 | | 34 | 8 | | 35 | 12 | | 36 | 7 | | 37 | 5 | | 38 | 4 | | 39 | 6 | | 40 | 2 | | 41 | 4 | | 42 | 6 | | 43 | 17 | | 44 | 17 | | 45 | 7 | | 46 | 4 | | 47 | 6 | | 48 | 32 | | 49 | 10 |
| |
| 77.01% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.5086206896551724 | | totalSentences | 116 | | uniqueOpeners | 59 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 80 | | matches | | 0 | "Of course Eva had stepped" | | 1 | "Of course Lucien was here" | | 2 | "Instead, she walked inside." | | 3 | "Just like she'd run from" | | 4 | "Instead, she stood frozen, caught" |
| | ratio | 0.063 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 23 | | totalSentences | 80 | | matches | | 0 | "He wore a charcoal suit" | | 1 | "Her full name on his" | | 2 | "She shifted the takeaway bag" | | 3 | "He didn't move from the" | | 4 | "It had been three months" | | 5 | "She should leave." | | 6 | "She should absolutely leave." | | 7 | "She didn't turn around, instead" | | 8 | "Her hands wanted to shake." | | 9 | "She wouldn't let them." | | 10 | "It wasn't a question." | | 11 | "He'd moved to stand near" | | 12 | "He didn't need it—the cane" | | 13 | "He gestured vaguely toward the" | | 14 | "She could feel the old" | | 15 | "They hadn't talked." | | 16 | "She'd thrown words at him" | | 17 | "He stopped an arm's length" | | 18 | "His body temperature ran three" | | 19 | "His palm was warm, his" |
| | ratio | 0.288 | |
| 72.50% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 62 | | totalSentences | 80 | | matches | | 0 | "The door swung open before" | | 1 | "Lucien Moreau stood in the" | | 2 | "He wore a charcoal suit" | | 3 | "A strand curled against his" | | 4 | "Her full name on his" | | 5 | "Rory kept her voice flat," | | 6 | "She shifted the takeaway bag" | | 7 | "The smell of curry from" | | 8 | "He didn't move from the" | | 9 | "Rory's friend had been making" | | 10 | "Rory adjusted her grip on" | | 11 | "Lucien stepped back, opening the" | | 12 | "The movement was graceful, controlled." | | 13 | "Everything he did was controlled." | | 14 | "That stung, probably because it" | | 15 | "Rory met his gaze and" | | 16 | "It had been three months" | | 17 | "She should leave." | | 18 | "She should absolutely leave." | | 19 | "The flat was exactly as" |
| | ratio | 0.775 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 80 | | matches | (empty) | | ratio | 0 | |
| 68.97% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 29 | | technicalSentenceCount | 3 | | matches | | 0 | "Lucien Moreau stood in the doorway of Eva's flat, one hand still on the knob, his mismatched eyes—amber and black—fixing on her with an intensity that made her …" | | 1 | "She could feel the old frustration rising, the same knot that had been building for months before she'd finally walked away." | | 2 | "Just like she'd run from Cardiff, from Evan, from everything that got too close, too real, too much." |
| |
| 53.57% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 21 | | uselessAdditionCount | 3 | | matches | | 0 | "Rory kept, professional" | | 1 | "Lucien's voice remained, but his fingers had gone white against the cane handle" | | 2 | "The word came fast, certain" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 1 | | fancyTags | | 0 | "she whispered (whisper)" |
| | dialogueSentences | 51 | | tagDensity | 0.039 | | leniency | 0.078 | | rawRatio | 0.5 | | effectiveRatio | 0.039 | |