| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 90 | | tagDensity | 0.1 | | leniency | 0.2 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 97.05% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1693 | | totalAiIsmAdverbs | 1 | | 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) | |
| 85.23% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1693 | | totalAiIsms | 5 | | found | | | highlights | | 0 | "weight" | | 1 | "tension" | | 2 | "pulse" | | 3 | "silence" |
| |
| 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 | 87 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 87 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 168 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 45 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1679 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 31 | | unquotedAttributions | 0 | | matches | (empty) | |
| 80.63% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 44 | | wordCount | 937 | | uniqueNames | 12 | | maxNameDensity | 1.39 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Rory" | | discoveredNames | | July | 1 | | Rory | 13 | | Eva | 5 | | Celtic | 1 | | Lucien | 12 | | Started | 1 | | Brick | 1 | | Lane | 1 | | London | 1 | | Moreau | 1 | | Ptolemy | 3 | | Three | 4 |
| | persons | | 0 | "Rory" | | 1 | "Eva" | | 2 | "Lucien" | | 3 | "Moreau" | | 4 | "Ptolemy" |
| | places | | | globalScore | 0.806 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 57 | | glossingSentenceCount | 1 | | matches | | 0 | "not quite a smile, but the shape of one" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.596 | | wordCount | 1679 | | matches | | 0 | "not quite a smile, but the shape of one" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 168 | | matches | | 0 | "thin that he" | | 1 | "remembered that night" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 105 | | mean | 15.99 | | std | 16.92 | | cv | 1.058 | | sampleLengths | | 0 | 20 | | 1 | 58 | | 2 | 3 | | 3 | 12 | | 4 | 11 | | 5 | 12 | | 6 | 29 | | 7 | 3 | | 8 | 2 | | 9 | 37 | | 10 | 8 | | 11 | 25 | | 12 | 15 | | 13 | 16 | | 14 | 5 | | 15 | 3 | | 16 | 50 | | 17 | 18 | | 18 | 71 | | 19 | 27 | | 20 | 3 | | 21 | 4 | | 22 | 16 | | 23 | 6 | | 24 | 10 | | 25 | 7 | | 26 | 73 | | 27 | 2 | | 28 | 6 | | 29 | 4 | | 30 | 5 | | 31 | 47 | | 32 | 6 | | 33 | 1 | | 34 | 2 | | 35 | 43 | | 36 | 16 | | 37 | 5 | | 38 | 6 | | 39 | 4 | | 40 | 4 | | 41 | 8 | | 42 | 23 | | 43 | 2 | | 44 | 7 | | 45 | 13 | | 46 | 28 | | 47 | 3 | | 48 | 4 | | 49 | 43 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 87 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 167 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 168 | | ratio | 0.071 | | matches | | 0 | "The deadbolts clicked in sequence—three sharp sounds against the quiet of the flat." | | 1 | "Eva collected problems the way she collected research notes—stacked them in piles and lost track of which ones needed addressing." | | 2 | "His shoulder brushed hers—fabric against the thin cotton of Rory's t-shirt—and she moved back to give him space." | | 3 | "Lucien's mouth curved—not quite a smile, but the shape of one." | | 4 | "Rory wondered if he'd ever actually needed it or if it had always been what it was—a sheath for something sharp and thin that he could draw faster than most people could blink." | | 5 | "His expression didn't shift, but something in the set of his shoulders changed—a fraction of tension released, or maybe gathered." | | 6 | "The scar on her left wrist itched beneath the cuff of her sleeve—a nervous habit she'd never been able to break." | | 7 | "Not toward her—toward the window, where he stood with his back to the room and looked out at the Brick Lane lights spilling up through the evening haze." | | 8 | "She remembered that night—remembered sitting on the floor of her flat above Silas' bar with her back against the door, listening to the silence in the hallway and telling herself it wasn't him, telling herself she was being paranoid, telling herself she didn't care." | | 9 | "She should point to the door and tell him that whatever this was—whatever he thought he was doing—she wasn't interested in reopening it." | | 10 | "Lucien's expression shifted again—that almost-smile, this time reaching further." | | 11 | "Ptolemy meowed again—louder this time, more insistent." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 756 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 26 | | adverbRatio | 0.03439153439153439 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.010582010582010581 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 168 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 168 | | mean | 9.99 | | std | 8.92 | | cv | 0.892 | | sampleLengths | | 0 | 13 | | 1 | 7 | | 2 | 28 | | 3 | 18 | | 4 | 7 | | 5 | 5 | | 6 | 3 | | 7 | 7 | | 8 | 5 | | 9 | 11 | | 10 | 12 | | 11 | 7 | | 12 | 22 | | 13 | 3 | | 14 | 2 | | 15 | 3 | | 16 | 25 | | 17 | 9 | | 18 | 8 | | 19 | 4 | | 20 | 11 | | 21 | 10 | | 22 | 15 | | 23 | 16 | | 24 | 5 | | 25 | 3 | | 26 | 3 | | 27 | 27 | | 28 | 20 | | 29 | 18 | | 30 | 7 | | 31 | 18 | | 32 | 21 | | 33 | 8 | | 34 | 17 | | 35 | 6 | | 36 | 21 | | 37 | 3 | | 38 | 4 | | 39 | 13 | | 40 | 3 | | 41 | 6 | | 42 | 10 | | 43 | 7 | | 44 | 11 | | 45 | 8 | | 46 | 13 | | 47 | 6 | | 48 | 11 | | 49 | 24 |
| |
| 40.48% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 16 | | diversityRatio | 0.2857142857142857 | | totalSentences | 168 | | uniqueOpeners | 48 | |
| 41.67% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 80 | | matches | | 0 | "Just him, standing in Eva's" |
| | ratio | 0.013 | |
| 95.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 25 | | totalSentences | 80 | | matches | | 0 | "His charcoal suit was immaculate" | | 1 | "He didn't move from the" | | 2 | "She didn't answer." | | 3 | "His shoulder brushed hers—fabric against" | | 4 | "He set the paper bag" | | 5 | "He turned, and the full" | | 6 | "He leaned the cane against" | | 7 | "He said it without inflection," | | 8 | "His expression didn't shift, but" | | 9 | "He glanced at the sofa," | | 10 | "She uncovered it, examined it," | | 11 | "She softened, but only slightly." | | 12 | "They fell to her sides," | | 13 | "His reflection was ghostly in" | | 14 | "It wasn't a question" | | 15 | "Her pulse jumped." | | 16 | "She remembered that night—remembered sitting" | | 17 | "She should ask him to" | | 18 | "She should point to the" | | 19 | "He moved toward the kitchen." |
| | ratio | 0.313 | |
| 10.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 72 | | totalSentences | 80 | | matches | | 0 | "The deadbolts clicked in sequence—three" | | 1 | "Rory pulled the door open" | | 2 | "Lucien stood in the hallway," | | 3 | "His charcoal suit was immaculate" | | 4 | "The amber eye caught the" | | 5 | "The black one swallowed it." | | 6 | "He didn't move from the" | | 7 | "Rory's grip tightened on the" | | 8 | "Ptolemy wound between her ankles," | | 9 | "She didn't answer." | | 10 | "The curry house downstairs had" | | 11 | "The landing felt smaller with" | | 12 | "Lucien tilted his head." | | 13 | "A strand of platinum hair" | | 14 | "Rory knew Eva." | | 15 | "Eva had three deadbolts on" | | 16 | "Eva collected problems the way" | | 17 | "Lucien stepped past her into" | | 18 | "His shoulder brushed hers—fabric against" | | 19 | "The sitting room was barely" |
| | ratio | 0.9 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 80 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 34 | | technicalSentenceCount | 2 | | matches | | 0 | "The black one held something older, something that didn't reflect light the same way." | | 1 | "Three months of lying awake, replaying a kiss that lasted maybe ten seconds, wasn't something he could fix by showing up and looking at her with those mismatche…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 90 | | tagDensity | 0.011 | | leniency | 0.022 | | rawRatio | 0 | | effectiveRatio | 0 | |