| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 24 | | adverbTagCount | 2 | | adverbTags | | 0 | "The lie came easily [easily]" | | 1 | "he said quietly [quietly]" |
| | dialogueSentences | 37 | | tagDensity | 0.649 | | leniency | 1 | | rawRatio | 0.083 | | effectiveRatio | 0.083 | |
| 92.99% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2139 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "slightly" | | 1 | "perfectly" | | 2 | "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) | |
| 53.25% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2139 | | totalAiIsms | 20 | | found | | | highlights | | 0 | "pulse" | | 1 | "silence" | | 2 | "shattered" | | 3 | "tracing" | | 4 | "measured" | | 5 | "chaotic" | | 6 | "flicker" | | 7 | "eyebrow" | | 8 | "calculated" | | 9 | "charm" | | 10 | "tension" | | 11 | "familiar" | | 12 | "perfect" | | 13 | "traced" | | 14 | "stomach" | | 15 | "vibrated" | | 16 | "fractured" |
| |
| 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 | 114 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 114 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 127 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 73 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2132 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 27 | | unquotedAttributions | 1 | | matches | | 0 | "When they finally broke apart, foreheads pressed together, she laughed shakily." |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 43 | | wordCount | 1678 | | uniqueNames | 15 | | maxNameDensity | 0.6 | | worstName | "Aurora" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Aurora" | | discoveredNames | | Aurora | 10 | | Eva | 4 | | Moreau | 1 | | Ptolemy | 4 | | Marseille | 1 | | Evan | 1 | | Lucien | 10 | | Silas | 3 | | Carter | 2 | | London | 2 | | English | 1 | | God | 1 | | Hollow | 1 | | Court | 1 | | Cool-headed | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Eva" | | 2 | "Moreau" | | 3 | "Ptolemy" | | 4 | "Evan" | | 5 | "Lucien" | | 6 | "Silas" | | 7 | "Carter" |
| | places | | 0 | "Marseille" | | 1 | "London" | | 2 | "Hollow" | | 3 | "Court" |
| | globalScore | 1 | | windowScore | 1 | |
| 6.32% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 87 | | glossingSentenceCount | 5 | | matches | | 0 | "seemed smaller with him in it, every surface already drowning under Eva’s obsessions: towers of leather-bound volumes, unfurled scrolls weighted down by coffee mugs, sticky notes fluttering like trapped moths" | | 1 | "sounded like it cost him" | | 2 | "felt like both mercy and torment" | | 3 | "tasted like smoke and sin" | | 4 | "felt like stepping onto solid ground af" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 2132 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 127 | | matches | | 0 | "chose that moment" | | 1 | "marveling that she" |
| |
| 98.78% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 43 | | mean | 49.58 | | std | 24.58 | | cv | 0.496 | | sampleLengths | | 0 | 75 | | 1 | 81 | | 2 | 36 | | 3 | 29 | | 4 | 90 | | 5 | 14 | | 6 | 21 | | 7 | 45 | | 8 | 35 | | 9 | 75 | | 10 | 27 | | 11 | 83 | | 12 | 7 | | 13 | 61 | | 14 | 77 | | 15 | 24 | | 16 | 50 | | 17 | 28 | | 18 | 36 | | 19 | 83 | | 20 | 50 | | 21 | 65 | | 22 | 60 | | 23 | 78 | | 24 | 44 | | 25 | 15 | | 26 | 22 | | 27 | 68 | | 28 | 53 | | 29 | 78 | | 30 | 51 | | 31 | 54 | | 32 | 77 | | 33 | 71 | | 34 | 31 | | 35 | 66 | | 36 | 58 | | 37 | 38 | | 38 | 26 | | 39 | 74 | | 40 | 71 | | 41 | 2 | | 42 | 3 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 114 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 272 | | matches | | 0 | "was, rubbing" | | 1 | "was watching" | | 2 | "was sliding" |
| |
| 75.37% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 0 | | flaggedSentences | 3 | | totalSentences | 127 | | ratio | 0.024 | | matches | | 0 | "Those eyes—God, those eyes—held hers until she felt stripped bare." | | 1 | "They both startled, then laughed—an unsteady, wondering sound that broke some final tension between them." | | 2 | "Lucien made a low sound in his throat—relief, hunger, surrender—and pulled her closer." |
| |
| 88.69% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1693 | | adjectiveStacks | 1 | | stackExamples | | 0 | "single ivory-handled cane" |
| | adverbCount | 78 | | adverbRatio | 0.04607206142941524 | | lyAdverbCount | 17 | | lyAdverbRatio | 0.01004134672179563 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 127 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 127 | | mean | 16.79 | | std | 12.56 | | cv | 0.748 | | sampleLengths | | 0 | 30 | | 1 | 18 | | 2 | 27 | | 3 | 24 | | 4 | 12 | | 5 | 29 | | 6 | 16 | | 7 | 7 | | 8 | 29 | | 9 | 5 | | 10 | 21 | | 11 | 3 | | 12 | 6 | | 13 | 31 | | 14 | 26 | | 15 | 27 | | 16 | 10 | | 17 | 1 | | 18 | 3 | | 19 | 9 | | 20 | 10 | | 21 | 2 | | 22 | 25 | | 23 | 14 | | 24 | 3 | | 25 | 3 | | 26 | 16 | | 27 | 19 | | 28 | 19 | | 29 | 32 | | 30 | 24 | | 31 | 9 | | 32 | 9 | | 33 | 9 | | 34 | 28 | | 35 | 9 | | 36 | 29 | | 37 | 17 | | 38 | 7 | | 39 | 17 | | 40 | 19 | | 41 | 25 | | 42 | 3 | | 43 | 25 | | 44 | 49 | | 45 | 6 | | 46 | 13 | | 47 | 5 | | 48 | 7 | | 49 | 5 |
| |
| 68.24% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.4330708661417323 | | totalSentences | 127 | | uniqueOpeners | 55 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 107 | | matches | | 0 | "Instead the doorway filled with" | | 1 | "Instead she stepped back, because" | | 2 | "Instead he crossed to the" | | 3 | "Instead she held still as" |
| | ratio | 0.037 | |
| 66.73% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 41 | | totalSentences | 107 | | matches | | 0 | "She yanked the door inward," | | 1 | "His voice was low, that" | | 2 | "She laughed once, sharp and" | | 3 | "Her fingers tightened on the" | | 4 | "She’d told Lucien that story" | | 5 | "His mismatched gaze dropped to" | | 6 | "she said, turning away so" | | 7 | "She heard the soft click" | | 8 | "Her heart hammered against her" | | 9 | "She could still feel the" | | 10 | "She hated how easily the" | | 11 | "he asked, voice neutral in" | | 12 | "He leaned the cane against" | | 13 | "He didn’t call her on" | | 14 | "she said to his back" | | 15 | "His shoulders tightened at the" | | 16 | "She remembered the Hollow Court" | | 17 | "She’d seen the demon flicker" | | 18 | "It hadn’t frightened her." | | 19 | "Her voice cracked despite her" |
| | ratio | 0.383 | |
| 62.80% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 85 | | totalSentences | 107 | | matches | | 0 | "The three deadbolts rasped open" | | 1 | "She yanked the door inward," | | 2 | "Lucien Moreau stood on the" | | 3 | "Platinum hair swept back from" | | 4 | "The sight of him punched" | | 5 | "The silence stretched, tight as" | | 6 | "Lucien said at last" | | 7 | "His voice was low, that" | | 8 | "She laughed once, sharp and" | | 9 | "Her fingers tightened on the" | | 10 | "The small white arc still" | | 11 | "She’d told Lucien that story" | | 12 | "His mismatched gaze dropped to" | | 13 | "The cane tapped once against" | | 14 | "Every instinct screamed to slam" | | 15 | "she said, turning away so" | | 16 | "She heard the soft click" | | 17 | "The flat seemed smaller with" | | 18 | "Ptolemy promptly abandoned her to" | | 19 | "Lucien bent slightly, offering the" |
| | ratio | 0.794 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 107 | | matches | (empty) | | ratio | 0 | |
| 11.90% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 60 | | technicalSentenceCount | 11 | | matches | | 0 | "Instead the doorway filled with tailored charcoal wool, ivory-handled cane, and the unmistakable scent of bergamot and smoke that had once clung to her sheets f…" | | 1 | "Lucien Moreau stood on the narrow landing as though he belonged there, though every line of him looked too expensive for the curry-scented stairwell." | | 2 | "One amber eye, one black, fixed on her with the lazy precision of a man who had already catalogued every exit, every weapon, every unsteady beat of her pulse." | | 3 | "In truth she’d come here because the quiet above Silas’s had grown too loud with memories of Lucien’s laugh drifting up from the bar, of nights he’d lingered af…" | | 4 | "She remembered the Hollow Court all too well: the night he’d pulled her out of an ambush behind the restaurant where she made deliveries, his cane flashing into…" | | 5 | "Not the sort of woman who let a half-demon information broker reduce her to shaking hands and aching memories." | | 6 | "The same look he’d given her the night they’d almost crossed every line in her tiny flat above the bar, his hands fisted in her dark hair, her back against the …" | | 7 | "The flat’s single window cast watery afternoon light across his features, highlighting the elegant line of his jaw, the way his platinum hair had begun to fall …" | | 8 | "She surged forward, catching his mouth with hers in a kiss that tasted of too-sweet tea and six months of unsaid words." | | 9 | "Inside, among the scrolls and half-translated prophecies, Aurora Carter kissed the half-demon fixer who had once broken her heart and felt, for the first time i…" | | 10 | "When Eva finally returned an hour later, arms full of new research and Ptolemy winding excited circles around her feet, she found the flat empty of people but f…" |
| |
| 83.33% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 24 | | uselessAdditionCount | 2 | | matches | | 0 | "His mouth curved, rueful" | | 1 | "he said, voice rough" |
| |
| 68.92% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 12 | | fancyCount | 3 | | fancyTags | | 0 | "he confirmed (confirm)" | | 1 | "he admitted (admit)" | | 2 | "she whispered (whisper)" |
| | dialogueSentences | 37 | | tagDensity | 0.324 | | leniency | 0.649 | | rawRatio | 0.25 | | effectiveRatio | 0.162 | |