| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 21 | | adverbTagCount | 5 | | adverbTags | | 0 | "she repeated flatly [flatly]" | | 1 | "he said quietly [quietly]" | | 2 | "His voice broke just [just]" | | 3 | "she said quietly [quietly]" | | 4 | "She pulled back [back]" |
| | dialogueSentences | 48 | | tagDensity | 0.438 | | leniency | 0.875 | | rawRatio | 0.238 | | effectiveRatio | 0.208 | |
| 88.77% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1781 | | totalAiIsmAdverbs | 4 | | found | | 0 | | | 1 | | adverb | "barely above a whisper" | | count | 1 |
| | 2 | | | 3 | |
| | highlights | | 0 | "slightly" | | 1 | "barely above a whisper" | | 2 | "slowly" | | 3 | "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) | |
| 46.66% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1781 | | totalAiIsms | 19 | | found | | | highlights | | 0 | "tension" | | 1 | "weight" | | 2 | "pulse" | | 3 | "stomach" | | 4 | "sense of" | | 5 | "chaotic" | | 6 | "familiar" | | 7 | "wavered" | | 8 | "pounding" | | 9 | "could feel" | | 10 | "whisper" | | 11 | "depths" | | 12 | "traced" | | 13 | "unspoken" |
| |
| 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 | 79 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 79 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 106 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 56 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1762 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 20 | | unquotedAttributions | 0 | | matches | (empty) | |
| 90.88% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 43 | | wordCount | 1184 | | uniqueNames | 13 | | maxNameDensity | 1.18 | | worstName | "Aurora" | | maxWindowNameDensity | 2 | | worstWindowName | "Aurora" | | discoveredNames | | Aurora | 14 | | Thai | 1 | | Moreau | 1 | | Ptolemy | 3 | | Silas | 1 | | Eva | 4 | | Lucien | 12 | | Thornwood | 1 | | Rory | 1 | | London | 2 | | Bengali | 1 | | Brick | 1 | | Lane | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Moreau" | | 2 | "Ptolemy" | | 3 | "Silas" | | 4 | "Eva" | | 5 | "Lucien" | | 6 | "Rory" |
| | places | | | globalScore | 0.909 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 63 | | glossingSentenceCount | 4 | | matches | | 0 | "quite read" | | 1 | "felt like she was falling into somethin" | | 2 | "seemed grimly appropriate given his heritage" | | 3 | "quite a laugh and wasn't quite a sob" | | 4 | "quite a sob" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1762 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 106 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 57 | | mean | 30.91 | | std | 22.04 | | cv | 0.713 | | sampleLengths | | 0 | 27 | | 1 | 56 | | 2 | 34 | | 3 | 28 | | 4 | 5 | | 5 | 2 | | 6 | 10 | | 7 | 27 | | 8 | 64 | | 9 | 14 | | 10 | 49 | | 11 | 60 | | 12 | 4 | | 13 | 44 | | 14 | 64 | | 15 | 14 | | 16 | 13 | | 17 | 36 | | 18 | 2 | | 19 | 3 | | 20 | 13 | | 21 | 24 | | 22 | 66 | | 23 | 19 | | 24 | 56 | | 25 | 28 | | 26 | 43 | | 27 | 5 | | 28 | 20 | | 29 | 36 | | 30 | 90 | | 31 | 19 | | 32 | 2 | | 33 | 11 | | 34 | 77 | | 35 | 40 | | 36 | 45 | | 37 | 6 | | 38 | 44 | | 39 | 10 | | 40 | 40 | | 41 | 54 | | 42 | 28 | | 43 | 21 | | 44 | 56 | | 45 | 57 | | 46 | 9 | | 47 | 43 | | 48 | 7 | | 49 | 49 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 79 | | matches | (empty) | |
| 58.16% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 188 | | matches | | 0 | "was falling" | | 1 | "was pounding" | | 2 | "was memorizing" | | 3 | "was watching" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 16 | | semicolonCount | 1 | | flaggedSentences | 13 | | totalSentences | 106 | | ratio | 0.123 | | matches | | 0 | "His platinum hair caught the dim light from the single bulb overhead, and his mismatched eyes—one amber, one black—fixed on her with an expression she couldn't quite read." | | 1 | "But then she remembered the last time she'd seen him—three months ago, in the rain outside Silas's bar, when he'd told her some things were better left alone and walked away without looking back." | | 2 | "The impeccably tailored charcoal suit, the precise knot of his tie, the careful arrangement of every detail—it was armor, she realized." | | 3 | "Lucien moved past her into the cramped flat, and she caught his scent—sandalwood and something darker underneath, something that reminded her of incense burning in empty churches." | | 4 | "Books and scrolls covered every available surface—the kitchen counter, the armchair, the floor around the sagging couch." | | 5 | "\"Animals usually do.\" Lucien crouched down to scratch behind the tabby's ears, and something about the gesture—the careful gentleness of it—made Aurora's chest ache." | | 6 | "He'd always called her Rory before—when they'd worked together tracking down the stolen grimoire, when they'd spent three nights in a row following leads through London's supernatural underworld, when he'd kissed her in the back of a cab at four in the morning and she'd felt like she was falling into something she couldn't name." | | 7 | "Lucien set the wine bottle on the stack of books nearest him—some treatise on demonic hierarchies, she noticed, which seemed grimly appropriate given his heritage." | | 8 | "Lucien's jaw tightened, and his mismatched eyes—god, those eyes that had haunted her dreams for months—flashed with something that might have been anger or might have been grief." | | 9 | "The curry house below them had started its dinner rush; Aurora could hear the muffled clatter of pans, the rise and fall of voices speaking Bengali." | | 10 | "He didn't touch her—just stood close enough that she could see the faint lines of tension around his mouth, the shadows under his eyes that suggested he hadn't been sleeping any better than she had." | | 11 | "Outside, London carried on with its evening—the curry house below filling with customers, black cabs crawling through traffic, the first stars appearing above the city's orange glow." | | 12 | "And when he smiled against her lips—a real smile, unguarded and bright—she knew she'd made the right choice." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1182 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small crescent-shaped scar" |
| | adverbCount | 44 | | adverbRatio | 0.03722504230118443 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.010998307952622674 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 106 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 106 | | mean | 16.62 | | std | 11.49 | | cv | 0.691 | | sampleLengths | | 0 | 21 | | 1 | 6 | | 2 | 28 | | 3 | 28 | | 4 | 34 | | 5 | 7 | | 6 | 21 | | 7 | 5 | | 8 | 2 | | 9 | 10 | | 10 | 9 | | 11 | 18 | | 12 | 5 | | 13 | 1 | | 14 | 34 | | 15 | 24 | | 16 | 14 | | 17 | 19 | | 18 | 21 | | 19 | 5 | | 20 | 4 | | 21 | 5 | | 22 | 30 | | 23 | 25 | | 24 | 4 | | 25 | 27 | | 26 | 17 | | 27 | 8 | | 28 | 17 | | 29 | 39 | | 30 | 14 | | 31 | 13 | | 32 | 24 | | 33 | 12 | | 34 | 2 | | 35 | 3 | | 36 | 4 | | 37 | 9 | | 38 | 11 | | 39 | 13 | | 40 | 11 | | 41 | 55 | | 42 | 19 | | 43 | 25 | | 44 | 31 | | 45 | 7 | | 46 | 21 | | 47 | 6 | | 48 | 16 | | 49 | 21 |
| |
| 58.49% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.39622641509433965 | | totalSentences | 106 | | uniqueOpeners | 42 | |
| 43.86% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 76 | | matches | | 0 | "Instead, she stepped aside." |
| | ratio | 0.013 | |
| 56.84% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 31 | | totalSentences | 76 | | matches | | 0 | "His platinum hair caught the" | | 1 | "he said, his accent curling" | | 2 | "she repeated flatly" | | 3 | "She remembered the hollow feeling" | | 4 | "she said, though they both" | | 5 | "It had always been armor." | | 6 | "She locked all three deadbolts" | | 7 | "She crossed her arms." | | 8 | "He'd always called her Rory" | | 9 | "She hated how her voice" | | 10 | "He removed his suit jacket" | | 11 | "he said quietly" | | 12 | "His voice was low, controlled," | | 13 | "He stopped, ran a hand" | | 14 | "He took a step toward" | | 15 | "His voice broke, just slightly" | | 16 | "she said quietly" | | 17 | "He didn't touch her—just stood" | | 18 | "His voice was barely above" | | 19 | "He reached out, slowly, and" |
| | ratio | 0.408 | |
| 32.37% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 65 | | totalSentences | 76 | | matches | | 0 | "The three deadbolts clicked in" | | 1 | "The words died in her" | | 2 | "Lucien Moreau stood in the" | | 3 | "His platinum hair caught the" | | 4 | "he said, his accent curling" | | 5 | "Aurora's grip tightened on the" | | 6 | "she repeated flatly" | | 7 | "A ghost of a smile" | | 8 | "She remembered the hollow feeling" | | 9 | "she said, though they both" | | 10 | "Lucien shifted his weight, and" | | 11 | "The impeccably tailored charcoal suit," | | 12 | "It had always been armor." | | 13 | "Aurora should have said no." | | 14 | "Lucien moved past her into" | | 15 | "She locked all three deadbolts" | | 16 | "The flat looked even more" | | 17 | "Books and scrolls covered every" | | 18 | "Eva's research into the Thornwood" | | 19 | "Ptolemy, the traitor, immediately began" |
| | ratio | 0.855 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 76 | | matches | (empty) | | ratio | 0 | |
| 67.67% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 38 | | technicalSentenceCount | 4 | | matches | | 0 | "Lucien moved past her into the cramped flat, and she caught his scent—sandalwood and something darker underneath, something that reminded her of incense burning…" | | 1 | "Ptolemy, the traitor, immediately began rubbing against Lucien's ankles, purring like a small engine." | | 2 | "Lucien's jaw tightened, and his mismatched eyes—god, those eyes that had haunted her dreams for months—flashed with something that might have been anger or migh…" | | 3 | "Aurora looked up at him, at the face that had become so familiar it hurt, at the impossible contradiction of those mismatched eyes." |
| |
| 77.38% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 21 | | uselessAdditionCount | 2 | | matches | | 0 | "Aurora said, unable to keep the edge from her voice" | | 1 | "Lucien said, his voice rough" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 2 | | fancyTags | | 0 | "she repeated flatly (repeat)" | | 1 | "he murmured (murmur)" |
| | dialogueSentences | 48 | | tagDensity | 0.188 | | leniency | 0.375 | | rawRatio | 0.222 | | effectiveRatio | 0.083 | |