| 91.89% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 2 | | adverbTags | | 0 | "he said quietly [quietly]" | | 1 | "she said finally [finally]" |
| | dialogueSentences | 37 | | tagDensity | 0.405 | | leniency | 0.811 | | rawRatio | 0.133 | | effectiveRatio | 0.108 | |
| 91.21% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1138 | | totalAiIsmAdverbs | 2 | | found | | | 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) | |
| 69.24% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1138 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "stomach" | | 1 | "flickered" | | 2 | "chaotic" | | 3 | "unreadable" | | 4 | "silence" | | 5 | "weight" | | 6 | "tracing" |
| |
| 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 | 37 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 37 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 59 | | 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 | 6 | | totalWords | 1149 | | ratio | 0.005 | | matches | | 0 | "forgive me, it's for the best." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 13 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 22 | | wordCount | 813 | | uniqueNames | 13 | | maxNameDensity | 0.49 | | worstName | "Eva" | | maxWindowNameDensity | 1 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 3 | | Oyster | 1 | | Eva | 4 | | Moreau | 2 | | Ptolemy | 1 | | Lucien | 3 | | Cardiff | 2 | | Evan | 1 | | Golden | 1 | | Empress | 1 | | Aurora | 1 | | Chinese | 1 | | London | 1 |
| | persons | | 0 | "Rory" | | 1 | "Eva" | | 2 | "Moreau" | | 3 | "Ptolemy" | | 4 | "Lucien" | | 5 | "Evan" | | 6 | "Aurora" |
| | places | | 0 | "Cardiff" | | 1 | "Golden" | | 2 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 32 | | 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 | 1149 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 59 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 34 | | mean | 33.79 | | std | 27.51 | | cv | 0.814 | | sampleLengths | | 0 | 68 | | 1 | 55 | | 2 | 2 | | 3 | 33 | | 4 | 6 | | 5 | 27 | | 6 | 85 | | 7 | 3 | | 8 | 16 | | 9 | 5 | | 10 | 23 | | 11 | 69 | | 12 | 108 | | 13 | 12 | | 14 | 53 | | 15 | 7 | | 16 | 20 | | 17 | 2 | | 18 | 68 | | 19 | 6 | | 20 | 42 | | 21 | 38 | | 22 | 9 | | 23 | 3 | | 24 | 39 | | 25 | 45 | | 26 | 60 | | 27 | 4 | | 28 | 42 | | 29 | 55 | | 30 | 14 | | 31 | 64 | | 32 | 53 | | 33 | 13 |
| |
| 76.81% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 37 | | matches | | 0 | "been poured" | | 1 | "being asked" | | 2 | "was allowed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 137 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 59 | | ratio | 0.102 | | matches | | 0 | "She stood in the gap, one hand still on the door, close enough that she could smell him — bergamot and gun oil and something underneath that was just him, that she'd never been able to name and had stopped trying to." | | 1 | "She thought about it — actually pictured herself doing it, the satisfying clunk of three deadbolts sliding home between them — and instead she stepped back and let him pass, because some things about her hadn't changed no matter how far she'd run from Cardiff or Evan or anyone else who'd taught her that wanting something was the same as being a fool." | | 2 | "There were shadows under both eyes now, human and inhuman alike, and a tightness at his mouth that hadn't been there the last time she'd seen him — the last time she'd watched him walk away from her in the rain outside the Golden Empress, both of them too proud to say the thing that mattered." | | 3 | "\"I feel terrible. It seemed only fair the two should match.\" He surveyed the flat — the towers of books, the scrolls curling at the edges on every flat surface, the smell of turmeric drifting up through the floor from the curry house below." | | 4 | "He flinched — actually flinched, and she hadn't thought that was in his repertoire, hadn't thought a half-demon fixer who dealt in secrets and blood debts could be wounded by four words spoken by a girl from Cardiff who delivered Chinese food for a living." | | 5 | "The silence that followed had weight to it, dense and warm, the kind she remembered from before — from nights in his townhouse with his fingers tracing the crescent scar on her wrist like it was something precious, from the way he used to say her name like a secret he was allowed to keep." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 811 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 24 | | adverbRatio | 0.029593094944512947 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.013563501849568433 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 59 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 59 | | mean | 19.47 | | std | 15.51 | | cv | 0.796 | | sampleLengths | | 0 | 38 | | 1 | 14 | | 2 | 16 | | 3 | 38 | | 4 | 9 | | 5 | 8 | | 6 | 2 | | 7 | 23 | | 8 | 10 | | 9 | 6 | | 10 | 16 | | 11 | 11 | | 12 | 36 | | 13 | 7 | | 14 | 42 | | 15 | 3 | | 16 | 16 | | 17 | 5 | | 18 | 13 | | 19 | 10 | | 20 | 6 | | 21 | 63 | | 22 | 42 | | 23 | 10 | | 24 | 56 | | 25 | 12 | | 26 | 44 | | 27 | 9 | | 28 | 7 | | 29 | 20 | | 30 | 2 | | 31 | 40 | | 32 | 28 | | 33 | 6 | | 34 | 33 | | 35 | 9 | | 36 | 15 | | 37 | 23 | | 38 | 4 | | 39 | 5 | | 40 | 3 | | 41 | 31 | | 42 | 8 | | 43 | 45 | | 44 | 12 | | 45 | 28 | | 46 | 20 | | 47 | 4 | | 48 | 11 | | 49 | 31 |
| |
| 63.28% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.4406779661016949 | | totalSentences | 59 | | uniqueOpeners | 26 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 35 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 25 | | totalSentences | 35 | | matches | | 0 | "She'd expected Eva, back early" | | 1 | "She had not expected the" | | 2 | "His amber eye found her" | | 3 | "Her name in his mouth" | | 4 | "She crossed her arms instead" | | 5 | "He glanced at his wrist," | | 6 | "She stood in the gap," | | 7 | "he agreed, and something flickered" | | 8 | "She should have shut the" | | 9 | "She thought about it —" | | 10 | "He moved through the cramped" | | 11 | "He looked older than three" | | 12 | "she said, because it was" | | 13 | "He surveyed the flat —" | | 14 | "He said it too quickly," | | 15 | "He sat without being asked," | | 16 | "His black eye tracked her" | | 17 | "She sat down on the" | | 18 | "Her voice cracked on the" | | 19 | "He flinched — actually flinched," |
| | ratio | 0.714 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 33 | | totalSentences | 35 | | matches | | 0 | "The three deadbolts took longer" | | 1 | "She'd expected Eva, back early" | | 2 | "She had not expected the" | | 3 | "Lucien Moreau stood on the" | | 4 | "His amber eye found her" | | 5 | "The black one gave nothing" | | 6 | "Her name in his mouth" | | 7 | "She crossed her arms instead" | | 8 | "He glanced at his wrist," | | 9 | "Rory didn't move to let" | | 10 | "She stood in the gap," | | 11 | "he agreed, and something flickered" | | 12 | "She should have shut the" | | 13 | "She thought about it —" | | 14 | "He moved through the cramped" | | 15 | "He looked older than three" | | 16 | "she said, because it was" | | 17 | "He surveyed the flat —" | | 18 | "He said it too quickly," | | 19 | "He sat without being asked," |
| | ratio | 0.943 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 35 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 18 | | technicalSentenceCount | 6 | | matches | | 0 | "Lucien Moreau stood on the landing like he'd been poured there, all charcoal wool and quiet menace, the ivory head of his cane catching the weak light from the …" | | 1 | "Behind her, Ptolemy yowled his displeasure at the open door and the cold air pouring in, then stalked off toward the kitchen with his tail lashing, unimpressed …" | | 2 | "He moved through the cramped flat like he'd never left it, stepping over a stack of Eva's research on ley lines without looking down, his cane tapping once agai…" | | 3 | "There were shadows under both eyes now, human and inhuman alike, and a tightness at his mouth that hadn't been there the last time she'd seen him — the last tim…" | | 4 | "He flinched — actually flinched, and she hadn't thought that was in his repertoire, hadn't thought a half-demon fixer who dealt in secrets and blood debts could…" | | 5 | "The silence that followed had weight to it, dense and warm, the kind she remembered from before — from nights in his townhouse with his fingers tracing the cres…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 95.95% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 2 | | fancyTags | | 0 | "he agreed (agree)" | | 1 | "He sat (sit)" |
| | dialogueSentences | 37 | | tagDensity | 0.216 | | leniency | 0.432 | | rawRatio | 0.25 | | effectiveRatio | 0.108 | |