| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 13 | | adverbTagCount | 1 | | adverbTags | | 0 | "Lucien spoke quietly [quietly]" |
| | dialogueSentences | 56 | | tagDensity | 0.232 | | leniency | 0.464 | | rawRatio | 0.077 | | effectiveRatio | 0.036 | |
| 86.39% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1470 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "really" | | 1 | "suddenly" | | 2 | "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) | |
| 69.39% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1470 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "familiar" | | 1 | "stomach" | | 2 | "flicker" | | 3 | "silence" | | 4 | "weight" | | 5 | "flickered" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "weight of words/silence" | | count | 1 |
|
| | highlights | | 0 | "the weight of every moment" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 116 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 116 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 158 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 50 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1462 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 21 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 32 | | wordCount | 1097 | | uniqueNames | 15 | | maxNameDensity | 0.73 | | worstName | "Lucien" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Lucien" | | discoveredNames | | Ptolemy | 4 | | Manchester | 1 | | Evan | 1 | | Marseille | 1 | | Moreau | 2 | | London | 1 | | Lucien | 8 | | Like | 1 | | Golden | 1 | | Empress | 1 | | Eva | 3 | | Rory | 5 | | Ashworth | 1 | | Docklands | 1 | | Avaros | 1 |
| | persons | | 0 | "Ptolemy" | | 1 | "Evan" | | 2 | "Moreau" | | 3 | "Lucien" | | 4 | "Like" | | 5 | "Eva" | | 6 | "Rory" | | 7 | "Ashworth" |
| | places | | 0 | "Manchester" | | 1 | "Marseille" | | 2 | "London" | | 3 | "Docklands" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 69 | | glossingSentenceCount | 1 | | matches | | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1462 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 158 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 75 | | mean | 19.49 | | std | 19.24 | | cv | 0.987 | | sampleLengths | | 0 | 19 | | 1 | 45 | | 2 | 10 | | 3 | 13 | | 4 | 64 | | 5 | 70 | | 6 | 19 | | 7 | 1 | | 8 | 12 | | 9 | 10 | | 10 | 24 | | 11 | 19 | | 12 | 62 | | 13 | 8 | | 14 | 13 | | 15 | 28 | | 16 | 76 | | 17 | 3 | | 18 | 63 | | 19 | 27 | | 20 | 11 | | 21 | 14 | | 22 | 28 | | 23 | 30 | | 24 | 57 | | 25 | 3 | | 26 | 5 | | 27 | 3 | | 28 | 29 | | 29 | 44 | | 30 | 2 | | 31 | 38 | | 32 | 5 | | 33 | 3 | | 34 | 5 | | 35 | 72 | | 36 | 27 | | 37 | 17 | | 38 | 3 | | 39 | 7 | | 40 | 38 | | 41 | 2 | | 42 | 2 | | 43 | 3 | | 44 | 4 | | 45 | 22 | | 46 | 27 | | 47 | 6 | | 48 | 19 | | 49 | 29 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 116 | | matches | | |
| 98.99% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 198 | | matches | | 0 | "wasn't expecting" | | 1 | "was giving" | | 2 | "weren't saying" |
| |
| 34.36% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 1 | | flaggedSentences | 6 | | totalSentences | 158 | | ratio | 0.038 | | matches | | 0 | "Lucien Moreau stood in the hallway, looking exactly as he always did—impeccable, put together, like he'd stepped out of a tailor's window display rather than the London night." | | 1 | "Hard to tell with Lucien; he'd always been better at masks than most." | | 2 | "The part that made his eyes do that thing, the part that made certain things about him impossible to ignore—his strength, his speed, the way he'd once caught her wrist when she'd stumbled on a case and his grip had been warm in a way that felt like burning." | | 3 | "He surveyed the room with those mismatched eyes—the books stacked on every surface, the scrolls unrolled on the coffee table, the string lights Eva insisted on hanging despite the fire hazard." | | 4 | "The way he'd looked at her when she'd said she couldn't do this anymore—the impossible weight of keeping someone at arm's length when every instinct screamed to pull them closer." | | 5 | "The look he gave her held everything they weren't saying—the three months of silence, the weight of every moment they'd shared, the ache of something unfinished." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 823 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 30 | | adverbRatio | 0.03645200486026731 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.006075334143377886 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 158 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 158 | | mean | 9.25 | | std | 7.84 | | cv | 0.848 | | sampleLengths | | 0 | 19 | | 1 | 23 | | 2 | 4 | | 3 | 18 | | 4 | 4 | | 5 | 3 | | 6 | 3 | | 7 | 2 | | 8 | 3 | | 9 | 8 | | 10 | 13 | | 11 | 24 | | 12 | 12 | | 13 | 7 | | 14 | 5 | | 15 | 3 | | 16 | 28 | | 17 | 11 | | 18 | 15 | | 19 | 11 | | 20 | 3 | | 21 | 2 | | 22 | 12 | | 23 | 7 | | 24 | 1 | | 25 | 7 | | 26 | 5 | | 27 | 10 | | 28 | 7 | | 29 | 2 | | 30 | 2 | | 31 | 13 | | 32 | 11 | | 33 | 4 | | 34 | 4 | | 35 | 4 | | 36 | 8 | | 37 | 25 | | 38 | 13 | | 39 | 2 | | 40 | 2 | | 41 | 8 | | 42 | 8 | | 43 | 13 | | 44 | 16 | | 45 | 12 | | 46 | 3 | | 47 | 10 | | 48 | 11 | | 49 | 3 |
| |
| 56.96% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.379746835443038 | | totalSentences | 158 | | uniqueOpeners | 60 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 102 | | matches | | 0 | "Always three locks." | | 1 | "Just nodded once and let" | | 2 | "Instead, she looked at the" | | 3 | "Instead, she said:" |
| | ratio | 0.039 | |
| 74.90% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 37 | | totalSentences | 102 | | matches | | 0 | "She wasn't expecting anyone." | | 1 | "She'd once asked him about" | | 2 | "He'd said it was incense" | | 3 | "She hadn't believed him then." | | 4 | "She didn't now." | | 5 | "His platinum hair was slicked" | | 6 | "Her stomach performed a small," | | 7 | "She kept her face neutral." | | 8 | "He said her full name" | | 9 | "She should say no." | | 10 | "He'd accepted that with that" | | 11 | "He never talked about the" | | 12 | "She stepped aside." | | 13 | "He surveyed the room with" | | 14 | "It was obscene, really." | | 15 | "He scratched behind the cat's" | | 16 | "She wasn't going to make" | | 17 | "He stood, brushing cat hair" | | 18 | "She'd found him holed up" | | 19 | "His voice remained level, but" |
| | ratio | 0.363 | |
| 33.53% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 87 | | totalSentences | 102 | | matches | | 0 | "The knock came at half" | | 1 | "Rory set down Ptolemy's evening" | | 2 | "She wasn't expecting anyone." | | 3 | "Eva was away at a" | | 4 | "The chain slid back." | | 5 | "The deadbolt turned." | | 6 | "The second deadbolt." | | 7 | "The habit had become second" | | 8 | "The door swung inward, and" | | 9 | "Something dark and expensive, sandalwood" | | 10 | "She'd once asked him about" | | 11 | "He'd said it was incense" | | 12 | "She hadn't believed him then." | | 13 | "She didn't now." | | 14 | "Lucien Moreau stood in the" | | 15 | "His platinum hair was slicked" | | 16 | "The ivory-handled cane rested against" | | 17 | "Charcoal suit, no tie, the" | | 18 | "The heterochromatic eyes found her" | | 19 | "Amber and black, like two" |
| | ratio | 0.853 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 102 | | matches | (empty) | | ratio | 0 | |
| 16.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 34 | | technicalSentenceCount | 6 | | matches | | 0 | "The knock came at half past midnight, three sharp raps that rattled the cheap composite door in its frame." | | 1 | "Something dark and expensive, sandalwood and smoke, with a hint of something else underneath that had never quite made sense to her human nose." | | 2 | "The ivory-handled cane rested against his shoulder, that hidden blade no doubt polished and ready." | | 3 | "The part that made his eyes do that thing, the part that made certain things about him impossible to ignore—his strength, his speed, the way he'd once caught he…" | | 4 | "The way she'd seen something in him that terrified her more than any demon, any monster, any case." | | 5 | "The smart thing, the safe thing, the thing that would protect whatever fragile equilibrium she'd built in the months since she'd walked out of his office." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 13 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 1 | | fancyTags | | 0 | "Lucien spoke quietly (speak)" |
| | dialogueSentences | 56 | | tagDensity | 0.071 | | leniency | 0.143 | | rawRatio | 0.25 | | effectiveRatio | 0.036 | |