| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 1 | | adverbTags | | 0 | "he said finally [finally]" |
| | dialogueSentences | 41 | | tagDensity | 0.22 | | leniency | 0.439 | | rawRatio | 0.111 | | effectiveRatio | 0.049 | |
| 83.77% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 924 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | |
| 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) | |
| 35.06% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 924 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "flicked" | | 1 | "pulse" | | 2 | "weight" | | 3 | "silence" | | 4 | "flicker" | | 5 | "traced" | | 6 | "calculating" | | 7 | "stomach" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 2 | | found | | 0 | | label | "stomach dropped/sank" | | count | 1 |
| | 1 | | label | "clenched jaw/fists" | | count | 1 |
|
| | highlights | | 0 | "stomach dropped" | | 1 | "clenched her jaw" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 2 | | narrationSentences | 80 | | matches | | 0 | "was uneasy" | | 1 | "t with anger" |
| |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 80 | | filterMatches | (empty) | | hedgeMatches | | |
| 97.29% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 112 | | gibberishSentences | 1 | | adjustedGibberishSentences | 1 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 43 | | ratio | 0.009 | | matches | | 0 | "Then he was gone,經典 the door clicking shut behind him." |
| |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 903 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 30 | | wordCount | 680 | | uniqueNames | 6 | | maxNameDensity | 1.32 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Lucien" | | discoveredNames | | Eva | 4 | | Ptolemy | 5 | | Rory | 9 | | Lucien | 9 | | Paris | 1 | | Silence | 2 |
| | persons | | 0 | "Eva" | | 1 | "Ptolemy" | | 2 | "Rory" | | 3 | "Lucien" |
| | places | | | globalScore | 0.838 | | windowScore | 0.833 | |
| 96.81% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 47 | | glossingSentenceCount | 1 | | matches | | 0 | "as if sensing her scrutiny, and Rory’s fingers twitched against the chain" |
| |
| 89.26% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 1.107 | | wordCount | 903 | | matches | | 0 | "not with anger, but something heavier" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 112 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 59 | | mean | 15.31 | | std | 13.61 | | cv | 0.889 | | sampleLengths | | 0 | 52 | | 1 | 45 | | 2 | 11 | | 3 | 6 | | 4 | 25 | | 5 | 37 | | 6 | 9 | | 7 | 2 | | 8 | 51 | | 9 | 9 | | 10 | 14 | | 11 | 4 | | 12 | 5 | | 13 | 9 | | 14 | 39 | | 15 | 5 | | 16 | 18 | | 17 | 55 | | 18 | 13 | | 19 | 23 | | 20 | 3 | | 21 | 15 | | 22 | 13 | | 23 | 14 | | 24 | 47 | | 25 | 3 | | 26 | 13 | | 27 | 12 | | 28 | 8 | | 29 | 5 | | 30 | 14 | | 31 | 1 | | 32 | 32 | | 33 | 14 | | 34 | 5 | | 35 | 7 | | 36 | 24 | | 37 | 9 | | 38 | 18 | | 39 | 6 | | 40 | 3 | | 41 | 13 | | 42 | 26 | | 43 | 2 | | 44 | 10 | | 45 | 13 | | 46 | 1 | | 47 | 13 | | 48 | 5 | | 49 | 24 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 80 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 126 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 16 | | semicolonCount | 0 | | flaggedSentences | 14 | | totalSentences | 112 | | ratio | 0.125 | | matches | | 0 | "The knock came just after midnight—three deliberate raps against Eva’s reinforced door." | | 1 | "That single word snagged something low in her ribs—the way he never lied around her, even when it would’ve been easier." | | 2 | "The door swung open and there he stood—charcoal suit impeccable, cane braced in one gloved hand." | | 3 | "The amber eye darkened—not with anger, but something heavier." | | 4 | "The suit beneath was the same one he’d worn the last time they’d argued—navy instead of charcoal, but cut from the same cloth." | | 5 | "The half-demon crouched—slow, controlled—and scratched behind Ptolemy’s ears." | | 6 | "Too much history packed into the silence—his mouth on hers in the backroom of Silas’ bar, the way he’d flinched when she touched the scar bisecting his ribs, hours spent deciphering witch-tongued legal texts with their knees knocking under Eva’s table." | | 7 | "He studied her—really studied her—like-acreeping." | | 8 | "Lucien stepped closer—near enough that she caught the hint of iron beneath the bergamot, the scent that clung to him after demon work." | | 9 | "Not fear—irritation." | | 10 | "“She’d have told me the same thing you will.” His thumb traced the cane’s handle—once, twice." | | 11 | "The pulse beneath her grip was steady, slow—too controlled for a human." | | 12 | "His lips parted—then pressed into a thin line." | | 13 | "The kiss was sudden—hot and bruising and over before she could process it." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 569 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 20 | | adverbRatio | 0.0351493848857645 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.007029876977152899 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 112 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 112 | | mean | 8.06 | | std | 6.63 | | cv | 0.822 | | sampleLengths | | 0 | 12 | | 1 | 9 | | 2 | 6 | | 3 | 25 | | 4 | 14 | | 5 | 13 | | 6 | 18 | | 7 | 11 | | 8 | 5 | | 9 | 1 | | 10 | 21 | | 11 | 4 | | 12 | 16 | | 13 | 21 | | 14 | 4 | | 15 | 5 | | 16 | 2 | | 17 | 20 | | 18 | 5 | | 19 | 26 | | 20 | 8 | | 21 | 1 | | 22 | 9 | | 23 | 5 | | 24 | 4 | | 25 | 5 | | 26 | 3 | | 27 | 6 | | 28 | 11 | | 29 | 18 | | 30 | 10 | | 31 | 5 | | 32 | 11 | | 33 | 7 | | 34 | 23 | | 35 | 23 | | 36 | 9 | | 37 | 7 | | 38 | 6 | | 39 | 12 | | 40 | 11 | | 41 | 3 | | 42 | 8 | | 43 | 7 | | 44 | 2 | | 45 | 11 | | 46 | 8 | | 47 | 6 | | 48 | 6 | | 49 | 41 |
| |
| 60.71% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.375 | | totalSentences | 112 | | uniqueOpeners | 42 | |
| 95.24% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 70 | | matches | | 0 | "Too much history packed into" | | 1 | "Then he was gone,經典 the" |
| | ratio | 0.029 | |
| 60.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 28 | | totalSentences | 70 | | matches | | 0 | "she said through the wood" | | 1 | "His exhale was barely audible." | | 2 | "She undid the locks." | | 3 | "She crossed her arms." | | 4 | "His gaze dipped to the" | | 5 | "Her pulse stuttered." | | 6 | "She stepped back, letting him" | | 7 | "He stopped by the kitchenette," | | 8 | "She shut the door" | | 9 | "His chuckle scraped low in" | | 10 | "His fingers worked at the" | | 11 | "He wound between Lucien’s legs" | | 12 | "He studied her—really studied her—like-acreeping." | | 13 | "he said finally" | | 14 | "She barked a laugh." | | 15 | "His expression didn’t flicker." | | 16 | "Her breath hitched." | | 17 | "She clenched her jaw." | | 18 | "He wasn’t wrong." | | 19 | "His thumb traced the cane’s" |
| | ratio | 0.4 | |
| 10.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 63 | | totalSentences | 70 | | matches | | 0 | "The knock came just after" | | 1 | "Rory froze mid-sip, her tea" | | 2 | "The deadbolts alone kept most" | | 3 | "The dim hallway light carved" | | 4 | "Lucien’s amber eye flicked toward" | | 5 | "she said through the wood" | | 6 | "His exhale was barely audible." | | 7 | "That single word snagged something" | | 8 | "She undid the locks." | | 9 | "The door swung open and" | | 10 | "The cold had left a" | | 11 | "She crossed her arms." | | 12 | "His gaze dipped to the" | | 13 | "The slight tightening at the" | | 14 | "Rory leaned against the doorframe," | | 15 | "The amber eye darkened—not with" | | 16 | "Her pulse stuttered." | | 17 | "She stepped back, letting him" | | 18 | "Lucien moved past her, the" | | 19 | "The flat’s clutter seemed to" |
| | ratio | 0.9 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 70 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 28 | | technicalSentenceCount | 1 | | matches | | 0 | "Lucien’s amber eye flicked toward her, as if sensing her scrutiny, and Rory’s fingers twitched against the chain." |
| |
| 69.44% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 1 | | matches | | 0 | "His thumb traced, twice" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 1 | | fancyTags | | 0 | "Rory muttered (mutter)" |
| | dialogueSentences | 41 | | tagDensity | 0.073 | | leniency | 0.146 | | rawRatio | 0.333 | | effectiveRatio | 0.049 | |