| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 25 | | adverbTagCount | 1 | | adverbTags | | 0 | "he said finally [finally]" |
| | dialogueSentences | 60 | | tagDensity | 0.417 | | leniency | 0.833 | | rawRatio | 0.04 | | effectiveRatio | 0.033 | |
| 80.16% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1764 | | totalAiIsmAdverbs | 7 | | found | | 0 | | | 1 | | | 2 | | adverb | "deliberately" | | count | 1 |
| | 3 | |
| | highlights | | 0 | "really" | | 1 | "carefully" | | 2 | "deliberately" | | 3 | "slowly" |
| |
| 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) | |
| 74.49% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1764 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "flickered" | | 1 | "stark" | | 2 | "could feel" | | 3 | "perfect" | | 4 | "tension" | | 5 | "measured" | | 6 | "wavered" | | 7 | "weight" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 2 | | found | | 0 | | label | "weight of words/silence" | | count | 1 |
| | 1 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | 0 | "the weight of the moment" | | 1 | "hung in the air" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 109 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 109 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 142 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 50 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1742 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 32 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 40 | | wordCount | 1249 | | uniqueNames | 13 | | maxNameDensity | 0.72 | | worstName | "Aurora" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Aurora" | | discoveredNames | | Aurora | 9 | | Eva | 5 | | Brick | 1 | | Lane | 1 | | Tube | 1 | | Carter | 1 | | Moreau | 1 | | London | 5 | | French | 2 | | Lucien | 6 | | Swallowed | 1 | | Ptolemy | 4 | | Avaros | 3 |
| | persons | | 0 | "Aurora" | | 1 | "Eva" | | 2 | "Carter" | | 3 | "Moreau" | | 4 | "Lucien" | | 5 | "Ptolemy" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "Tube" | | 3 | "London" | | 4 | "Avaros" |
| | globalScore | 1 | | windowScore | 1 | |
| 34.62% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 65 | | glossingSentenceCount | 3 | | matches | | 0 | "quite meet the frame, lifted his head and blinked in the direction of the door" | | 1 | "seemed thinner than before" | | 2 | "smelled like cologne and something else, s" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1742 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 142 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 60 | | mean | 29.03 | | std | 25.88 | | cv | 0.891 | | sampleLengths | | 0 | 79 | | 1 | 38 | | 2 | 70 | | 3 | 3 | | 4 | 38 | | 5 | 91 | | 6 | 65 | | 7 | 32 | | 8 | 50 | | 9 | 16 | | 10 | 1 | | 11 | 1 | | 12 | 40 | | 13 | 69 | | 14 | 13 | | 15 | 7 | | 16 | 4 | | 17 | 1 | | 18 | 3 | | 19 | 35 | | 20 | 42 | | 21 | 32 | | 22 | 3 | | 23 | 10 | | 24 | 24 | | 25 | 11 | | 26 | 5 | | 27 | 4 | | 28 | 65 | | 29 | 37 | | 30 | 47 | | 31 | 5 | | 32 | 4 | | 33 | 31 | | 34 | 66 | | 35 | 16 | | 36 | 55 | | 37 | 57 | | 38 | 43 | | 39 | 5 | | 40 | 1 | | 41 | 4 | | 42 | 1 | | 43 | 1 | | 44 | 31 | | 45 | 69 | | 46 | 39 | | 47 | 14 | | 48 | 97 | | 49 | 24 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 109 | | matches | (empty) | |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 7 | | totalVerbs | 223 | | matches | | 0 | "was fighting" | | 1 | "was working, was smoothing" | | 2 | "was giving" | | 3 | "was stepping" | | 4 | "was, standing" | | 5 | "was crying" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 142 | | ratio | 0.077 | | matches | | 0 | "The deadbolt was the third one Aurora was fighting with when she heard it—a knock at the door, unhurried, almost polite." | | 1 | "She'd never gotten around to the third deadbolt—she never needed to, not really, not when Eva's research notes were scattered across every surface like autumn leaves and the only supernatural thing in the flat was the lingering residue of protective wards Eva had painted into the plaster years ago." | | 2 | "That had always been her problem—cool-headed, intelligent Aurora Carter, known for quick out-of-the-box thinking, and yet she could never stop herself from opening doors she should have left shut." | | 3 | "The fluorescent light above them flickered once, twice, casting his face in stark relief—the sharp cheekbones, the pale sweep of his slicked-back platinum hair, the sharp line of his jaw." | | 4 | "One amber, one black—heterochromatic, the word was too clinical for what they actually were." | | 5 | "His voice was exactly as she remembered—low, smooth, with that faint French curl to his consonants that he'd never quite shed despite a decade in London." | | 6 | "He watched her flinch, and something shifted in his expression—a tightening around his mouth, a darkness that flickered in the amber eye." | | 7 | "The curse was so unexpected—so far from his usual careful diction—that Aurora stared at him." | | 8 | "She'd heard of it—the demon realm, the place Lucien came from, the half of him that he kept carefully hidden beneath tailored suits and perfect French." | | 9 | "Then he moved toward her, slow, deliberate, the way he approached negotiations—measured, careful, giving her every chance to retreat." | | 10 | "Aurora laughed—a broken, wet sound—and then she was crying, properly crying, the tears she'd been holding back for months spilling down her cheeks." |
| |
| 85.49% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1267 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small crescent-shaped scar" |
| | adverbCount | 63 | | adverbRatio | 0.049723756906077346 | | lyAdverbCount | 16 | | lyAdverbRatio | 0.012628255722178374 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 142 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 142 | | mean | 12.27 | | std | 11.27 | | cv | 0.918 | | sampleLengths | | 0 | 21 | | 1 | 13 | | 2 | 5 | | 3 | 4 | | 4 | 36 | | 5 | 30 | | 6 | 3 | | 7 | 5 | | 8 | 7 | | 9 | 49 | | 10 | 14 | | 11 | 3 | | 12 | 5 | | 13 | 4 | | 14 | 29 | | 15 | 16 | | 16 | 30 | | 17 | 7 | | 18 | 10 | | 19 | 28 | | 20 | 6 | | 21 | 14 | | 22 | 21 | | 23 | 7 | | 24 | 4 | | 25 | 13 | | 26 | 3 | | 27 | 26 | | 28 | 3 | | 29 | 2 | | 30 | 43 | | 31 | 5 | | 32 | 12 | | 33 | 4 | | 34 | 1 | | 35 | 1 | | 36 | 4 | | 37 | 32 | | 38 | 2 | | 39 | 2 | | 40 | 6 | | 41 | 42 | | 42 | 7 | | 43 | 14 | | 44 | 7 | | 45 | 6 | | 46 | 7 | | 47 | 4 | | 48 | 1 | | 49 | 3 |
| |
| 30.52% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 30 | | diversityRatio | 0.30985915492957744 | | totalSentences | 142 | | uniqueOpeners | 44 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 89 | | matches | | 0 | "Of course she did." | | 1 | "Then he moved toward her," | | 2 | "Then, slowly, his arms tightened" |
| | ratio | 0.034 | |
| 4.27% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 48 | | totalSentences | 89 | | matches | | 0 | "She froze, keys still in" | | 1 | "He didn't hiss." | | 2 | "She'd never gotten around to" | | 3 | "She stood on her toes" | | 4 | "It couldn't be." | | 5 | "She opened the door anyway." | | 6 | "He wore charcoal, as he" | | 7 | "She'd spent hours staring into" | | 8 | "She'd dreamed about them." | | 9 | "She'd woken up gasping, her" | | 10 | "His voice was exactly as" | | 11 | "She glanced behind her at" | | 12 | "He didn't move from the" | | 13 | "She could feel the small" | | 14 | "She'd had someone kiss that" | | 15 | "She'd had someone trace it" | | 16 | "He turned to face her" | | 17 | "He watched her flinch, and" | | 18 | "He'd told her once that" | | 19 | "He chose his words like" |
| | ratio | 0.539 | |
| 27.42% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 77 | | totalSentences | 89 | | matches | | 0 | "The deadbolt was the third" | | 1 | "She froze, keys still in" | | 2 | "Nobody knocked at this hour." | | 3 | "Ptolemy, who had been sleeping" | | 4 | "He didn't hiss." | | 5 | "That was something, at least." | | 6 | "Aurora pulled the key from" | | 7 | "She'd never gotten around to" | | 8 | "She stood on her toes" | | 9 | "It couldn't be." | | 10 | "She opened the door anyway." | | 11 | "That had always been her" | | 12 | "Lucien Moreau stood in the" | | 13 | "The fluorescent light above them" | | 14 | "He wore charcoal, as he" | | 15 | "The suit of a man" | | 16 | "The amber one caught the" | | 17 | "She'd spent hours staring into" | | 18 | "She'd dreamed about them." | | 19 | "She'd woken up gasping, her" |
| | ratio | 0.865 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 89 | | matches | (empty) | | ratio | 0 | |
| 46.33% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 37 | | technicalSentenceCount | 5 | | matches | | 0 | "The suit of a man who moved through London's supernatural underworld like he owned it, who brokered deals between creatures that didn't exist in the average cit…" | | 1 | "Not a demand, not the careful negotiation he used when he was working, when he was smoothing over some supernatural dispute or extracting information from someo…" | | 2 | "He watched her flinch, and something shifted in his expression—a tightening around his mouth, a darkness that flickered in the amber eye." | | 3 | "He chose his words like he chose his moves in the negotiations that kept London's supernatural world from tearing itself apart." | | 4 | "And yet here he was, standing in Eva's cramped flat, surrounded by research notes about things that shouldn't exist, his hand still resting on that cane that hi…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 25 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 83.33% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 14 | | fancyCount | 4 | | fancyTags | | 0 | "He laughed (laugh)" | | 1 | "she whispered (whisper)" | | 2 | "She pressed (press)" | | 3 | "he murmured (murmur)" |
| | dialogueSentences | 60 | | tagDensity | 0.233 | | leniency | 0.467 | | rawRatio | 0.286 | | effectiveRatio | 0.133 | |