| 66.67% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 2 | | adverbTags | | 0 | "Lucien said softly [softly]" | | 1 | "Lucien answered softly [softly]" |
| | dialogueSentences | 28 | | tagDensity | 0.536 | | leniency | 1 | | rawRatio | 0.133 | | effectiveRatio | 0.133 | |
| 61.59% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1432 | | totalAiIsmAdverbs | 11 | | found | | | highlights | | 0 | "slightly" | | 1 | "quickly" | | 2 | "carefully" | | 3 | "softly" | | 4 | "gently" | | 5 | "really" | | 6 | "very" |
| |
| 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) | |
| 33.66% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1432 | | totalAiIsms | 19 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | |
| | highlights | | 0 | "sanctuary" | | 1 | "chill" | | 2 | "familiar" | | 3 | "lurch" | | 4 | "unreadable" | | 5 | "weight" | | 6 | "constructed" | | 7 | "flicked" | | 8 | "tension" | | 9 | "palpable" | | 10 | "charm" | | 11 | "fascinating" | | 12 | "echoed" | | 13 | "pulse" | | 14 | "unspoken" | | 15 | "could feel" | | 16 | "silence" | | 17 | "magnetic" |
| |
| 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 | 53 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 53 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 66 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 60 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 3 | | markdownWords | 5 | | totalWords | 1423 | | ratio | 0.004 | | matches | | 0 | "was" | | 1 | "mon dieu" | | 2 | "Ma belle." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 95.41% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 29 | | wordCount | 916 | | uniqueNames | 12 | | maxNameDensity | 1.09 | | worstName | "Lucien" | | maxWindowNameDensity | 2 | | worstWindowName | "Lucien" | | discoveredNames | | Earl | 1 | | Grey | 1 | | Eva | 1 | | Brick | 1 | | Lane | 1 | | London | 3 | | French | 2 | | Moreau | 1 | | Marseille | 1 | | Lucien | 10 | | Rory | 6 | | Ptolemy | 1 |
| | persons | | 0 | "Earl" | | 1 | "Grey" | | 2 | "Eva" | | 3 | "Moreau" | | 4 | "Lucien" | | 5 | "Rory" | | 6 | "Ptolemy" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "London" | | 3 | "French" | | 4 | "Marseille" |
| | globalScore | 0.954 | | windowScore | 1 | |
| 45.83% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 48 | | glossingSentenceCount | 2 | | matches | | 0 | "suit that seemed to absorb the light" | | 1 | "looked like he hadn't slept properly sinc" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1423 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 66 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 33 | | mean | 43.12 | | std | 22.27 | | cv | 0.517 | | sampleLengths | | 0 | 74 | | 1 | 20 | | 2 | 37 | | 3 | 55 | | 4 | 25 | | 5 | 41 | | 6 | 58 | | 7 | 31 | | 8 | 1 | | 9 | 6 | | 10 | 57 | | 11 | 50 | | 12 | 44 | | 13 | 63 | | 14 | 68 | | 15 | 21 | | 16 | 64 | | 17 | 3 | | 18 | 58 | | 19 | 37 | | 20 | 47 | | 21 | 83 | | 22 | 67 | | 23 | 18 | | 24 | 60 | | 25 | 82 | | 26 | 56 | | 27 | 60 | | 28 | 28 | | 29 | 18 | | 30 | 39 | | 31 | 38 | | 32 | 14 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 53 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 150 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 2 | | flaggedSentences | 8 | | totalSentences | 66 | | ratio | 0.121 | | matches | | 0 | "A familiar, clean breath of ozone and expensive French tobacco drifted past her senses—a scent she had spent the last six months convincing herself she no longer recognized." | | 1 | "His slicked-back platinum blond hair caught the harsh glare, and his heterochromatic gaze locked onto hers—one eye a warm, liquid amber, the other an abyss of solid, midnight black." | | 2 | "She unconsciously tugged her sleeve down to cover the small crescent-shaped scar she’d carried since childhood—a reflex she always had when she felt cornered." | | 3 | "He didn't force his way past her; he simply closed the distance until the heat radiating from him was palpable, smelling faintly of rain and cedar." | | 4 | "\"You think I pulled away because I wanted you safe?\" Lucien murmured, his voice dropping an octave, slipping entirely into French for a fraction of a second—a soft, ragged *mon dieu* before he caught himself." | | 5 | "The anger in Rory's chest didn't vanish; it curdled, turning into a hot, suffocating ache." | | 6 | "She looked at him—really looked at him—and saw the faint exhaustion lining his mouth, the way his knuckles were white where he gripped his cane." | | 7 | "Lucien’s mouth curved into a slow, genuine smile—the rare, breathtaking one she hadn't seen in six months." |
| |
| 77.02% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 928 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small crescent-shaped scar" |
| | adverbCount | 49 | | adverbRatio | 0.052801724137931036 | | lyAdverbCount | 25 | | lyAdverbRatio | 0.02693965517241379 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 66 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 66 | | mean | 21.56 | | std | 14.22 | | cv | 0.66 | | sampleLengths | | 0 | 19 | | 1 | 20 | | 2 | 35 | | 3 | 20 | | 4 | 9 | | 5 | 28 | | 6 | 26 | | 7 | 29 | | 8 | 3 | | 9 | 22 | | 10 | 3 | | 11 | 38 | | 12 | 7 | | 13 | 51 | | 14 | 3 | | 15 | 24 | | 16 | 4 | | 17 | 1 | | 18 | 6 | | 19 | 35 | | 20 | 22 | | 21 | 26 | | 22 | 24 | | 23 | 7 | | 24 | 26 | | 25 | 11 | | 26 | 40 | | 27 | 23 | | 28 | 12 | | 29 | 56 | | 30 | 14 | | 31 | 7 | | 32 | 8 | | 33 | 56 | | 34 | 3 | | 35 | 58 | | 36 | 37 | | 37 | 7 | | 38 | 40 | | 39 | 35 | | 40 | 48 | | 41 | 15 | | 42 | 25 | | 43 | 11 | | 44 | 16 | | 45 | 18 | | 46 | 22 | | 47 | 10 | | 48 | 28 | | 49 | 3 |
| |
| 60.10% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.3787878787878788 | | totalSentences | 66 | | uniqueOpeners | 25 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 52 | | matches | (empty) | | ratio | 0 | |
| 20.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 26 | | totalSentences | 52 | | matches | | 0 | "His slicked-back platinum blond hair" | | 1 | "His voice was low, smooth" | | 2 | "She didn't move." | | 3 | "Her heart gave a violent," | | 4 | "she said, her voice entirely" | | 5 | "He leaned his weight slightly" | | 6 | "She hated how quickly the" | | 7 | "She unconsciously tugged her sleeve" | | 8 | "He didn't force his way" | | 9 | "He stopped just shy of" | | 10 | "She gave a harsh, humorless" | | 11 | "Her voice echoed down the" | | 12 | "He reached out, his long" | | 13 | "She looked at him—really looked" | | 14 | "He wasn't the untouchable prince" | | 15 | "He was just a man" | | 16 | "she whispered, though the bite" | | 17 | "Her pulse thudded in her" | | 18 | "She wanted to push him" | | 19 | "Her body remembered the weight" |
| | ratio | 0.5 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 48 | | totalSentences | 52 | | matches | | 0 | "The third deadbolt always stuck," | | 1 | "Rory threw her hip against" | | 2 | "The door yielded with a" | | 3 | "Rory froze, her hand still" | | 4 | "A familiar, clean breath of" | | 5 | "Lucien Moreau stood beneath the" | | 6 | "His slicked-back platinum blond hair" | | 7 | "His voice was low, smooth" | | 8 | "She didn't move." | | 9 | "Her heart gave a violent," | | 10 | "she said, her voice entirely" | | 11 | "Lucien didn't smile." | | 12 | "He leaned his weight slightly" | | 13 | "The words slipped out before" | | 14 | "She hated how quickly the" | | 15 | "Lucien’s gaze flicked down, noting" | | 16 | "She unconsciously tugged her sleeve" | | 17 | "He didn't force his way" | | 18 | "He stopped just shy of" | | 19 | "Lucien said softly, the charm" |
| | ratio | 0.923 | |
| 96.15% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 52 | | matches | | 0 | "Before she could kick the" |
| | ratio | 0.019 | |
| 19.70% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 29 | | technicalSentenceCount | 5 | | matches | | 0 | "The door yielded with a heavy sigh, releasing the heavy scent of old parchment, stale Earl Grey, and cat dander that meant she was finally back inside Eva’s san…" | | 1 | "Lucien Moreau stood beneath the flickering amber glow of the hallway bulb, impeccably tailored as always in a charcoal suit that seemed to absorb the light." | | 2 | "He reached out, his long fingers hovering an inch from her cheek as if he wanted to trace the line of her jaw, to confirm she was real, before letting his hand …" | | 3 | "Her body remembered the weight of his arms around her, the way his mismatched eyes would soften only for her in the quiet hours before dawn, the fierce, unspoke…" | | 4 | "The silence stretched between them, heavy with everything left unsaid, every unresolved argument, and the undeniable, magnetic pull that had defied every warnin…" |
| |
| 25.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 3 | | matches | | 0 | "she said, her voice entirely flat" | | 1 | "Rory snapped, her chin coming up" | | 2 | "Lucien said, his amber eye flashing with sudden, dangerous heat" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 6 | | fancyTags | | 0 | "Rory snapped (snap)" | | 1 | "Lucien murmured (murmur)" | | 2 | "she whispered (whisper)" | | 3 | "she breathed (breathe)" | | 4 | "she whispered (whisper)" | | 5 | "he murmured (murmur)" |
| | dialogueSentences | 28 | | tagDensity | 0.393 | | leniency | 0.786 | | rawRatio | 0.545 | | effectiveRatio | 0.429 | |