| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 26 | | adverbTagCount | 2 | | adverbTags | | 0 | "Rory said quietly [quietly]" | | 1 | "she said finally [finally]" |
| | dialogueSentences | 59 | | tagDensity | 0.441 | | leniency | 0.881 | | rawRatio | 0.077 | | effectiveRatio | 0.068 | |
| 64.34% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1402 | | totalAiIsmAdverbs | 10 | | found | | | highlights | | 0 | "slightly" | | 1 | "suddenly" | | 2 | "completely" | | 3 | "very" | | 4 | "softly" | | 5 | "carefully" | | 6 | "slowly" |
| |
| 80.00% | AI-ism character names | Target: 0 AI-default names (17 tracked, −20% each) | | codexExemptions | (empty) | | found | | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 64.34% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1402 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "stomach" | | 1 | "intensity" | | 2 | "familiar" | | 3 | "depths" | | 4 | "flickered" | | 5 | "weight" | | 6 | "traced" | | 7 | "perfect" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "stomach dropped/sank" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 65 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 65 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 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 | | maxSentenceWordsSeen | 42 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1392 | | 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 | 42 | | wordCount | 949 | | uniqueNames | 16 | | maxNameDensity | 0.95 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Lucien" | | discoveredNames | | Aurora | 1 | | Moreau | 2 | | French | 1 | | Rory | 9 | | Southwark | 3 | | Eva | 7 | | Lucien | 7 | | Cardiff | 1 | | University | 1 | | London | 2 | | Whitechapel | 1 | | Drew | 1 | | Ptolemy | 3 | | Close | 1 | | Evan | 1 | | Relief | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Moreau" | | 2 | "Rory" | | 3 | "Eva" | | 4 | "Lucien" | | 5 | "Drew" | | 6 | "Ptolemy" | | 7 | "Evan" | | 8 | "Relief" |
| | places | | 0 | "Southwark" | | 1 | "Cardiff" | | 2 | "London" | | 3 | "Whitechapel" |
| | globalScore | 1 | | windowScore | 1 | |
| 8.49% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 53 | | glossingSentenceCount | 3 | | matches | | 0 | "looked like he'd stepped out of a magazin" | | 1 | "quite healed said otherwise" | | 2 | "tasted like rain and relief and second ch" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1392 | | matches | (empty) | |
| 30.61% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 4 | | totalSentences | 98 | | matches | | 0 | "held, that the" | | 1 | "learned that some" | | 2 | "unguarded that it" | | 3 | "enough that she" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 52 | | mean | 26.77 | | std | 23.11 | | cv | 0.863 | | sampleLengths | | 0 | 8 | | 1 | 57 | | 2 | 13 | | 3 | 59 | | 4 | 13 | | 5 | 29 | | 6 | 29 | | 7 | 59 | | 8 | 17 | | 9 | 34 | | 10 | 7 | | 11 | 34 | | 12 | 74 | | 13 | 7 | | 14 | 67 | | 15 | 4 | | 16 | 4 | | 17 | 51 | | 18 | 59 | | 19 | 10 | | 20 | 3 | | 21 | 5 | | 22 | 75 | | 23 | 3 | | 24 | 68 | | 25 | 12 | | 26 | 42 | | 27 | 8 | | 28 | 1 | | 29 | 7 | | 30 | 3 | | 31 | 66 | | 32 | 23 | | 33 | 52 | | 34 | 14 | | 35 | 46 | | 36 | 5 | | 37 | 18 | | 38 | 1 | | 39 | 37 | | 40 | 64 | | 41 | 9 | | 42 | 21 | | 43 | 21 | | 44 | 2 | | 45 | 32 | | 46 | 34 | | 47 | 2 | | 48 | 47 | | 49 | 7 |
| |
| 94.47% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 65 | | matches | | 0 | "was piled" | | 1 | "been dealt" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 165 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 98 | | ratio | 0.071 | | matches | | 0 | "The mismatched eyes—one amber, one black—fixed on her with an intensity that made her throat tighten." | | 1 | "The scent of his cologne—something expensive with notes of bergamot and cedar—filled the cramped entryway." | | 2 | "The asymmetry between them had always been there—the half-demon information broker in his tailored suits and the delivery driver who smelled of bicycle grease and dim sum." | | 3 | "It was one of the things that had drawn her to him in the first place—the way those mismatched eyes could convey depths of feeling he'd never put into words." | | 4 | "The history between them—the three months of carefully orchestrated encounters, the night in Southwark when they'd finally given in, the morning after when he'd pulled away—sat heavy in the space between their bodies." | | 5 | "Rory studied his face—the sharp cheekbones, the mismatched eyes, the mouth that had kissed her senseless in a Southwark alley while sirens wailed in the distance." | | 6 | "Rory laughed, the sound surprising her with its lightness, and Lucien's mouth curved into a genuine smile—rare enough that she wanted to memorize the shape of it." |
| |
| 92.77% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 966 | | adjectiveStacks | 1 | | stackExamples | | 0 | "below pumped turmeric-scented air" |
| | adverbCount | 40 | | adverbRatio | 0.041407867494824016 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.015527950310559006 | |
| 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 | 14.2 | | std | 9.15 | | cv | 0.644 | | sampleLengths | | 0 | 8 | | 1 | 25 | | 2 | 16 | | 3 | 16 | | 4 | 13 | | 5 | 6 | | 6 | 13 | | 7 | 7 | | 8 | 33 | | 9 | 13 | | 10 | 14 | | 11 | 15 | | 12 | 17 | | 13 | 12 | | 14 | 23 | | 15 | 15 | | 16 | 21 | | 17 | 17 | | 18 | 20 | | 19 | 14 | | 20 | 7 | | 21 | 20 | | 22 | 14 | | 23 | 33 | | 24 | 14 | | 25 | 27 | | 26 | 7 | | 27 | 14 | | 28 | 23 | | 29 | 30 | | 30 | 4 | | 31 | 2 | | 32 | 2 | | 33 | 24 | | 34 | 24 | | 35 | 3 | | 36 | 8 | | 37 | 42 | | 38 | 9 | | 39 | 4 | | 40 | 6 | | 41 | 3 | | 42 | 5 | | 43 | 10 | | 44 | 23 | | 45 | 26 | | 46 | 16 | | 47 | 3 | | 48 | 21 | | 49 | 34 |
| |
| 64.63% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.41836734693877553 | | totalSentences | 98 | | uniqueOpeners | 41 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 60 | | matches | (empty) | | ratio | 0 | |
| 46.67% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 26 | | totalSentences | 60 | | matches | | 0 | "His platinum hair caught the" | | 1 | "he said, his French accent" | | 2 | "She'd gone back to black" | | 3 | "Her voice came out sharper" | | 4 | "He tilted his head toward" | | 5 | "She crossed her arms over" | | 6 | "He studied her for a" | | 7 | "It was one of the" | | 8 | "He paused, and she watched" | | 9 | "She tasted the word, found" | | 10 | "His jaw tightened" | | 11 | "She'd known he had sources" | | 12 | "He took a step closer," | | 13 | "They stood there in Eva's" | | 14 | "He set the cane aside," | | 15 | "His hand came up slowly," | | 16 | "His thumb moved to her" | | 17 | "She thought about self-preservation, about" | | 18 | "She thought about Evan, about" | | 19 | "she said finally" |
| | ratio | 0.433 | |
| 10.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 54 | | totalSentences | 60 | | matches | | 0 | "The door swung open, and" | | 1 | "Lucien Moreau stood in the" | | 2 | "His platinum hair caught the" | | 3 | "The mismatched eyes—one amber, one" | | 4 | "he said, his French accent" | | 5 | "Rory's hand tightened on the" | | 6 | "She'd gone back to black" | | 7 | "Her voice came out sharper" | | 8 | "He tilted his head toward" | | 9 | "The neighbor's door across the" | | 10 | "Rory bit back a curse" | | 11 | "Lucien moved past her with" | | 12 | "The scent of his cologne—something" | | 13 | "Ptolemy, Eva's tabby cat, materialized" | | 14 | "Rory muttered at the cat" | | 15 | "Lucien set the paper bag" | | 16 | "Something flickered across his face," | | 17 | "She crossed her arms over" | | 18 | "Lucien, meanwhile, looked like he'd" | | 19 | "The asymmetry between them had" |
| | ratio | 0.9 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 60 | | matches | (empty) | | ratio | 0 | |
| 12.99% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 33 | | technicalSentenceCount | 6 | | matches | | 0 | "Lucien Moreau stood in the hallway, one gloved hand resting atop his ivory-handled cane, the other holding a paper bag that smelled of fresh pastries." | | 1 | "Lucien moved past her with that familiar fluid grace, his charcoal suit immaculate despite the drizzle that had started half an hour ago." | | 2 | "The asymmetry between them had always been there—the half-demon information broker in his tailored suits and the delivery driver who smelled of bicycle grease a…" | | 3 | "Lucien Moreau, who spoke four languages fluently and could negotiate with demon lords and vampire coteries with equal ease, struggled to complete a sentence." | | 4 | "Close enough now that she could see the faint shadows under his eyes, the barely perceptible looseness in his collar that suggested he'd lost weight." | | 5 | "Rory studied his face—the sharp cheekbones, the mismatched eyes, the mouth that had kissed her senseless in a Southwark alley while sirens wailed in the distanc…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 26 | | uselessAdditionCount | 1 | | matches | | 0 | "He took, the cane tapping softly against Eva's threadbare carpet" |
| |
| 99.15% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 3 | | fancyTags | | 0 | "Rory muttered (mutter)" | | 1 | "he admitted (admit)" | | 2 | "he agreed (agree)" |
| | dialogueSentences | 59 | | tagDensity | 0.153 | | leniency | 0.305 | | rawRatio | 0.333 | | effectiveRatio | 0.102 | |