| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 14 | | adverbTagCount | 2 | | adverbTags | | 0 | "she corrected instinctively [instinctively]" | | 1 | "he said softly [softly]" |
| | dialogueSentences | 43 | | tagDensity | 0.326 | | leniency | 0.651 | | rawRatio | 0.143 | | effectiveRatio | 0.093 | |
| 76.11% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1256 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "really" | | 1 | "slightly" | | 2 | "softly" | | 3 | "truly" | | 4 | "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) | |
| 44.27% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1256 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "echoed" | | 1 | "footsteps" | | 2 | "calculated" | | 3 | "silence" | | 4 | "weight" | | 5 | "warmth" | | 6 | "flickered" | | 7 | "chill" | | 8 | "desire" | | 9 | "tracing" |
| |
| 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 unsaid words" | | 1 | "hung in the air" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 82 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 82 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 112 | | 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 | 10 | | markdownWords | 10 | | totalWords | 1244 | | ratio | 0.008 | | matches | | 0 | "him" | | 1 | "him" | | 2 | "were" | | 3 | "really" | | 4 | "feeling" | | 5 | "suit" | | 6 | "forced" | | 7 | "willing" | | 8 | "me" | | 9 | "me" |
| |
| 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 | 28 | | wordCount | 843 | | uniqueNames | 9 | | maxNameDensity | 0.95 | | worstName | "Lucien" | | maxWindowNameDensity | 2 | | worstWindowName | "Lucien" | | discoveredNames | | Brick | 1 | | Lane | 1 | | Eva | 4 | | Moreau | 1 | | Ptolemy | 2 | | Lucien | 8 | | Rory | 8 | | London | 2 | | Tears | 1 |
| | persons | | 0 | "Eva" | | 1 | "Moreau" | | 2 | "Ptolemy" | | 3 | "Lucien" | | 4 | "Rory" | | 5 | "Tears" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 52 | | glossingSentenceCount | 1 | | matches | | 0 | "tasted like whiskey and something darker" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1244 | | matches | (empty) | |
| 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 | 58 | | mean | 21.45 | | std | 20.87 | | cv | 0.973 | | sampleLengths | | 0 | 74 | | 1 | 32 | | 2 | 7 | | 3 | 6 | | 4 | 6 | | 5 | 59 | | 6 | 18 | | 7 | 17 | | 8 | 10 | | 9 | 6 | | 10 | 42 | | 11 | 9 | | 12 | 42 | | 13 | 19 | | 14 | 26 | | 15 | 19 | | 16 | 6 | | 17 | 5 | | 18 | 14 | | 19 | 11 | | 20 | 11 | | 21 | 12 | | 22 | 93 | | 23 | 6 | | 24 | 3 | | 25 | 30 | | 26 | 4 | | 27 | 17 | | 28 | 11 | | 29 | 6 | | 30 | 10 | | 31 | 78 | | 32 | 10 | | 33 | 12 | | 34 | 21 | | 35 | 3 | | 36 | 2 | | 37 | 7 | | 38 | 7 | | 39 | 34 | | 40 | 4 | | 41 | 15 | | 42 | 2 | | 43 | 39 | | 44 | 41 | | 45 | 10 | | 46 | 65 | | 47 | 6 | | 48 | 64 | | 49 | 29 |
| |
| 96.71% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 82 | | matches | | 0 | "being drawn" | | 1 | "was slicked" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 143 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 1 | | flaggedSentences | 10 | | totalSentences | 112 | | ratio | 0.089 | | matches | | 0 | "She hadn’t planned to come here—not tonight, not ever, really—but the storm had chased her off her bike, and her flat above Silas’ bar felt too empty, too loud with memories she couldn’t escape." | | 1 | "She raised a hand, hesitated, then knocked—three sharp raps that echoed through the thin walls." | | 2 | "The amber eye—warm like aged cognac—widened slightly." | | 3 | "The air smelled of old paper, turmeric, and the faint, lingering trace of sandalwood—Eva’s incense." | | 4 | "Two years ago, they’d orbited each other in the hazy underworld of London’s supernatural trade—Rory, delivering packages she wasn’t supposed to open; Lucien, brokering deals in backrooms that didn’t exist on any map." | | 5 | "And then—his hand brushing hers." | | 6 | "Lucien’s heterochromatic gaze flickered over her—the blue of her eyes, the way her damp hair clung to her cheek, the small crescent scar on her left wrist, just visible beneath her sleeve." | | 7 | "Something shifted in his expression—something softer, more human than the polished broker the city feared." | | 8 | "He looked at her—*really* looked." | | 9 | "She looked into his dual-colored eyes—amber and black, human and demon, fire and shadow—and found no pretense." |
| |
| 98.62% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 457 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 19 | | adverbRatio | 0.04157549234135667 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.010940919037199124 | |
| 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 | 11.11 | | std | 9.12 | | cv | 0.821 | | sampleLengths | | 0 | 17 | | 1 | 23 | | 2 | 34 | | 3 | 15 | | 4 | 17 | | 5 | 7 | | 6 | 6 | | 7 | 6 | | 8 | 22 | | 9 | 22 | | 10 | 7 | | 11 | 8 | | 12 | 18 | | 13 | 17 | | 14 | 8 | | 15 | 2 | | 16 | 6 | | 17 | 11 | | 18 | 15 | | 19 | 16 | | 20 | 5 | | 21 | 4 | | 22 | 2 | | 23 | 7 | | 24 | 7 | | 25 | 15 | | 26 | 11 | | 27 | 10 | | 28 | 9 | | 29 | 26 | | 30 | 8 | | 31 | 11 | | 32 | 2 | | 33 | 4 | | 34 | 5 | | 35 | 3 | | 36 | 11 | | 37 | 6 | | 38 | 5 | | 39 | 5 | | 40 | 6 | | 41 | 12 | | 42 | 33 | | 43 | 13 | | 44 | 28 | | 45 | 5 | | 46 | 4 | | 47 | 10 | | 48 | 6 | | 49 | 3 |
| |
| 57.44% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.39285714285714285 | | totalSentences | 112 | | uniqueOpeners | 44 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 75 | | matches | | 0 | "Then, one winter night, after" | | 1 | "Instead, Rory ran." | | 2 | "Instead, he pulled her into" |
| | ratio | 0.04 | |
| 33.33% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 35 | | totalSentences | 75 | | matches | | 0 | "She hadn’t planned to come" | | 1 | "She raised a hand, hesitated," | | 2 | "He wore one of his" | | 3 | "His platinum-blond hair was slicked" | | 4 | "he said, the name slipping" | | 5 | "she corrected instinctively, though they" | | 6 | "She hadn’t expected *him* to" | | 7 | "She stepped inside, leaving wet" | | 8 | "He shut the door, reengaging" | | 9 | "Her breath caught." | | 10 | "She turned to face him" | | 11 | "he said softly" | | 12 | "Their paths crossed too often," | | 13 | "It should have been the" | | 14 | "She left London the next" | | 15 | "he said, breaking the silence" | | 16 | "She managed a dry laugh." | | 17 | "He remembered that scar." | | 18 | "She’d shown it to him" | | 19 | "She’d said it was from" |
| | ratio | 0.467 | |
| 60.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 60 | | totalSentences | 75 | | matches | | 0 | "The rain had turned Brick" | | 1 | "Rory stood on the doorstep" | | 2 | "She hadn’t planned to come" | | 3 | "She raised a hand, hesitated," | | 4 | "The door opened a crack," | | 5 | "Lucien Moreau stood in the" | | 6 | "He wore one of his" | | 7 | "His platinum-blond hair was slicked" | | 8 | "The amber eye—warm like aged" | | 9 | "The other, black as obsidian," | | 10 | "he said, the name slipping" | | 11 | "she corrected instinctively, though they" | | 12 | "A ghost of a smile" | | 13 | "Silence stretched between them, thick" | | 14 | "The air smelled of old" | | 15 | "Lucien took a step back." | | 16 | "She hadn’t expected *him* to" | | 17 | "Eva never mentioned visitors, especially" | | 18 | "She stepped inside, leaving wet" | | 19 | "He shut the door, reengaging" |
| | ratio | 0.8 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 75 | | matches | | 0 | "Even then, she avoided Lucien’s" | | 1 | "Now, here he was." |
| | ratio | 0.027 | |
| 95.24% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 30 | | technicalSentenceCount | 2 | | matches | | 0 | "Two years ago, they’d orbited each other in the hazy underworld of London’s supernatural trade—Rory, delivering packages she wasn’t supposed to open; Lucien, br…" | | 1 | "Instead, he pulled her into his arms, holding her as the rain drummed against the windows and Ptolemy curled on the sofa, purring into his paws." |
| |
| 17.86% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 14 | | uselessAdditionCount | 3 | | matches | | 0 | "he said, voice low," | | 1 | "He reached out, his fingers brushing the edge of her scar" | | 2 | "she said, voice steady now" |
| |
| 80.23% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 3 | | fancyTags | | 0 | "she corrected instinctively (correct)" | | 1 | "she whispered (whisper)" | | 2 | "she whispered (whisper)" |
| | dialogueSentences | 43 | | tagDensity | 0.233 | | leniency | 0.465 | | rawRatio | 0.3 | | effectiveRatio | 0.14 | |