| 82.35% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 3 | | adverbTags | | 0 | "he said finally [finally]" | | 1 | "he said quietly [quietly]" | | 2 | "she said instead [instead]" |
| | dialogueSentences | 51 | | tagDensity | 0.294 | | leniency | 0.588 | | rawRatio | 0.2 | | effectiveRatio | 0.118 | |
| 75.38% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1625 | | totalAiIsmAdverbs | 8 | | found | | | highlights | | 0 | "slightly" | | 1 | "very" | | 2 | "really" | | 3 | "carefully" | | 4 | "softly" | | 5 | "completely" | | 6 | "slowly" |
| |
| 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) | |
| 81.54% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1625 | | totalAiIsms | 6 | | found | | | highlights | | 0 | "flickered" | | 1 | "weight" | | 2 | "silk" | | 3 | "warmth" |
| |
| 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 | 100 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 100 | | filterMatches | (empty) | | hedgeMatches | | 0 | "managed to" | | 1 | "seemed to" | | 2 | "tried to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 136 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 47 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1606 | | 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 | 37 | | wordCount | 1275 | | uniqueNames | 12 | | maxNameDensity | 0.63 | | worstName | "Lucien" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Ptolemy | 4 | | Moreau | 1 | | Brick | 4 | | Lane | 4 | | Silas | 4 | | Rory | 5 | | Evan | 2 | | Eva | 2 | | Lucien | 8 | | Tube | 1 | | Started | 1 | | Yu-Fei | 1 |
| | persons | | 0 | "Ptolemy" | | 1 | "Moreau" | | 2 | "Silas" | | 3 | "Rory" | | 4 | "Evan" | | 5 | "Eva" | | 6 | "Lucien" | | 7 | "Yu-Fei" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 63.79% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 58 | | glossingSentenceCount | 2 | | matches | | 0 | "not quite but something adjacent to it" | | 1 | "seemed absurd theatrical, the kind of thing that belonged in the paperbacks Eva devoured rather than in a conversation with a man who smelled like sandalwood and wore suits that cost more than her rent" | | 2 | "smelled like sandalwood and wore suits tha" |
| |
| 13.20% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 1.868 | | wordCount | 1606 | | matches | | 0 | "not anger, not quite, but something adjacent to it" | | 1 | "not quite, but something adjacent to it" | | 2 | "not just with his presence but with the weight of everything unsaid" |
| |
| 93.14% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 3 | | totalSentences | 136 | | matches | | 0 | "remembered that night" | | 1 | "understood that the" | | 2 | "hated that he" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 66 | | mean | 24.33 | | std | 25.73 | | cv | 1.058 | | sampleLengths | | 0 | 32 | | 1 | 10 | | 2 | 89 | | 3 | 34 | | 4 | 22 | | 5 | 1 | | 6 | 20 | | 7 | 6 | | 8 | 68 | | 9 | 11 | | 10 | 23 | | 11 | 2 | | 12 | 22 | | 13 | 30 | | 14 | 36 | | 15 | 4 | | 16 | 1 | | 17 | 1 | | 18 | 70 | | 19 | 5 | | 20 | 16 | | 21 | 35 | | 22 | 10 | | 23 | 4 | | 24 | 3 | | 25 | 13 | | 26 | 37 | | 27 | 97 | | 28 | 10 | | 29 | 15 | | 30 | 13 | | 31 | 6 | | 32 | 26 | | 33 | 5 | | 34 | 46 | | 35 | 53 | | 36 | 1 | | 37 | 8 | | 38 | 79 | | 39 | 27 | | 40 | 15 | | 41 | 9 | | 42 | 82 | | 43 | 63 | | 44 | 17 | | 45 | 12 | | 46 | 5 | | 47 | 8 | | 48 | 39 | | 49 | 2 |
| |
| 98.25% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 100 | | matches | | 0 | "was swept" | | 1 | "been cleaned" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 220 | | matches | | 0 | "wasn't manipulating" | | 1 | "was just standing" | | 2 | "was filing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 19 | | semicolonCount | 1 | | flaggedSentences | 17 | | totalSentences | 136 | | ratio | 0.125 | | matches | | 0 | "His charcoal suit was immaculate—not a crease, not a speck of Brick Lane grime on the shoulders." | | 1 | "The amber one caught the light from the flat behind her; the black one swallowed it whole." | | 2 | "His gaze moved past her shoulder into the flat—taking in the towers of books, the scrolls pinned to every available wall, the faint orange glow of streetlight through windows that hadn't been cleaned in weeks." | | 3 | "The old instinct, the one Evan had never managed to beat out of her—hold your ground, don't give an inch." | | 4 | "For a moment, something flickered across his face—not anger, not quite, but something adjacent to it." | | 5 | "Someone down on Brick Lane laughed—a bright, drunken sound that floated up through the floorboards and faded." | | 6 | "She remembered that night—the one right before he'd left—when he'd told her what he was." | | 7 | "\"So you decided to protect me by ghosting.\" She laughed—a short, bitter sound." | | 8 | "The tip of his cane tapped once against the concrete step—a sharp, deliberate sound." | | 9 | "\"I tried. For five months, I told myself that this—\" a gesture between them, vague and encompassing, \"—was a mistake. That you would be safer if I never saw you again. That the sensible thing, the kind thing, was to let you believe I didn't care.\"" | | 10 | "She hated it—hated that he could still do this to her, that a few well-chosen words and those impossible eyes could make her want to step aside and let him in." | | 11 | "Lucien crossed the threshold, and the flat felt immediately smaller, more crowded—not just with his presence but with the weight of everything unsaid." | | 12 | "Below, Brick Lane hummed with its usual late-night energy—music from a pub three doors down, the rumble of the Tube through the walls, voices in half a dozen languages drifting up from the street." | | 13 | "She thought about the nightmares she'd had after he left—the ones where she chased him through streets that shifted and melted, where his eyes turned completely black and he walked away from her into a darkness she couldn't follow." | | 14 | "His free hand rose—hesitated—and then his fingertips brushed the edge of her sleeve." | | 15 | "A surprised laugh broke out of her—real this time, not bitter." | | 16 | "But standing there with Lucien's fingers warm against her wrist, his mismatched eyes holding hers like something precious and breakable, Rory thought maybe—maybe—it was a start." |
| |
| 98.06% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 758 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 32 | | adverbRatio | 0.04221635883905013 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.010554089709762533 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 136 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 136 | | mean | 11.81 | | std | 10.28 | | cv | 0.87 | | sampleLengths | | 0 | 5 | | 1 | 3 | | 2 | 24 | | 3 | 10 | | 4 | 35 | | 5 | 17 | | 6 | 37 | | 7 | 2 | | 8 | 32 | | 9 | 5 | | 10 | 17 | | 11 | 1 | | 12 | 2 | | 13 | 4 | | 14 | 14 | | 15 | 6 | | 16 | 4 | | 17 | 35 | | 18 | 21 | | 19 | 2 | | 20 | 6 | | 21 | 9 | | 22 | 2 | | 23 | 14 | | 24 | 9 | | 25 | 2 | | 26 | 12 | | 27 | 10 | | 28 | 3 | | 29 | 20 | | 30 | 7 | | 31 | 3 | | 32 | 16 | | 33 | 17 | | 34 | 4 | | 35 | 1 | | 36 | 1 | | 37 | 23 | | 38 | 26 | | 39 | 21 | | 40 | 5 | | 41 | 16 | | 42 | 3 | | 43 | 15 | | 44 | 17 | | 45 | 4 | | 46 | 6 | | 47 | 4 | | 48 | 3 | | 49 | 8 |
| |
| 52.45% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.36764705882352944 | | totalSentences | 136 | | uniqueOpeners | 50 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 87 | | matches | | 0 | "Then the second." | | 1 | "Really looked, in a way" | | 2 | "Just the barest contact, light" |
| | ratio | 0.034 | |
| 54.48% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 36 | | totalSentences | 87 | | matches | | 0 | "His charcoal suit was immaculate—not" | | 1 | "His mismatched eyes found hers." | | 2 | "She'd stopped correcting him after" | | 3 | "He didn't answer immediately." | | 4 | "His gaze moved past her" | | 5 | "he said finally" | | 6 | "She tightened her grip on" | | 7 | "Her voice came out harder" | | 8 | "She glanced at her phone" | | 9 | "He was quiet." | | 10 | "She tasted the word like" | | 11 | "His black eye seemed to" | | 12 | "She remembered that night—the one" | | 13 | "She'd understood, and she'd stayed." | | 14 | "She laughed—a short, bitter sound" | | 15 | "He looked at her." | | 16 | "She hated it—hated that he" | | 17 | "She thought about Evan, about" | | 18 | "She looked down at the" | | 19 | "She stepped back." |
| | ratio | 0.414 | |
| 34.71% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 74 | | totalSentences | 87 | | matches | | 0 | "The first deadbolt thunked open." | | 1 | "Rory pulled the door open" | | 2 | "Lucien Moreau stood in the" | | 3 | "His charcoal suit was immaculate—not" | | 4 | "The platinum hair was swept" | | 5 | "His mismatched eyes found hers." | | 6 | "The amber one caught the" | | 7 | "She'd stopped correcting him after" | | 8 | "He didn't answer immediately." | | 9 | "His gaze moved past her" | | 10 | "The smell of curry from" | | 11 | "Eva had been burning sage" | | 12 | "he said finally" | | 13 | "She tightened her grip on" | | 14 | "The words landed between them" | | 15 | "Ptolemy yowled from somewhere beneath" | | 16 | "Rory's chin lifted." | | 17 | "The old instinct, the one" | | 18 | "Lucien's jaw tightened." | | 19 | "Something that looked almost like" |
| | ratio | 0.851 | |
| 57.47% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 87 | | matches | | | ratio | 0.011 | |
| 65.22% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 46 | | technicalSentenceCount | 5 | | matches | | 0 | "His gaze moved past her shoulder into the flat—taking in the towers of books, the scrolls pinned to every available wall, the faint orange glow of streetlight t…" | | 1 | "Something that looked almost like pain before he smoothed it away behind that infuriating mask of composure." | | 2 | "The word had seemed absurd, theatrical, the kind of thing that belonged in the paperbacks Eva devoured rather than in a conversation with a man who smelled like…" | | 3 | "Really looked, in a way that made her skin prickle and her breath stutter despite every wall she'd tried to build." | | 4 | "Cool silk over a wrist that radiated an almost imperceptible warmth, like something human trying to burn through something that wasn't." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 51 | | tagDensity | 0.157 | | leniency | 0.314 | | rawRatio | 0.125 | | effectiveRatio | 0.039 | |