| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 10 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 66 | | tagDensity | 0.152 | | leniency | 0.303 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 86.57% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1861 | | totalAiIsmAdverbs | 5 | | found | | 0 | | adverb | "deliberately" | | count | 1 |
| | 1 | | | 2 | |
| | highlights | | 0 | "deliberately" | | 1 | "very" | | 2 | "precisely" |
| |
| 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) | |
| 59.70% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1861 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "weight" | | 1 | "silence" | | 2 | "fractured" | | 3 | "pulse" | | 4 | "navigated" | | 5 | "calculated" | | 6 | "chill" | | 7 | "traced" | | 8 | "sense of" | | 9 | "warmth" | | 10 | "tracing" | | 11 | "tension" |
| |
| 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 | 109 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 109 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 165 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 57 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1873 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 29 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 41 | | wordCount | 1341 | | uniqueNames | 17 | | maxNameDensity | 0.67 | | worstName | "Lucien" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Lucien" | | discoveredNames | | Rory | 6 | | Cardiff | 1 | | University | 1 | | Lucien | 9 | | Moreau | 6 | | Eva | 2 | | Aurora | 1 | | Carter | 1 | | Marseille | 1 | | London | 2 | | Brick | 1 | | Lane | 1 | | Ptolemy | 4 | | Bit | 1 | | Evan | 1 | | Close | 2 | | Swallowed | 1 |
| | persons | | 0 | "Rory" | | 1 | "Lucien" | | 2 | "Moreau" | | 3 | "Eva" | | 4 | "Carter" | | 5 | "Ptolemy" | | 6 | "Evan" |
| | places | | 0 | "Cardiff" | | 1 | "Marseille" | | 2 | "London" | | 3 | "Brick" | | 4 | "Lane" |
| | globalScore | 1 | | windowScore | 0.833 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 69 | | glossingSentenceCount | 5 | | matches | | 0 | "looked like a library had suffered a nerv" | | 1 | "felt like something she'd chosen rather" | | 2 | "looked like a painting hung in the wrong" | | 3 | "smelled like old paper and Ptolemy's tuna" | | 4 | "tasted like cold air and the chai she'd b" |
| |
| 39.83% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 1.602 | | wordCount | 1873 | | matches | | 0 | "not Aurora, not Carter, but" | | 1 | "not Carter, but" | | 2 | "not cracked but dissolved" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 165 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 83 | | mean | 22.57 | | std | 24.96 | | cv | 1.106 | | sampleLengths | | 0 | 59 | | 1 | 64 | | 2 | 1 | | 3 | 5 | | 4 | 20 | | 5 | 38 | | 6 | 19 | | 7 | 3 | | 8 | 23 | | 9 | 4 | | 10 | 1 | | 11 | 56 | | 12 | 68 | | 13 | 48 | | 14 | 29 | | 15 | 4 | | 16 | 2 | | 17 | 53 | | 18 | 6 | | 19 | 8 | | 20 | 5 | | 21 | 28 | | 22 | 51 | | 23 | 7 | | 24 | 7 | | 25 | 20 | | 26 | 34 | | 27 | 10 | | 28 | 31 | | 29 | 3 | | 30 | 4 | | 31 | 7 | | 32 | 87 | | 33 | 17 | | 34 | 2 | | 35 | 7 | | 36 | 5 | | 37 | 47 | | 38 | 63 | | 39 | 14 | | 40 | 7 | | 41 | 2 | | 42 | 20 | | 43 | 30 | | 44 | 7 | | 45 | 16 | | 46 | 3 | | 47 | 13 | | 48 | 82 | | 49 | 3 |
| |
| 95.61% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 109 | | matches | | 0 | "was spoiled" | | 1 | "were locked" | | 2 | "was gone" |
| |
| 75.39% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 214 | | matches | | 0 | "was doing" | | 1 | "was looking" | | 2 | "was stealing" | | 3 | "was reading" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 18 | | semicolonCount | 0 | | flaggedSentences | 14 | | totalSentences | 165 | | ratio | 0.085 | | matches | | 0 | "One amber eye, one black — both fixed on her with the careful neutrality of a man who had rehearsed this moment and was already deviating from the script." | | 1 | "The way he said her name — not Aurora, not Carter, but that single syllable that somehow carried the full weight of Marseille vowels and London rain — cracked something in the careful blankness she'd assembled on her face." | | 2 | "Three deadbolts gleamed on the door behind him — Eva's particular brand of paranoia made manifest in brass." | | 3 | "The deliberateness of it — the laying down of arms — wasn't lost on her." | | 4 | "His composure fractured — just a hairline crack, barely visible unless you knew where to look." | | 5 | "She must have looked ridiculous to him — bare feet, messy hair, standing in a flat that smelled like old paper and Ptolemy's tuna." | | 6 | "Of every combination of syllables she'd braced for — excuse, deflection, another eloquent sidestep — that one hadn't made the list." | | 7 | "\"My father was a demon, Rory. From a realm built on the principle that everything and everyone is a transaction. I inherited his eyes. Among other things.\" His hand opened at his side — a gesture of surrender or display, she couldn't tell." | | 8 | "They were locked in now, held together by the weight of a sentence that contained nothing supernatural, nothing dangerous, nothing more complicated than eggs and toast and the sound of a kettle — a morning she'd imagined in specific, aching detail and then boxed away when he'd buttoned his shirt and called a cab instead." | | 9 | "His composure was gone now, not cracked but dissolved, and what remained underneath was something she'd only seen once — that night when the light had been low and his guard had been lower, when his hands had shaken against her jaw and he'd kissed her like he was stealing something he knew he'd have to give back." | | 10 | "She'd forgotten that about him — the perpetual chill of his skin, the demon half of his blood running cooler than it should." | | 11 | "The kiss was nothing like the first one — no stolen quality, no desperation, no sense of borrowed time." | | 12 | "Hers released his lapel and slid up to his jaw, fingers tracing the sharp line of bone, and she felt the exact moment when the tension left his body — a full-system surrender, every calculated defense powering down at once." | | 13 | "Both eyes — amber and black — were closed." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1328 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 52 | | adverbRatio | 0.0391566265060241 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.006024096385542169 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 165 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 165 | | mean | 11.35 | | std | 10.38 | | cv | 0.915 | | sampleLengths | | 0 | 26 | | 1 | 10 | | 2 | 3 | | 3 | 2 | | 4 | 18 | | 5 | 7 | | 6 | 18 | | 7 | 10 | | 8 | 29 | | 9 | 1 | | 10 | 5 | | 11 | 20 | | 12 | 19 | | 13 | 19 | | 14 | 9 | | 15 | 6 | | 16 | 4 | | 17 | 3 | | 18 | 23 | | 19 | 4 | | 20 | 1 | | 21 | 39 | | 22 | 6 | | 23 | 3 | | 24 | 3 | | 25 | 5 | | 26 | 5 | | 27 | 24 | | 28 | 6 | | 29 | 15 | | 30 | 18 | | 31 | 4 | | 32 | 7 | | 33 | 37 | | 34 | 14 | | 35 | 15 | | 36 | 4 | | 37 | 2 | | 38 | 10 | | 39 | 15 | | 40 | 7 | | 41 | 1 | | 42 | 20 | | 43 | 6 | | 44 | 8 | | 45 | 5 | | 46 | 28 | | 47 | 16 | | 48 | 5 | | 49 | 30 |
| |
| 50.71% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.3515151515151515 | | totalSentences | 165 | | uniqueOpeners | 58 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 95 | | matches | | 0 | "Just stared at Lucien Moreau" | | 1 | "Just a retreat." | | 2 | "Just holding him in place" |
| | ratio | 0.032 | |
| 51.58% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 40 | | totalSentences | 95 | | matches | | 0 | "She didn't speak." | | 1 | "He looked wrong against the" | | 2 | "His ivory-handled cane rested against" | | 3 | "She stepped back from the" | | 4 | "He took it as both." | | 5 | "He was too tall for" | | 6 | "She'd done that exact sequence" | | 7 | "she said, because the silence" | | 8 | "He set his cane against" | | 9 | "His composure fractured — just" | | 10 | "She'd spent too many evenings" | | 11 | "She watched it land." | | 12 | "He turned to the window." | | 13 | "He looked like a painting" | | 14 | "She leaned against the kitchen" | | 15 | "She must have looked ridiculous" | | 16 | "He was looking at her" | | 17 | "He looked at people like" | | 18 | "He turned from the window." | | 19 | "He closed the distance between" |
| | ratio | 0.421 | |
| 70.53% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 74 | | totalSentences | 95 | | matches | | 0 | "The door swung open and" | | 1 | "The crescent scar on her" | | 2 | "She didn't speak." | | 3 | "He looked wrong against the" | | 4 | "Charcoal suit cut so precise" | | 5 | "His ivory-handled cane rested against" | | 6 | "Ptolemy threaded between her ankles" | | 7 | "The tabby sniffed the air" | | 8 | "Lucien's gaze tracked the cat," | | 9 | "A muscle shifted in his" | | 10 | "The way he said her" | | 11 | "She stepped back from the" | | 12 | "He took it as both." | | 13 | "The flat swallowed him whole." | | 14 | "He was too tall for" | | 15 | "Towers of books lined every" | | 16 | "Rory locked all three." | | 17 | "The muscle memory of it" | | 18 | "She'd done that exact sequence" | | 19 | "she said, because the silence" |
| | ratio | 0.779 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 95 | | matches | (empty) | | ratio | 0 | |
| 28.57% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 50 | | technicalSentenceCount | 8 | | matches | | 0 | "One amber eye, one black — both fixed on her with the careful neutrality of a man who had rehearsed this moment and was already deviating from the script." | | 1 | "He was too tall for it, too sharp, too deliberately composed for a space that looked like a library had suffered a nervous breakdown." | | 2 | "She'd done that exact sequence with him on the other side of the door before, months ago, back when his presence in a room still felt like something she'd chose…" | | 3 | "She must have looked ridiculous to him — bare feet, messy hair, standing in a flat that smelled like old paper and Ptolemy's tuna." | | 4 | "Lucien Moreau and his beautiful, terrible face were not going to be the thing that broke her composure tonight." | | 5 | "Lucien Moreau navigated the supernatural underworld of London with the serene confidence of a man who had already calculated every possible outcome and found th…" | | 6 | "Lucien Moreau fixed problems for people who could kill him with a thought, and he did it in a three-thousand-pound suit without breaking a sweat." | | 7 | "They were locked in now, held together by the weight of a sentence that contained nothing supernatural, nothing dangerous, nothing more complicated than eggs an…" |
| |
| 75.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 10 | | uselessAdditionCount | 1 | | matches | | 0 | "she said, because the silence was doing something dangerous" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 66 | | tagDensity | 0.076 | | leniency | 0.152 | | rawRatio | 0.2 | | effectiveRatio | 0.03 | |