| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 56 | | tagDensity | 0.357 | | leniency | 0.714 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 79.76% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1729 | | totalAiIsmAdverbs | 7 | | found | | 0 | | | 1 | | | 2 | | adverb | "barely above a whisper" | | count | 3 |
| | 3 | |
| | highlights | | 0 | "slightly" | | 1 | "suddenly" | | 2 | "barely above a whisper" | | 3 | "really" |
| |
| 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) | |
| 27.70% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1729 | | totalAiIsms | 25 | | found | | | highlights | | 0 | "footsteps" | | 1 | "weight" | | 2 | "pulse" | | 3 | "flicked" | | 4 | "traced" | | 5 | "gleaming" | | 6 | "calculating" | | 7 | "whisper" | | 8 | "silence" | | 9 | "warmth" | | 10 | "pounding" |
| |
| 0.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 5 | | maxInWindow | 4 | | found | | 0 | | label | "heart pounded in chest" | | count | 4 |
| | 1 | | label | "clenched jaw/fists" | | count | 1 |
|
| | highlights | | 0 | "heart pounded in her chest" | | 1 | "clenched into fists" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 134 | | matches | (empty) | |
| 68.23% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 5 | | hedgeCount | 2 | | narrationSentences | 134 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 170 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 38 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 13 | | markdownWords | 14 | | totalWords | 1717 | | ratio | 0.008 | | matches | | 0 | "mrrp" | | 1 | "felt" | | 2 | "Lucien." | | 3 | "now" | | 4 | "thud" | | 5 | "accidentally" | | 6 | "gave" | | 7 | "hungry" | | 8 | "wanted" | | 9 | "too much" | | 10 | "need" | | 11 | "was" | | 12 | "thump" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 18 | | unquotedAttributions | 0 | | matches | (empty) | |
| 69.30% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 52 | | wordCount | 1487 | | uniqueNames | 10 | | maxNameDensity | 1.61 | | worstName | "Aurora" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Aurora" | | discoveredNames | | Eva | 1 | | Aurora | 24 | | Moreau | 1 | | Brick | 1 | | Lane | 1 | | Ptolemy | 3 | | French | 1 | | Lucien | 18 | | Golden | 1 | | Empress | 1 |
| | persons | | 0 | "Eva" | | 1 | "Aurora" | | 2 | "Moreau" | | 3 | "Ptolemy" | | 4 | "Lucien" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "French" | | 3 | "Golden" |
| | globalScore | 0.693 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 89 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1717 | | matches | (empty) | |
| 0.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 13 | | totalSentences | 170 | | matches | | 0 | "remembered that night" | | 1 | "chose that moment" | | 2 | "knew that the" | | 3 | "remembered that day" | | 4 | "knew that the" | | 5 | "believe that he" | | 6 | "believe that they been, that they" | | 7 | "knew that the" | | 8 | "knew that the" | | 9 | "believe that they been, that they" | | 10 | "knew that the" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 70 | | mean | 24.53 | | std | 21.96 | | cv | 0.895 | | sampleLengths | | 0 | 69 | | 1 | 66 | | 2 | 5 | | 3 | 92 | | 4 | 48 | | 5 | 18 | | 6 | 16 | | 7 | 61 | | 8 | 83 | | 9 | 21 | | 10 | 17 | | 11 | 19 | | 12 | 21 | | 13 | 16 | | 14 | 69 | | 15 | 13 | | 16 | 7 | | 17 | 20 | | 18 | 19 | | 19 | 5 | | 20 | 18 | | 21 | 57 | | 22 | 7 | | 23 | 55 | | 24 | 48 | | 25 | 9 | | 26 | 14 | | 27 | 2 | | 28 | 1 | | 29 | 75 | | 30 | 9 | | 31 | 8 | | 32 | 46 | | 33 | 15 | | 34 | 17 | | 35 | 40 | | 36 | 15 | | 37 | 6 | | 38 | 20 | | 39 | 15 | | 40 | 7 | | 41 | 4 | | 42 | 46 | | 43 | 10 | | 44 | 5 | | 45 | 38 | | 46 | 10 | | 47 | 6 | | 48 | 39 | | 49 | 17 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 134 | | matches | | 0 | "was rumpled" | | 1 | "been terrified" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 290 | | matches | | 0 | "was* running" | | 1 | "was standing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 13 | | totalSentences | 170 | | ratio | 0.076 | | matches | | 0 | "Then—footsteps." | | 1 | "His platinum blond hair was still slicked back, but the tailored charcoal suit he wore was rumpled at the shoulders, as if he’d been leaning against something—someone—for hours." | | 2 | "Should have *felt* it the moment she’d stepped onto Brick Lane, the way the cobblestones seemed to shift beneath her boots, the way the wind carried his scent—woodsmoke and something darker, something that made her skin prickle." | | 3 | "Aurora’s eyes flicked to the scar on her wrist, the one she’d given him years ago—*accidentally*, she’d insisted then, though he’d known better." | | 4 | "She remembered that night—the way the air had been thick with the stink of cheap gin and something older, something *hungry*." | | 5 | "She remembered the way he’d made her feel—alive, in a way she hadn’t been in years." | | 6 | "She’d missed the way he made her feel—like she was the only thing in the world that mattered to him, like he saw her, really saw her, even when she was at her worst." | | 7 | "She knew that the second she let herself, he’d take everything from her—her heart, her sanity, her soul." | | 8 | "She remembered that day—the way he’d looked at her, like she was something rare and precious." | | 9 | "She knew that the second she let herself, he’d take everything from her—her heart, her sanity, her soul." | | 10 | "She knew that the second she let herself, he’d take everything from her—her heart, her sanity, her soul." | | 11 | "She knew that the second she let herself, he’d take everything from her—her heart, her sanity, her soul." | | 12 | "She knew that the second she let herself, he’d take everything from her—her heart, her sanity, her soul." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1502 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 45 | | adverbRatio | 0.02996005326231691 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.009986684420772303 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 170 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 170 | | mean | 10.1 | | std | 7.95 | | cv | 0.787 | | sampleLengths | | 0 | 27 | | 1 | 22 | | 2 | 1 | | 3 | 1 | | 4 | 1 | | 5 | 17 | | 6 | 18 | | 7 | 23 | | 8 | 25 | | 9 | 5 | | 10 | 22 | | 11 | 28 | | 12 | 14 | | 13 | 16 | | 14 | 12 | | 15 | 6 | | 16 | 4 | | 17 | 37 | | 18 | 1 | | 19 | 10 | | 20 | 5 | | 21 | 3 | | 22 | 10 | | 23 | 6 | | 24 | 10 | | 25 | 6 | | 26 | 5 | | 27 | 23 | | 28 | 17 | | 29 | 13 | | 30 | 20 | | 31 | 23 | | 32 | 27 | | 33 | 13 | | 34 | 8 | | 35 | 13 | | 36 | 4 | | 37 | 14 | | 38 | 5 | | 39 | 8 | | 40 | 6 | | 41 | 7 | | 42 | 7 | | 43 | 9 | | 44 | 3 | | 45 | 21 | | 46 | 23 | | 47 | 22 | | 48 | 10 | | 49 | 3 |
| |
| 39.41% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 18 | | diversityRatio | 0.2 | | totalSentences | 170 | | uniqueOpeners | 34 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 129 | | matches | (empty) | | ratio | 0 | |
| 24.65% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 63 | | totalSentences | 129 | | matches | | 0 | "She froze, her fingers tightening" | | 1 | "His platinum blond hair was" | | 2 | "His cane rested against the" | | 3 | "She should have known." | | 4 | "she said, her voice steadier" | | 5 | "His lips quirked, just slightly," | | 6 | "She should close the door." | | 7 | "She should call out to" | | 8 | "He’d traced it with his" | | 9 | "he said, voice low" | | 10 | "he corrected, his cane tapping" | | 11 | "She swallowed hard, her throat" | | 12 | "His voice dropped, rougher now" | | 13 | "She remembered that night—the way" | | 14 | "She remembered the way he’d" | | 15 | "She remembered the way he’d" | | 16 | "she said, her voice barely" | | 17 | "he shot back, his voice" | | 18 | "His gaze darkened" | | 19 | "She remembered the way he’d" |
| | ratio | 0.488 | |
| 10.39% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 116 | | totalSentences | 129 | | matches | | 0 | "The door to Eva’s flat" | | 1 | "She froze, her fingers tightening" | | 2 | "The kind of step that" | | 3 | "Aurora exhaled, her breath fogging" | | 4 | "The door swung inward, revealing" | | 5 | "Ptolemy, the tabby cat, lifted" | | 6 | "Lucien Moreau stood just inside" | | 7 | "His platinum blond hair was" | | 8 | "His cane rested against the" | | 9 | "The air between them crackled," | | 10 | "Aurora’s pulse hammered in her" | | 11 | "She should have known." | | 12 | "she said, her voice steadier" | | 13 | "The words tasted like ash." | | 14 | "His lips quirked, just slightly," | | 15 | "The words hung between them," | | 16 | "Aurora’s fingers twitched at her" | | 17 | "She should close the door." | | 18 | "She should call out to" | | 19 | "Lucien stepped inside, the door" |
| | ratio | 0.899 | |
| 77.52% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 129 | | matches | | 0 | "Now, his gaze flicked to" | | 1 | "Because he was right." |
| | ratio | 0.016 | |
| 12.99% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 55 | | technicalSentenceCount | 10 | | matches | | 0 | "She froze, her fingers tightening around the brass key, the scent of rain-slicked pavement and distant curry wafting in through the gap." | | 1 | "His platinum blond hair was still slicked back, but the tailored charcoal suit he wore was rumpled at the shoulders, as if he’d been leaning against something—s…" | | 2 | "Should have *felt* it the moment she’d stepped onto Brick Lane, the way the cobblestones seemed to shift beneath her boots, the way the wind carried his scent—w…" | | 3 | "But the cat was already halfway down the stairs, his tail lashing in irritation at being disturbed." | | 4 | "He’d traced it with his fingers, murmured something in French that made her pulse jump, and then he’d walked away before she could ask what it meant." | | 5 | "She remembered the way he’d made her feel, like she was the only woman in the world who could tame him." | | 6 | "She wanted to believe that he was different, that he wasn’t the same man who’d left her broken and bleeding on the pavement outside the Golden Empress." | | 7 | "She remembered the way he’d made her feel, like she was the only woman in the world who could tame him." | | 8 | "She remembered the way he’d made her feel, like she was the only woman in the world who could tame him." | | 9 | "Lucien’s breath hitched, his gaze locking onto hers, his amber eye gleaming in the lamplight." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 18 | | matches | | 0 | "she said, her voice steadier than she felt" | | 1 | "he said, voice low" | | 2 | "he corrected, his cane tapping once against the floor" | | 3 | "she said, her voice barely above a whisper" | | 4 | "he shot back, his voice sharp" | | 5 | "she said, her voice breaking just a little" | | 6 | "she asked, her voice barely a whisper" | | 7 | "she said, her voice steady despite the storm raging inside her" | | 8 | "she said, her voice trembling just a little" | | 9 | "she said, her voice steady despite the storm raging inside her" | | 10 | "he interrupted, his voice sharp" | | 11 | "she asked, her voice barely above a whisper" | | 12 | "she asked, her voice trembling just a little" | | 13 | "she asked, her voice steady despite the storm raging inside her" | | 14 | "she asked, her voice trembling just a little" | | 15 | "she asked, her voice barely above a whisper" | | 16 | "she admitted, her voice trembling just a little" | | 17 | "he asked, his voice rough" |
| |
| 96.43% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 17 | | fancyCount | 3 | | fancyTags | | 0 | "he corrected (correct)" | | 1 | "he interrupted (interrupt)" | | 2 | "she admitted (admit)" |
| | dialogueSentences | 56 | | tagDensity | 0.304 | | leniency | 0.607 | | rawRatio | 0.176 | | effectiveRatio | 0.107 | |