| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 18 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said finally [finally]" |
| | dialogueSentences | 59 | | tagDensity | 0.305 | | leniency | 0.61 | | rawRatio | 0.056 | | effectiveRatio | 0.034 | |
| 88.34% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1286 | | totalAiIsmAdverbs | 3 | | found | | 0 | | | 1 | | | 2 | | adverb | "barely above a whisper" | | count | 1 |
|
| | highlights | | 0 | "very" | | 1 | "really" | | 2 | "barely above a whisper" |
| |
| 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) | |
| 65.01% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1286 | | totalAiIsms | 9 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | word | "practiced ease" | | count | 1 |
| | 6 | |
| | highlights | | 0 | "silence" | | 1 | "trembled" | | 2 | "familiar" | | 3 | "weight" | | 4 | "stomach" | | 5 | "practiced ease" | | 6 | "whisper" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 2 | | found | | 0 | | label | "weight of words/silence" | | count | 1 |
| | 1 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | 0 | "The weight of those words" | | 1 | "hung in the air" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 84 | | matches | (empty) | |
| 74.83% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 3 | | narrationSentences | 84 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 124 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 37 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1273 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 26 | | wordCount | 874 | | uniqueNames | 12 | | maxNameDensity | 0.92 | | worstName | "Eva" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Eva" | | discoveredNames | | Eva | 8 | | Persian | 1 | | Marseille | 1 | | London | 1 | | Damn | 1 | | Ptolemy | 2 | | Byzantine | 1 | | Belfast | 1 | | Brendan | 1 | | Carter | 1 | | Lucien | 4 | | Rory | 4 |
| | persons | | 0 | "Eva" | | 1 | "Ptolemy" | | 2 | "Brendan" | | 3 | "Carter" | | 4 | "Lucien" | | 5 | "Rory" |
| | places | | 0 | "Persian" | | 1 | "Marseille" | | 2 | "London" | | 3 | "Belfast" |
| | globalScore | 1 | | windowScore | 0.833 | |
| 76.47% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 68 | | glossingSentenceCount | 2 | | matches | | 0 | "as if noticing it for the first time" | | 1 | "seemed duller the black one deeper" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.786 | | wordCount | 1273 | | matches | | 0 | "Not just his demon heritage, but how casually he wielded it" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 124 | | matches | | 0 | "smoothing that platinum" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 64 | | mean | 19.89 | | std | 15.15 | | cv | 0.762 | | sampleLengths | | 0 | 49 | | 1 | 7 | | 2 | 13 | | 3 | 3 | | 4 | 49 | | 5 | 16 | | 6 | 29 | | 7 | 4 | | 8 | 2 | | 9 | 8 | | 10 | 27 | | 11 | 49 | | 12 | 5 | | 13 | 61 | | 14 | 10 | | 15 | 29 | | 16 | 2 | | 17 | 23 | | 18 | 5 | | 19 | 27 | | 20 | 7 | | 21 | 39 | | 22 | 30 | | 23 | 1 | | 24 | 43 | | 25 | 15 | | 26 | 37 | | 27 | 4 | | 28 | 38 | | 29 | 24 | | 30 | 10 | | 31 | 3 | | 32 | 29 | | 33 | 8 | | 34 | 36 | | 35 | 25 | | 36 | 6 | | 37 | 7 | | 38 | 27 | | 39 | 13 | | 40 | 11 | | 41 | 23 | | 42 | 4 | | 43 | 37 | | 44 | 16 | | 45 | 18 | | 46 | 13 | | 47 | 34 | | 48 | 8 | | 49 | 2 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 84 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 144 | | matches | (empty) | |
| 4.61% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 124 | | ratio | 0.048 | | matches | | 0 | "That voice—smooth as aged whiskey, with just a hint of Marseille beneath the polished London accent." | | 1 | "The look in his mismatched eyes when she'd told him she couldn't do this anymore—couldn't watch him walk the knife's edge between human and demon, couldn't pretend his underworld connections didn't terrify her." | | 2 | "The scent of his cologne—sandalwood and something darker—made her stomach twist." | | 3 | "She grabbed Eva's first aid kit from beneath the kitchen sink—Eva kept three, having learned the hard way that supernatural research came with its own risks." | | 4 | "There it was—the thing that had always stood between them." | | 5 | "\"Right,\" she said, taking in the scene—Lucien shirtless and bloody on her sofa, Rory kneeling beside him with tears on her cheeks." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 885 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 26 | | adverbRatio | 0.02937853107344633 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.006779661016949152 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 124 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 124 | | mean | 10.27 | | std | 7.06 | | cv | 0.687 | | sampleLengths | | 0 | 20 | | 1 | 11 | | 2 | 18 | | 3 | 5 | | 4 | 2 | | 5 | 10 | | 6 | 3 | | 7 | 3 | | 8 | 6 | | 9 | 20 | | 10 | 16 | | 11 | 7 | | 12 | 11 | | 13 | 5 | | 14 | 4 | | 15 | 16 | | 16 | 3 | | 17 | 6 | | 18 | 4 | | 19 | 2 | | 20 | 8 | | 21 | 3 | | 22 | 17 | | 23 | 7 | | 24 | 8 | | 25 | 2 | | 26 | 6 | | 27 | 33 | | 28 | 5 | | 29 | 10 | | 30 | 14 | | 31 | 21 | | 32 | 16 | | 33 | 10 | | 34 | 18 | | 35 | 11 | | 36 | 2 | | 37 | 9 | | 38 | 14 | | 39 | 5 | | 40 | 8 | | 41 | 6 | | 42 | 13 | | 43 | 7 | | 44 | 14 | | 45 | 11 | | 46 | 14 | | 47 | 22 | | 48 | 8 | | 49 | 1 |
| |
| 68.28% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.4435483870967742 | | totalSentences | 124 | | uniqueOpeners | 55 | |
| 84.39% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 79 | | matches | | 0 | "Then the second." | | 1 | "Anywhere but on the lean" |
| | ratio | 0.025 | |
| 37.72% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 36 | | totalSentences | 79 | | matches | | 0 | "She'd been pacing for the" | | 1 | "she called through the door," | | 2 | "She hadn't heard it in" | | 3 | "Her fingers hesitated on the" | | 4 | "She could picture him on" | | 5 | "She turned the final lock." | | 6 | "His ivory-handled cane rested against" | | 7 | "He glanced down as if" | | 8 | "she said finally, stepping back" | | 9 | "He moved past her, careful" | | 10 | "She locked the door again," | | 11 | "He picked up a Byzantine" | | 12 | "He set the book down" | | 13 | "she ordered, pointing to Eva's" | | 14 | "He obeyed without argument, which" | | 15 | "She grabbed Eva's first aid" | | 16 | "His fingers moved to the" | | 17 | "She kept her eyes fixed" | | 18 | "She knelt beside the sofa," | | 19 | "She pressed gauze against the" |
| | ratio | 0.456 | |
| 35.95% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 67 | | totalSentences | 79 | | matches | | 0 | "The knock came at half" | | 1 | "Rory froze mid-step, the mug" | | 2 | "She'd been pacing for the" | | 3 | "Another knock, softer this time." | | 4 | "she called through the door," | | 5 | "The mug slipped from her" | | 6 | "That voice—smooth as aged whiskey," | | 7 | "She hadn't heard it in" | | 8 | "Lucien's words carried through the" | | 9 | "Rory's hands trembled as she" | | 10 | "Her fingers hesitated on the" | | 11 | "She could picture him on" | | 12 | "The memory hit her like" | | 13 | "The blood on his charcoal" | | 14 | "The look in his mismatched" | | 15 | "She turned the final lock." | | 16 | "Lucien stood in the narrow" | | 17 | "The hall light caught the" | | 18 | "His ivory-handled cane rested against" | | 19 | "The words escaped before she" |
| | ratio | 0.848 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 79 | | matches | | 0 | "Even at past midnight, after" | | 1 | "Even from Belfast, even after" |
| | ratio | 0.025 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 35 | | technicalSentenceCount | 2 | | matches | | 0 | "She'd been pacing for the last hour, unable to sleep despite the exhaustion that pulled at her bones." | | 1 | "The hall light caught the sharp angles of his face, throwing shadows that made him look more dangerous than she remembered." |
| |
| 97.22% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 18 | | uselessAdditionCount | 1 | | matches | | 0 | "she called, not moving closer" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 2 | | fancyTags | | 0 | "she ordered (order)" | | 1 | "She pressed (press)" |
| | dialogueSentences | 59 | | tagDensity | 0.085 | | leniency | 0.169 | | rawRatio | 0.4 | | effectiveRatio | 0.068 | |