| 70.97% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 2 | | adverbTags | | 0 | "Lucien said smoothly [smoothly]" | | 1 | "he agreed softly [softly]" |
| | dialogueSentences | 31 | | tagDensity | 0.484 | | leniency | 0.968 | | rawRatio | 0.133 | | effectiveRatio | 0.129 | |
| 73.66% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1329 | | totalAiIsmAdverbs | 7 | | found | | | highlights | | 0 | "precisely" | | 1 | "quickly" | | 2 | "slightly" | | 3 | "very" | | 4 | "softly" | | 5 | "gently" | | 6 | "lightly" |
| |
| 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) | |
| 58.62% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1329 | | totalAiIsms | 11 | | found | | | highlights | | 0 | "weight" | | 1 | "pulse" | | 2 | "lilt" | | 3 | "whisper" | | 4 | "firmly" | | 5 | "navigate" | | 6 | "chaotic" | | 7 | "silence" | | 8 | "measured" | | 9 | "tension" |
| |
| 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 | 57 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 57 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 73 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 51 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1327 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 17 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 29 | | wordCount | 988 | | uniqueNames | 16 | | maxNameDensity | 0.71 | | worstName | "Aurora" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Aurora" | | discoveredNames | | Aurora | 7 | | Eva | 2 | | British | 1 | | Library | 1 | | Moreau | 1 | | Brick | 1 | | Lane | 1 | | Avaros | 1 | | French | 1 | | London | 1 | | Welsh | 1 | | Ptolemy | 2 | | Lucien | 6 | | Yu-Fei | 1 | | Soho | 1 | | Evan | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Eva" | | 2 | "Moreau" | | 3 | "Ptolemy" | | 4 | "Lucien" | | 5 | "Yu-Fei" | | 6 | "Evan" |
| | places | | 0 | "British" | | 1 | "Library" | | 2 | "Brick" | | 3 | "Lane" | | 4 | "Avaros" | | 5 | "London" | | 6 | "Soho" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 47 | | 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 | 1327 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 73 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 34 | | mean | 39.03 | | std | 28.42 | | cv | 0.728 | | sampleLengths | | 0 | 22 | | 1 | 52 | | 2 | 88 | | 3 | 38 | | 4 | 36 | | 5 | 36 | | 6 | 39 | | 7 | 57 | | 8 | 48 | | 9 | 13 | | 10 | 56 | | 11 | 10 | | 12 | 69 | | 13 | 5 | | 14 | 95 | | 15 | 31 | | 16 | 45 | | 17 | 4 | | 18 | 100 | | 19 | 20 | | 20 | 71 | | 21 | 8 | | 22 | 4 | | 23 | 59 | | 24 | 16 | | 25 | 10 | | 26 | 70 | | 27 | 12 | | 28 | 77 | | 29 | 3 | | 30 | 3 | | 31 | 38 | | 32 | 24 | | 33 | 68 |
| |
| 92.95% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 57 | | matches | | 0 | "was slicked" | | 1 | "was buried" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 157 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 2 | | semicolonCount | 6 | | flaggedSentences | 8 | | totalSentences | 73 | | ratio | 0.11 | | matches | | 0 | "In the dim yellow wattage of the hall, his heterochromatic eyes caught the light with devastating asymmetry—the left molten amber, the right an absolute, lightless black that reached straight back into the brimstone canyons of Avaros." | | 1 | "It wasn't just his height or the absurd perfection of his tailoring in a flat that rented for less than his cufflinks; it was the hum of something ancient and predatory beneath his skin, a thrumming current that raised the fine hairs on Aurora's forearms." | | 2 | "The thin, deadly blade hidden in its length didn't rattle; nothing about him ever rattled." | | 3 | "She was cool-headed; Yu-Fei relied on her to navigate the chaotic delivery routes of Soho without a single cracked container or lost temper, and she’d survived Evan by learning how to make herself made of stone." | | 4 | "The amber eye burned; the black eye swallowed everything." | | 5 | "His thumb brushed the hollow beneath her cheekbone, his skin shockingly warm—the hellfire blood in him running hot beneath the pale surface." | | 6 | "He didn't press; he simply held her pulse against his palm, feeling the frantic, wild gallop of it." | | 7 | "Lucien’s mouth curved into a faint, self-mocking smile, but the tension between them didn't break; it coiled tighter, pulling them together until the damp wool of his overcoat brushed against her chest." |
| |
| 88.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1001 | | adjectiveStacks | 2 | | stackExamples | | 0 | "pale, crescent-shaped scar" | | 1 | "faint, self-mocking smile," |
| | adverbCount | 37 | | adverbRatio | 0.03696303696303696 | | lyAdverbCount | 17 | | lyAdverbRatio | 0.016983016983016984 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 73 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 73 | | mean | 18.18 | | std | 11.54 | | cv | 0.635 | | sampleLengths | | 0 | 22 | | 1 | 32 | | 2 | 20 | | 3 | 25 | | 4 | 20 | | 5 | 7 | | 6 | 36 | | 7 | 8 | | 8 | 21 | | 9 | 9 | | 10 | 12 | | 11 | 24 | | 12 | 18 | | 13 | 18 | | 14 | 14 | | 15 | 25 | | 16 | 9 | | 17 | 3 | | 18 | 45 | | 19 | 21 | | 20 | 4 | | 21 | 23 | | 22 | 13 | | 23 | 6 | | 24 | 16 | | 25 | 24 | | 26 | 10 | | 27 | 10 | | 28 | 5 | | 29 | 15 | | 30 | 15 | | 31 | 34 | | 32 | 5 | | 33 | 33 | | 34 | 31 | | 35 | 31 | | 36 | 21 | | 37 | 10 | | 38 | 12 | | 39 | 33 | | 40 | 4 | | 41 | 13 | | 42 | 8 | | 43 | 36 | | 44 | 9 | | 45 | 34 | | 46 | 20 | | 47 | 3 | | 48 | 9 | | 49 | 18 |
| |
| 72.60% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.4931506849315068 | | totalSentences | 73 | | uniqueOpeners | 36 | |
| 61.73% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 54 | | matches | | 0 | "Instead, with shameless treachery, Ptolemy" |
| | ratio | 0.019 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 30 | | totalSentences | 54 | | matches | | 0 | "She had expected the kid" | | 1 | "She had not expected six" | | 2 | "His platinum hair was slicked" | | 3 | "His voice was smooth as" | | 4 | "Her pulse hit her throat" | | 5 | "she said, her Welsh lilt" | | 6 | "He didn't wait for permission" | | 7 | "He simply tilted his chin," | | 8 | "He took up all the" | | 9 | "He always had." | | 10 | "It wasn't just his height" | | 11 | "He peeled off his gloves," | | 12 | "He turned to face her." | | 13 | "She crossed her arms, her" | | 14 | "She knew the habit made" | | 15 | "he corrected, his voice dropping" | | 16 | "she snapped, the heat rising" | | 17 | "Her voice spiked, cracking the" | | 18 | "She hated how quickly he" | | 19 | "She was cool-headed; Yu-Fei relied" |
| | ratio | 0.556 | |
| 15.56% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 48 | | totalSentences | 54 | | matches | | 0 | "The third deadbolt fell back" | | 1 | "She had expected the kid" | | 2 | "She had not expected six" | | 3 | "Lucien Moreau stood on the" | | 4 | "His platinum hair was slicked" | | 5 | "His voice was smooth as" | | 6 | "Aurora’s hand tightened on the" | | 7 | "Her pulse hit her throat" | | 8 | "she said, her Welsh lilt" | | 9 | "He didn't wait for permission" | | 10 | "He simply tilted his chin," | | 11 | "He took up all the" | | 12 | "He always had." | | 13 | "It wasn't just his height" | | 14 | "Ptolemy, curled into an orange" | | 15 | "The cat didn't hiss." | | 16 | "Aurora muttered, locking the top" | | 17 | "Lucien said smoothly" | | 18 | "He peeled off his gloves," | | 19 | "Every square foot of table" |
| | ratio | 0.889 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 54 | | matches | (empty) | | ratio | 0 | |
| 31.25% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 32 | | technicalSentenceCount | 5 | | matches | | 0 | "Lucien Moreau stood on the dingy landing of the Brick Lane tenement, framed by peeling wallpaper that smelled permanently of toasted coriander and wet wool." | | 1 | "It wasn't just his height or the absurd perfection of his tailoring in a flat that rented for less than his cufflinks; it was the hum of something ancient and p…" | | 2 | "The space between them shrank until she could see the faint dusting of silver at his temples, the faint pallor of his skin that spoke of sleeplessness, and the …" | | 3 | "She hated the way she leaned into his palm, hated the fierce, embarrassing relief that washed through her ribs, leaving her hollowed out and aching." | | 4 | "Aurora looked at the sharp cut of his mouth, the faint, cruel elegance of a man born between two worlds who belonged to neither, and saw the raw, terrifying hon…" |
| |
| 25.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 3 | | matches | | 0 | "she said, her Welsh lilt sharpening into something defensive" | | 1 | "she snapped, the heat rising in her cheeks" | | 2 | "she said, though the lie was so fragile it crumbled before it even left her lips" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 6 | | fancyTags | | 0 | "Aurora muttered (mutter)" | | 1 | "he corrected (correct)" | | 2 | "she snapped (snap)" | | 3 | "he whispered (whisper)" | | 4 | "she whispered (whisper)" | | 5 | "he agreed softly (agree)" |
| | dialogueSentences | 31 | | tagDensity | 0.355 | | leniency | 0.71 | | rawRatio | 0.545 | | effectiveRatio | 0.387 | |