| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 1 | | adverbTags | | 0 | "She turned around [around]" |
| | dialogueSentences | 46 | | tagDensity | 0.435 | | leniency | 0.87 | | rawRatio | 0.05 | | effectiveRatio | 0.043 | |
| 76.17% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1469 | | totalAiIsmAdverbs | 7 | | found | | | highlights | | 0 | "slightly" | | 1 | "perfectly" | | 2 | "very" | | 3 | "precisely" |
| |
| 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) | |
| 86.39% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1469 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "unreadable" | | 1 | "silence" | | 2 | "weight" | | 3 | "electric" |
| |
| 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 | 74 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 74 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 98 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 59 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 6 | | markdownWords | 11 | | totalWords | 1479 | | ratio | 0.007 | | matches | | 0 | "You should not know me, Aurora" | | 1 | "boys" | | 2 | "ignorant." | | 3 | "decided" | | 4 | "r" | | 5 | "easy" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 20 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 13 | | wordCount | 931 | | uniqueNames | 8 | | maxNameDensity | 0.32 | | worstName | "Lucien" | | maxWindowNameDensity | 1 | | worstWindowName | "Rory" | | discoveredNames | | Eva | 1 | | Ptolemy | 2 | | Lucien | 3 | | Marmite | 1 | | Golden | 1 | | Empress | 1 | | Moreau | 1 | | Rory | 3 |
| | persons | | 0 | "Eva" | | 1 | "Ptolemy" | | 2 | "Lucien" | | 3 | "Moreau" | | 4 | "Rory" |
| | places | (empty) | | globalScore | 1 | | windowScore | 1 | |
| 85.90% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 39 | | 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 | 1479 | | matches | (empty) | |
| 98.64% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 98 | | matches | | 0 | "chose that moment" | | 1 | "was that the" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 52 | | mean | 28.44 | | std | 28.44 | | cv | 1 | | sampleLengths | | 0 | 68 | | 1 | 24 | | 2 | 8 | | 3 | 9 | | 4 | 95 | | 5 | 5 | | 6 | 17 | | 7 | 10 | | 8 | 2 | | 9 | 73 | | 10 | 4 | | 11 | 26 | | 12 | 68 | | 13 | 53 | | 14 | 5 | | 15 | 3 | | 16 | 15 | | 17 | 61 | | 18 | 6 | | 19 | 24 | | 20 | 109 | | 21 | 9 | | 22 | 6 | | 23 | 8 | | 24 | 3 | | 25 | 80 | | 26 | 53 | | 27 | 18 | | 28 | 5 | | 29 | 3 | | 30 | 19 | | 31 | 32 | | 32 | 6 | | 33 | 92 | | 34 | 2 | | 35 | 3 | | 36 | 58 | | 37 | 21 | | 38 | 26 | | 39 | 30 | | 40 | 5 | | 41 | 71 | | 42 | 26 | | 43 | 47 | | 44 | 37 | | 45 | 32 | | 46 | 1 | | 47 | 7 | | 48 | 19 | | 49 | 59 |
| |
| 95.78% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 74 | | matches | | 0 | "been broken" | | 1 | "was built" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 159 | | matches | | 0 | "was falling" | | 1 | "was buying" | | 2 | "was performing" | | 3 | "was looking" | | 4 | "was waiting" |
| |
| 26.24% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 98 | | ratio | 0.041 | | matches | | 0 | "It clashed magnificently with whatever he wore — something dry and expensive, cedar and cold smoke." | | 1 | "It wasn't his size — he was only five-eleven, and she'd stood eye to collarbone with taller men." | | 2 | "He was closer than she'd thought — a foot, less — and he had not reached for her, which was somehow the thing that undid her." | | 3 | "Something moved through his face — relief, badly hidden, which for Lucien Moreau was practically a confession under oath." |
| |
| 96.34% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 928 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 41 | | adverbRatio | 0.04418103448275862 | | lyAdverbCount | 14 | | lyAdverbRatio | 0.015086206896551725 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 98 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 98 | | mean | 15.09 | | std | 13.1 | | cv | 0.868 | | sampleLengths | | 0 | 5 | | 1 | 39 | | 2 | 3 | | 3 | 21 | | 4 | 24 | | 5 | 8 | | 6 | 9 | | 7 | 32 | | 8 | 34 | | 9 | 13 | | 10 | 16 | | 11 | 5 | | 12 | 17 | | 13 | 10 | | 14 | 2 | | 15 | 28 | | 16 | 5 | | 17 | 5 | | 18 | 35 | | 19 | 4 | | 20 | 9 | | 21 | 17 | | 22 | 27 | | 23 | 18 | | 24 | 23 | | 25 | 3 | | 26 | 10 | | 27 | 13 | | 28 | 27 | | 29 | 5 | | 30 | 3 | | 31 | 15 | | 32 | 17 | | 33 | 44 | | 34 | 2 | | 35 | 4 | | 36 | 4 | | 37 | 4 | | 38 | 16 | | 39 | 46 | | 40 | 13 | | 41 | 50 | | 42 | 4 | | 43 | 3 | | 44 | 2 | | 45 | 6 | | 46 | 8 | | 47 | 3 | | 48 | 27 | | 49 | 31 |
| |
| 67.69% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.4489795918367347 | | totalSentences | 98 | | uniqueOpeners | 44 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 59 | | matches | | 0 | "Then, quietly amused:" | | 1 | "Then he took off his" | | 2 | "Then the sofa shifted, and" |
| | ratio | 0.051 | |
| 16.61% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 30 | | totalSentences | 59 | | matches | | 0 | "It caught the platinum of" | | 1 | "It clashed magnificently with whatever" | | 2 | "She looked at the chain." | | 3 | "She unhooked the chain." | | 4 | "she said, stepping back" | | 5 | "He stepped in, ducking slightly" | | 6 | "It wasn't his size —" | | 7 | "It was that the flat" | | 8 | "He surveyed it." | | 9 | "She crossed to the kettle," | | 10 | "She filled the kettle." | | 11 | "It gave her four good" | | 12 | "She had not called." | | 13 | "She turned around, arms folded," | | 14 | "He set the cane against" | | 15 | "He always kept it in" | | 16 | "His head came up." | | 17 | "She nodded at the room" | | 18 | "Her voice had gone up" | | 19 | "She hated that." |
| | ratio | 0.508 | |
| 61.69% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 47 | | totalSentences | 59 | | matches | | 0 | "The first deadbolt always stuck." | | 1 | "Rory had learned to lift" | | 2 | "The stairwell light behind him" | | 3 | "It caught the platinum of" | | 4 | "The smell of frying onion" | | 5 | "It clashed magnificently with whatever" | | 6 | "Ptolemy chose that moment to" | | 7 | "Rory looked down at him." | | 8 | "She looked at the chain." | | 9 | "She unhooked the chain." | | 10 | "she said, stepping back" | | 11 | "He stepped in, ducking slightly" | | 12 | "It wasn't his size —" | | 13 | "It was that the flat" | | 14 | "He surveyed it." | | 15 | "The stacked paperbacks holding up" | | 16 | "The scroll pinned open with" | | 17 | "The sofa with her blanket" | | 18 | "She crossed to the kettle," | | 19 | "She filled the kettle." |
| | ratio | 0.797 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 59 | | matches | (empty) | | ratio | 0 | |
| 95.24% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 30 | | technicalSentenceCount | 2 | | matches | | 0 | "The last time she'd seen him had been in the loading bay behind the Golden Empress at three in the morning, both of them bleeding, her hands shaking so badly sh…" | | 1 | "And then he had said, *You should not know me, Aurora*, in that flat broker's voice he used for pricing information, and walked out into the rain without his um…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 1 | | matches | | 0 | "he made, not quite a laugh —" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 13 | | fancyCount | 1 | | fancyTags | | 0 | "The kettle screamed (scream)" |
| | dialogueSentences | 46 | | tagDensity | 0.283 | | leniency | 0.565 | | rawRatio | 0.077 | | effectiveRatio | 0.043 | |