| 18.18% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 27 | | adverbTagCount | 6 | | adverbTags | | 0 | "he said instead [instead]" | | 1 | "She laughed bitterly [bitterly]" | | 2 | "he said quietly [quietly]" | | 3 | "Lucien said softly [softly]" | | 4 | "she said slowly [slowly]" | | 5 | "His voice cracked slightly [slightly]" |
| | dialogueSentences | 66 | | tagDensity | 0.409 | | leniency | 0.818 | | rawRatio | 0.222 | | effectiveRatio | 0.182 | |
| 55.88% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1700 | | totalAiIsmAdverbs | 15 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | adverb | "barely above a whisper" | | count | 1 |
| | 6 | |
| | highlights | | 0 | "completely" | | 1 | "really" | | 2 | "slowly" | | 3 | "gently" | | 4 | "softly" | | 5 | "barely above a whisper" | | 6 | "slightly" |
| |
| 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) | |
| 82.35% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1700 | | totalAiIsms | 6 | | found | | | highlights | | 0 | "pulse" | | 1 | "flicked" | | 2 | "familiar" | | 3 | "whisper" | | 4 | "silence" |
| |
| 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 | 77 | | matches | (empty) | |
| 87.20% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 77 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 117 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 61 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 5 | | totalWords | 1684 | | ratio | 0.003 | | matches | | 0 | "The Hound of the Baskervilles" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 29 | | unquotedAttributions | 0 | | matches | (empty) | |
| 50.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 38 | | wordCount | 1047 | | uniqueNames | 17 | | maxNameDensity | 1.62 | | worstName | "Rory" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Rory" | | discoveredNames | | Tuesday | 1 | | Eva | 1 | | Lucien | 4 | | Moreau | 1 | | Professional | 1 | | Yu-Fei | 1 | | Marseille | 2 | | Formica | 1 | | Rory | 17 | | Evan | 1 | | Ptolemy | 2 | | Didn | 1 | | Christ | 1 | | Like | 1 | | Hound | 1 | | God | 1 | | Cardiff | 1 |
| | persons | | 0 | "Eva" | | 1 | "Lucien" | | 2 | "Moreau" | | 3 | "Yu-Fei" | | 4 | "Formica" | | 5 | "Rory" | | 6 | "Evan" | | 7 | "Ptolemy" |
| | places | | | globalScore | 0.688 | | windowScore | 0.5 | |
| 62.28% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 57 | | glossingSentenceCount | 2 | | matches | | 0 | "smelled like stale beer and old cigarettes" | | 1 | "felt like she was drowning" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1684 | | matches | (empty) | |
| 81.20% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 3 | | totalSentences | 117 | | matches | | 0 | "make that sound" | | 1 | "had that effect" | | 2 | "had that effect" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 61 | | mean | 27.61 | | std | 19.1 | | cv | 0.692 | | sampleLengths | | 0 | 17 | | 1 | 73 | | 2 | 18 | | 3 | 73 | | 4 | 33 | | 5 | 22 | | 6 | 63 | | 7 | 17 | | 8 | 18 | | 9 | 13 | | 10 | 65 | | 11 | 26 | | 12 | 31 | | 13 | 22 | | 14 | 26 | | 15 | 20 | | 16 | 18 | | 17 | 61 | | 18 | 15 | | 19 | 22 | | 20 | 1 | | 21 | 48 | | 22 | 40 | | 23 | 29 | | 24 | 7 | | 25 | 42 | | 26 | 8 | | 27 | 66 | | 28 | 18 | | 29 | 38 | | 30 | 17 | | 31 | 15 | | 32 | 34 | | 33 | 4 | | 34 | 36 | | 35 | 13 | | 36 | 34 | | 37 | 5 | | 38 | 23 | | 39 | 2 | | 40 | 40 | | 41 | 52 | | 42 | 17 | | 43 | 24 | | 44 | 13 | | 45 | 49 | | 46 | 54 | | 47 | 10 | | 48 | 39 | | 49 | 2 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 77 | | matches | | |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 191 | | matches | | 0 | "was remembering" | | 1 | "was memorizing" | | 2 | "was memorizing" | | 3 | "was carrying" | | 4 | "was really running" | | 5 | "was drowning" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 117 | | ratio | 0.094 | | matches | | 0 | "The hallway smelled like stale beer and old cigarettes—the usual Tuesday evening perfume of this building." | | 1 | "The same sharp jawline that had once made her throat go dry, the same heterochromatic eyes—one amber, one black—that seemed to see right through her." | | 2 | "His lips quirked—a ghost of the smile that had once undone her completely." | | 3 | "But seeing him now, really seeing him, brought it all back—the way he'd made her laugh until three in the morning, the way he'd held her when she'd cried about Evan, the way he'd kissed her like he was memorizing every inch of her mouth the night before he'd vanished back to Marseille without so much as a goodbye text." | | 4 | "\"I prefer to think of it as appropriate attire for important conversations.\" He stood, and Rory caught the way his gaze traveled over her—really looked at her, like he was memorizing how the fluorescent kitchen light caught the freckles across her nose, how her black hair framed her face better than any stylist could manage." | | 5 | "\"I assumed you'd have moved on. Found somewhere else to deliver Chinese food, someone else to share your existential dread with.\" He picked up one of the books scattered across her coffee table—a worn copy of *The Hound of the Baskervilles*—and flipped through the pages." | | 6 | "Not because she wanted to hear those words—God, no." | | 7 | "Rory knew that look—the same one he'd worn the night she'd found his phone ringing with calls from numbers she couldn't identify, the night he'd refused to tell her what he was really running from." | | 8 | "\"No games.\" He stepped closer, and she could smell his cologne—something woodsy and familiar." | | 9 | "She remembered this—vaguely, from childhood." | | 10 | "Not from crying—she hadn't cried since she was a kid, not really—but from the sheer impossibility of everything crashing down around her like this." |
| |
| 97.55% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 514 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 22 | | adverbRatio | 0.042801556420233464 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.005836575875486381 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 117 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 117 | | mean | 14.39 | | std | 11.86 | | cv | 0.824 | | sampleLengths | | 0 | 17 | | 1 | 30 | | 2 | 16 | | 3 | 27 | | 4 | 18 | | 5 | 8 | | 6 | 25 | | 7 | 27 | | 8 | 13 | | 9 | 17 | | 10 | 3 | | 11 | 13 | | 12 | 13 | | 13 | 9 | | 14 | 14 | | 15 | 42 | | 16 | 7 | | 17 | 13 | | 18 | 4 | | 19 | 7 | | 20 | 11 | | 21 | 9 | | 22 | 4 | | 23 | 2 | | 24 | 3 | | 25 | 60 | | 26 | 26 | | 27 | 12 | | 28 | 7 | | 29 | 12 | | 30 | 7 | | 31 | 10 | | 32 | 5 | | 33 | 5 | | 34 | 21 | | 35 | 16 | | 36 | 4 | | 37 | 5 | | 38 | 13 | | 39 | 55 | | 40 | 6 | | 41 | 15 | | 42 | 16 | | 43 | 6 | | 44 | 1 | | 45 | 45 | | 46 | 3 | | 47 | 19 | | 48 | 21 | | 49 | 15 |
| |
| 68.09% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.4188034188034188 | | totalSentences | 117 | | uniqueOpeners | 49 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 75 | | matches | | 0 | "Instead, she found herself staring" | | 1 | "Maybe it was the way" | | 2 | "Just a normal girl from" |
| | ratio | 0.04 | |
| 44.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 33 | | totalSentences | 75 | | matches | | 0 | "She'd been looking forward to" | | 1 | "He looked exactly the same" | | 2 | "she said, keeping her voice" | | 3 | "She'd perfected it over months" | | 4 | "His lips quirked—a ghost of" | | 5 | "He leaned against her kitchen" | | 6 | "His voice dropped, low and" | | 7 | "she heard herself say, because" | | 8 | "he said instead, and Christ," | | 9 | "She crossed her arms" | | 10 | "He stood, and Rory caught" | | 11 | "His eyes flicked to the" | | 12 | "He picked up one of" | | 13 | "She stepped closer, the anger" | | 14 | "He closed the book gently," | | 15 | "He ran a hand through" | | 16 | "She laughed bitterly" | | 17 | "His jaw tightened." | | 18 | "he said quietly" | | 19 | "He stepped closer, and she" |
| | ratio | 0.44 | |
| 53.33% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 61 | | totalSentences | 75 | | matches | | 0 | "The door swung open with" | | 1 | "Rory stood in the doorway" | | 2 | "The hallway smelled like stale" | | 3 | "She'd been looking forward to" | | 4 | "He looked exactly the same" | | 5 | "The same sharp jawline that" | | 6 | "A woman could kill him" | | 7 | "she said, keeping her voice" | | 8 | "She'd perfected it over months" | | 9 | "His lips quirked—a ghost of" | | 10 | "The words came out sharper" | | 11 | "He leaned against her kitchen" | | 12 | "Rory's grip tightened on the" | | 13 | "His voice dropped, low and" | | 14 | "she heard herself say, because" | | 15 | "The tabby emerged, tail high," | | 16 | "Rory felt something twist in" | | 17 | "Lucien observed, crouching down slowly" | | 18 | "The cat wound around his" | | 19 | "Rory stopped herself" |
| | ratio | 0.813 | |
| 66.67% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 75 | | matches | | 0 | "Even Ptolemy knew he was" |
| | ratio | 0.013 | |
| 47.62% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 30 | | technicalSentenceCount | 4 | | matches | | 0 | "The same sharp jawline that had once made her throat go dry, the same heterochromatic eyes—one amber, one black—that seemed to see right through her." | | 1 | "Rory knew that look—the same one he'd worn the night she'd found his phone ringing with calls from numbers she couldn't identify, the night he'd refused to tell…" | | 2 | "Just a normal girl from Cardiff who'd gotten unlucky with men and made poor choices about university degrees." | | 3 | "The metal was warm, alive somehow, humming with something that made her skin tingle." |
| |
| 87.96% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 27 | | uselessAdditionCount | 2 | | matches | | 0 | "He leaned, fingers drumming against the Formica" | | 1 | "she said, her voice steadier now," |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 3 | | fancyTags | | 0 | "she heard (hear)" | | 1 | "Lucien observed (observe)" | | 2 | "She laughed bitterly (laugh)" |
| | dialogueSentences | 66 | | tagDensity | 0.152 | | leniency | 0.303 | | rawRatio | 0.3 | | effectiveRatio | 0.091 | |