| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 10 | | adverbTagCount | 2 | | adverbTags | | 0 | "he said finally [finally]" | | 1 | "he gestured vaguely [vaguely]" |
| | dialogueSentences | 42 | | tagDensity | 0.238 | | leniency | 0.476 | | rawRatio | 0.2 | | effectiveRatio | 0.095 | |
| 80.28% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1014 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "very" | | 1 | "slightly" | | 2 | "really" |
| |
| 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) | |
| 85.21% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1014 | | totalAiIsms | 3 | | found | | | highlights | | 0 | "unreadable" | | 1 | "weight" | | 2 | "calculated" |
| |
| 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 | 33 | | matches | (empty) | |
| 0.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 2 | | narrationSentences | 33 | | filterMatches | | | 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 | 71 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1020 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 19 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 16 | | wordCount | 630 | | uniqueNames | 9 | | maxNameDensity | 0.79 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 5 | | Lucien | 4 | | Moreau | 1 | | French | 1 | | Brick | 1 | | Lane | 1 | | Eva | 1 | | Golden | 1 | | Empress | 1 |
| | persons | | 0 | "Rory" | | 1 | "Lucien" | | 2 | "Moreau" | | 3 | "Eva" | | 4 | "Empress" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 50.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 25 | | glossingSentenceCount | 1 | | matches | | 0 | "quite manage to stay away after" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1020 | | 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 | 42 | | mean | 24.29 | | std | 22.94 | | cv | 0.944 | | sampleLengths | | 0 | 44 | | 1 | 15 | | 2 | 36 | | 3 | 8 | | 4 | 4 | | 5 | 12 | | 6 | 34 | | 7 | 17 | | 8 | 49 | | 9 | 13 | | 10 | 5 | | 11 | 20 | | 12 | 34 | | 13 | 3 | | 14 | 7 | | 15 | 94 | | 16 | 27 | | 17 | 3 | | 18 | 4 | | 19 | 70 | | 20 | 26 | | 21 | 5 | | 22 | 45 | | 23 | 11 | | 24 | 4 | | 25 | 10 | | 26 | 52 | | 27 | 13 | | 28 | 42 | | 29 | 8 | | 30 | 16 | | 31 | 12 | | 32 | 8 | | 33 | 86 | | 34 | 3 | | 35 | 58 | | 36 | 53 | | 37 | 10 | | 38 | 4 | | 39 | 27 | | 40 | 7 | | 41 | 21 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 33 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 114 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 66 | | ratio | 0.106 | | matches | | 0 | "Rory set down her mug of tea, glanced at the clock — half eleven, too late for deliveries, too early for trouble that announced itself politely." | | 1 | "He set the cane against her bookshelf like he'd done it a hundred times before, which — he had." | | 2 | "Rory sat on the arm of her sofa, arms still crossed, putting furniture between them because her body remembered things her mind was trying very hard to forget — the weight of his hand at the small of her back, the low murmur of French against her ear in a alley off Brick Lane while they hid from something with too many teeth." | | 3 | "Instead he looked around her flat like he was cataloguing what had changed — the new stack of books by the window, the mug with the chip in the handle, the coat thrown over the chair that wasn't hers, one of Eva's, probably." | | 4 | "Lucien exhaled, and for once there was nothing performed in it, nothing calculated — just tired." | | 5 | "\"I've spent three months telling myself you were better off. That I do this—\" he gestured vaguely, meaning the underworld, the deals, the things he traded in that left blood on his hands even when it wasn't his own \"—and you don't need it following you home. And then someone starts sniffing round Golden Empress asking about you, and I find I can't quite manage to stay away after all.\"" | | 6 | "Rory looked at him — really looked, past the suit and the cane and the careful blankness he wore like armour — and saw the same thing she'd seen the night she'd told him to leave." |
| |
| 98.54% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 336 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 14 | | adverbRatio | 0.041666666666666664 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.011904761904761904 | |
| 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 | 15.45 | | std | 13.45 | | cv | 0.87 | | sampleLengths | | 0 | 18 | | 1 | 26 | | 2 | 15 | | 3 | 22 | | 4 | 5 | | 5 | 9 | | 6 | 5 | | 7 | 3 | | 8 | 4 | | 9 | 12 | | 10 | 29 | | 11 | 5 | | 12 | 17 | | 13 | 30 | | 14 | 19 | | 15 | 9 | | 16 | 4 | | 17 | 5 | | 18 | 20 | | 19 | 18 | | 20 | 16 | | 21 | 3 | | 22 | 7 | | 23 | 63 | | 24 | 6 | | 25 | 25 | | 26 | 6 | | 27 | 21 | | 28 | 3 | | 29 | 4 | | 30 | 4 | | 31 | 43 | | 32 | 3 | | 33 | 20 | | 34 | 5 | | 35 | 21 | | 36 | 4 | | 37 | 1 | | 38 | 31 | | 39 | 14 | | 40 | 11 | | 41 | 4 | | 42 | 10 | | 43 | 41 | | 44 | 11 | | 45 | 13 | | 46 | 25 | | 47 | 17 | | 48 | 8 | | 49 | 16 |
| |
| 68.18% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.45454545454545453 | | totalSentences | 66 | | uniqueOpeners | 30 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 30 | | matches | | 0 | "Instead he looked around her" | | 1 | "Then he seemed to remember" |
| | ratio | 0.067 | |
| 20.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 15 | | totalSentences | 30 | | matches | | 0 | "She pulled the door open" | | 1 | "He hadn't changed the suit." | | 2 | "She stepped back, more out" | | 3 | "He set the cane against" | | 4 | "she said, nodding at the" | | 5 | "His jaw tightened, just barely," | | 6 | "She'd left him standing on" | | 7 | "He didn't answer straightaway." | | 8 | "It was what made him" | | 9 | "he said finally" | | 10 | "He moved closer, not touching," | | 11 | "She stood up now, temper" | | 12 | "he gestured vaguely, meaning the" | | 13 | "He picked the cane back" | | 14 | "She sat back down, slower" |
| | ratio | 0.5 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 28 | | totalSentences | 30 | | matches | | 0 | "The knock came three times," | | 1 | "Rory set down her mug" | | 2 | "She pulled the door open" | | 3 | "Lucien stood in the hallway," | | 4 | "He hadn't changed the suit." | | 5 | "Charcoal, always charcoal, like he" | | 6 | "Rory crossed her arms, blocking" | | 7 | "She stepped back, more out" | | 8 | "He set the cane against" | | 9 | "she said, nodding at the" | | 10 | "His jaw tightened, just barely," | | 11 | "Rory sat on the arm" | | 12 | "That had been three months" | | 13 | "She'd left him standing on" | | 14 | "He didn't answer straightaway." | | 15 | "Lucien noticed everything." | | 16 | "It was what made him" | | 17 | "he said finally" | | 18 | "Rory's arms loosened slightly." | | 19 | "He moved closer, not touching," |
| | ratio | 0.933 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 30 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 17 | | technicalSentenceCount | 5 | | matches | | 0 | "Rory set down her mug of tea, glanced at the clock — half eleven, too late for deliveries, too early for trouble that announced itself politely." | | 1 | "She pulled the door open expecting a drunk patron who'd wandered up the wrong stairs." | | 2 | "Rory crossed her arms, blocking the doorway with her body rather than actually stopping him, because they both knew a closed door had never meant much to Lucien…" | | 3 | "She stepped back, more out of habit than invitation, and he took it as one anyway, sweeping past her with that particular economy of movement that made everythi…" | | 4 | "Instead he looked around her flat like he was cataloguing what had changed — the new stack of books by the window, the mug with the chip in the handle, the coat…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 10 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 42 | | tagDensity | 0.119 | | leniency | 0.238 | | rawRatio | 0 | | effectiveRatio | 0 | |