| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 95.03% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1007 | | totalAiIsmAdverbs | 1 | | found | | 0 | | adverb | "ever so slightly" | | count | 1 |
|
| | highlights | | |
| 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) | |
| 45.38% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1007 | | totalAiIsms | 11 | | found | | | highlights | | 0 | "gleaming" | | 1 | "gloom" | | 2 | "weight" | | 3 | "tracing" | | 4 | "remarkable" | | 5 | "intensity" | | 6 | "porcelain" | | 7 | "unreadable" | | 8 | "silence" | | 9 | "warmth" | | 10 | "shattered" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "knuckles turned white" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 69 | | matches | (empty) | |
| 39.34% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 2 | | narrationSentences | 69 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 69 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 38 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1001 | | ratio | 0 | | matches | (empty) | |
| 0.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 5 | | unquotedAttributions | 4 | | matches | | 0 | "You took your time, Lucien said, his voice a low, rich baritone with just a trace of its native Marseille cadence." | | 1 | "You lied to me about who you were working with, Rory snapped, a hot spike of ancient hurt flaring behind her ribs." | | 2 | "Ptolemy is missing, Lucien said quietly." | | 3 | "Damn it, she muttered, her anger deflating into sheer panic." |
| |
| 90.06% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 43 | | wordCount | 1001 | | uniqueNames | 16 | | maxNameDensity | 1.2 | | worstName | "Lucien" | | maxWindowNameDensity | 2 | | worstWindowName | "Lucien" | | discoveredNames | | Brick | 1 | | Lane | 1 | | Golden | 1 | | Empress | 1 | | Lucien | 12 | | Moreau | 2 | | Marseille | 1 | | Rory | 9 | | Soho | 1 | | Avaros | 1 | | Cardiff | 2 | | London | 1 | | Commercial | 1 | | Street | 1 | | Laila | 1 | | You | 7 |
| | persons | | 0 | "Lucien" | | 1 | "Moreau" | | 2 | "Rory" | | 3 | "Laila" | | 4 | "You" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "Golden" | | 3 | "Marseille" | | 4 | "Soho" | | 5 | "Cardiff" | | 6 | "London" | | 7 | "Commercial" | | 8 | "Street" |
| | globalScore | 0.901 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 54 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1001 | | matches | (empty) | |
| 70.05% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 69 | | matches | | 0 | "know that half" | | 1 | "do that the" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 23 | | mean | 43.52 | | std | 25.23 | | cv | 0.58 | | sampleLengths | | 0 | 92 | | 1 | 5 | | 2 | 10 | | 3 | 92 | | 4 | 18 | | 5 | 41 | | 6 | 40 | | 7 | 52 | | 8 | 52 | | 9 | 35 | | 10 | 54 | | 11 | 59 | | 12 | 74 | | 13 | 78 | | 14 | 45 | | 15 | 38 | | 16 | 6 | | 17 | 3 | | 18 | 67 | | 19 | 32 | | 20 | 34 | | 21 | 41 | | 22 | 33 |
| |
| 95.09% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 69 | | matches | | 0 | "was slicked" | | 1 | "were supposed" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 165 | | matches | | 0 | "was beginning" | | 1 | "were working" | | 2 | "was protecting" | | 3 | "was waiting" | | 4 | "was chasing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 1 | | flaggedSentences | 6 | | totalSentences | 69 | | ratio | 0.087 | | matches | | 0 | "But it was his face—the sharp angles of his jaw, the faint, ironic curl of his mouth—that paralyzed her." | | 1 | "One amber, burning and bright; the other a bottomless, light-absorbing black." | | 2 | "Rory’s hand tightened instinctively around the brass door handle until her knuckles turned white, her thumb brushing over the small crescent-shaped scar on her left wrist—a nervous tic she thought she had unlearned." | | 3 | "For a moment, the silence stretched between them, thick with unsaid things—the late nights over stale takeout maps, the desperate warmth of skin against skin in the dark, the mutual stubbornness that had finally shattered them both." | | 4 | "Instead, he lifted his left hand—the one not resting on the cane—and reached out." | | 5 | "If you touch my cat, Lucien—" |
| |
| 85.89% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1014 | | adjectiveStacks | 2 | | stackExamples | | 0 | "fragrant, cumin-heavy air" | | 1 | "small crescent-shaped scar" |
| | adverbCount | 43 | | adverbRatio | 0.04240631163708087 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.01282051282051282 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 69 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 69 | | mean | 14.51 | | std | 9.27 | | cv | 0.639 | | sampleLengths | | 0 | 22 | | 1 | 28 | | 2 | 19 | | 3 | 23 | | 4 | 5 | | 5 | 10 | | 6 | 25 | | 7 | 18 | | 8 | 16 | | 9 | 19 | | 10 | 3 | | 11 | 11 | | 12 | 18 | | 13 | 8 | | 14 | 33 | | 15 | 21 | | 16 | 12 | | 17 | 7 | | 18 | 28 | | 19 | 13 | | 20 | 9 | | 21 | 2 | | 22 | 4 | | 23 | 2 | | 24 | 14 | | 25 | 26 | | 26 | 3 | | 27 | 3 | | 28 | 15 | | 29 | 5 | | 30 | 15 | | 31 | 2 | | 32 | 22 | | 33 | 17 | | 34 | 13 | | 35 | 22 | | 36 | 37 | | 37 | 30 | | 38 | 22 | | 39 | 22 | | 40 | 15 | | 41 | 11 | | 42 | 27 | | 43 | 3 | | 44 | 7 | | 45 | 15 | | 46 | 8 | | 47 | 37 | | 48 | 3 | | 49 | 14 |
| |
| 81.64% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.5072463768115942 | | totalSentences | 69 | | uniqueOpeners | 35 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 63 | | matches | | 0 | "Usually, solicitors and bill collectors" | | 1 | "Instead, you followed me down" | | 2 | "Instead, he lifted his left" |
| | ratio | 0.048 | |
| 42.22% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 28 | | totalSentences | 63 | | matches | | 0 | "She wore her faded wool" | | 1 | "He looked entirely out of" | | 2 | "He wore a tailored charcoal" | | 3 | "His platinum blond hair was" | | 4 | "You took your time, Lucien" | | 5 | "I was beginning to think" | | 6 | "My door has three deadbolts" | | 7 | "He smelled of cold air," | | 8 | "You look well." | | 9 | "I’d look a damn sight" | | 10 | "We said everything that needed" | | 11 | "I recall you doing a" | | 12 | "You lied to me about" | | 13 | "You used my connections to" | | 14 | "I was protecting you from" | | 15 | "You were supposed to stay" | | 16 | "I am not some fragile" | | 17 | "I left Cardiff because my" | | 18 | "We are done." | | 19 | "You made your choice, I" |
| | ratio | 0.444 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 42 | | totalSentences | 63 | | matches | | 0 | "The third deadbolt always stuck," | | 1 | "Rory wrenched it open, her" | | 2 | "She wore her faded wool" | | 3 | "He looked entirely out of" | | 4 | "He wore a tailored charcoal" | | 5 | "His platinum blond hair was" | | 6 | "Neither of them spoke for" | | 7 | "Rory’s hand tightened instinctively around" | | 8 | "You took your time, Lucien" | | 9 | "I was beginning to think" | | 10 | "My door has three deadbolts" | | 11 | "Locks are suggestions, Rory." | | 12 | "Lucien shifted his weight onto" | | 13 | "He smelled of cold air," | | 14 | "You look well." | | 15 | "I’d look a damn sight" | | 16 | "We said everything that needed" | | 17 | "Lucien tilt his head, his" | | 18 | "I recall you doing a" | | 19 | "You lied to me about" |
| | ratio | 0.667 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 63 | | matches | | 0 | "Now turn around and go" | | 1 | "If you touch my cat," |
| | ratio | 0.032 | |
| 63.49% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 45 | | technicalSentenceCount | 5 | | matches | | 0 | "He wore a tailored charcoal suit that fit his lean frame with architectural precision, the jacket buttoned high." | | 1 | "But it was his face—the sharp angles of his jaw, the faint, ironic curl of his mouth—that paralyzed her." | | 2 | "Lucien tilt his head, his heterochromatic gaze tracing the line of her jaw, lingering just a fraction too long on her mouth." | | 3 | "For a moment, the silence stretched between them, thick with unsaid things—the late nights over stale takeout maps, the desperate warmth of skin against skin in…" | | 4 | "Ptolemy was her anchor, the one soft, warm, purring constant in a life that had grown entirely too complicated." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |