| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 2 | | adverbTags | | 0 | "Lucien corrected gently [gently]" | | 1 | "she asked quietly [quietly]" |
| | dialogueSentences | 60 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0.1 | | effectiveRatio | 0.067 | |
| 83.09% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1774 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "slightly" | | 1 | "gently" | | 2 | "tightly" | | 3 | "quickly" | | 4 | "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) | |
| 66.18% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1774 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "familiar" | | 1 | "marble" | | 2 | "measured" | | 3 | "unraveling" | | 4 | "navigate" | | 5 | "shattered" | | 6 | "could feel" | | 7 | "warmth" | | 8 | "silence" |
| |
| 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 | 135 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 3 | | narrationSentences | 135 | | filterMatches | | | hedgeMatches | | |
| 99.48% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 174 | | gibberishSentences | 1 | | adjustedGibberishSentences | 1 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 45 | | ratio | 0.006 | | matches | | 0 | "The half-demon who traded in secrets and leverage, who measured every interaction in筹码, looking at her like she was the only stake that mattered." |
| |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1760 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 19 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 40 | | wordCount | 1371 | | uniqueNames | 16 | | maxNameDensity | 0.73 | | worstName | "Lucien" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Aurora | 1 | | Ptolemy | 3 | | Edinburgh | 1 | | Moreau | 3 | | Controlled | 1 | | Like | 1 | | French | 1 | | English | 1 | | Swallowed | 1 | | Rory | 8 | | Breathed | 2 | | Lucien | 10 | | London | 1 | | Whitechaple | 1 | | Eva | 2 | | Three | 3 |
| | persons | | 0 | "Aurora" | | 1 | "Ptolemy" | | 2 | "Moreau" | | 3 | "Controlled" | | 4 | "Rory" | | 5 | "Lucien" | | 6 | "Eva" |
| | places | | 0 | "Edinburgh" | | 1 | "London" | | 2 | "Whitechaple" |
| | globalScore | 1 | | windowScore | 1 | |
| 52.60% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 77 | | glossingSentenceCount | 3 | | matches | | 0 | "not quite softening, but loosening" | | 1 | "smelled like rain and old blood, and she'd" | | 2 | "not quite but the space where his smile should be" |
| |
| 29.55% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 1.705 | | wordCount | 1760 | | matches | | 0 | "not quite softening, but loosening" | | 1 | "not his smile, not quite, but the space" | | 2 | "not quite, but the space" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 174 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 78 | | mean | 22.56 | | std | 24.07 | | cv | 1.067 | | sampleLengths | | 0 | 27 | | 1 | 85 | | 2 | 3 | | 3 | 47 | | 4 | 4 | | 5 | 91 | | 6 | 8 | | 7 | 20 | | 8 | 41 | | 9 | 11 | | 10 | 75 | | 11 | 2 | | 12 | 2 | | 13 | 51 | | 14 | 5 | | 15 | 6 | | 16 | 5 | | 17 | 2 | | 18 | 8 | | 19 | 42 | | 20 | 9 | | 21 | 100 | | 22 | 16 | | 23 | 16 | | 24 | 35 | | 25 | 9 | | 26 | 17 | | 27 | 5 | | 28 | 36 | | 29 | 2 | | 30 | 50 | | 31 | 4 | | 32 | 42 | | 33 | 6 | | 34 | 3 | | 35 | 39 | | 36 | 2 | | 37 | 42 | | 38 | 5 | | 39 | 87 | | 40 | 3 | | 41 | 74 | | 42 | 6 | | 43 | 22 | | 44 | 2 | | 45 | 8 | | 46 | 46 | | 47 | 1 | | 48 | 7 | | 49 | 5 |
| |
| 97.47% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 135 | | matches | | 0 | "was used" | | 1 | "were piled" | | 2 | "been assigned" |
| |
| 17.71% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 7 | | totalVerbs | 256 | | matches | | 0 | "was holding" | | 1 | "was searching" | | 2 | "was chasing" | | 3 | "weren't circling" | | 4 | "was shaking" | | 5 | "was heating" | | 6 | "were still shaking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 1 | | flaggedSentences | 12 | | totalSentences | 174 | | ratio | 0.069 | | matches | | 0 | "Silas never knocked—he had a key and the social graces of a brick wall." | | 1 | "Her hand found the deadbolt—the topmost of the three, the one that always stuck—and wrestled it open." | | 2 | "And his eyes—those mismatched eyes, one amber and one black as a shard of night—found hers with the same steadiness she remembered from a dozen meetings in a dozen shadowed rooms." | | 3 | "Lucien glanced down, and something shifted in his expression—not quite softening, but loosening." | | 4 | "That was the first thing she noticed as he ducked through the low doorway—he was used to spaces that accommodated his presence, rooms designed for power and negotiation." | | 5 | "She could smell him—something dark and clean, like rain on stone." | | 6 | "She'd been investigating something—something that had to do with Eva's research, with the things that lived in the margins of the world, with the doors that opened when you looked too long into the dark." | | 7 | "Three weeks of pretending they weren't circling each other, and then one night when the pretense had shattered, when he'd backed her against a wall in an alley that smelled like rain and old blood, and she'd thought—" | | 8 | "The kitchenette was tiny; there was barely a foot between them." | | 9 | "\"—with flowers and apologies and all this, like you can just—\"" | | 10 | "Something cracked in his composure—not his smile, not quite, but the space where his smile should be." | | 11 | "Then, slowly, he smiled—real this time, unguarded, the kind she remembered from that night in the alley when everything had shifted and neither of them had known how to handle it." |
| |
| 97.36% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1139 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 49 | | adverbRatio | 0.04302019315188762 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.010535557506584723 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 174 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 174 | | mean | 10.11 | | std | 9.52 | | cv | 0.941 | | sampleLengths | | 0 | 8 | | 1 | 11 | | 2 | 8 | | 3 | 27 | | 4 | 17 | | 5 | 11 | | 6 | 8 | | 7 | 14 | | 8 | 8 | | 9 | 2 | | 10 | 1 | | 11 | 24 | | 12 | 17 | | 13 | 3 | | 14 | 3 | | 15 | 4 | | 16 | 17 | | 17 | 15 | | 18 | 15 | | 19 | 13 | | 20 | 31 | | 21 | 8 | | 22 | 6 | | 23 | 1 | | 24 | 13 | | 25 | 8 | | 26 | 3 | | 27 | 30 | | 28 | 6 | | 29 | 5 | | 30 | 19 | | 31 | 45 | | 32 | 5 | | 33 | 6 | | 34 | 2 | | 35 | 2 | | 36 | 4 | | 37 | 1 | | 38 | 28 | | 39 | 13 | | 40 | 5 | | 41 | 5 | | 42 | 6 | | 43 | 5 | | 44 | 2 | | 45 | 5 | | 46 | 3 | | 47 | 6 | | 48 | 36 | | 49 | 6 |
| |
| 46.93% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 20 | | diversityRatio | 0.3505747126436782 | | totalSentences | 174 | | uniqueOpeners | 61 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 112 | | matches | | 0 | "Then the second." | | 1 | "Then the third." | | 2 | "Instead, she found herself stepping" | | 3 | "Then, slowly, he smiled—real this" | | 4 | "More like something with the" |
| | ratio | 0.045 | |
| 59.29% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 45 | | totalSentences | 112 | | matches | | 0 | "She froze with Ptolemy halfway" | | 1 | "Her hands were still wet" | | 2 | "She wiped them on her" | | 3 | "Her hand found the deadbolt—the" | | 4 | "She opened the door." | | 5 | "His charcoal coat was slightly" | | 6 | "His platinum hair, slicked back" | | 7 | "He was holding a bouquet" | | 8 | "His name came out flat" | | 9 | "He said her name like" | | 10 | "She didn't move from the" | | 11 | "He tilted his head slightly," | | 12 | "She stopped herself" | | 13 | "She wanted to slam it," | | 14 | "His gaze moved over the" | | 15 | "she heard herself say" | | 16 | "She moved to the kitchenette," | | 17 | "Her hands found the kettle" | | 18 | "She didn't turn around" | | 19 | "She heard him settle into" |
| | ratio | 0.402 | |
| 49.29% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 92 | | totalSentences | 112 | | matches | | 0 | "The first thing Aurora noticed" | | 1 | "The kind that expected to" | | 2 | "She froze with Ptolemy halfway" | | 3 | "Her hands were still wet" | | 4 | "She wiped them on her" | | 5 | "Eva was still in Edinburgh" | | 6 | "Silas never knocked—he had a" | | 7 | "The delivery drivers from downstairs" | | 8 | "Rory crossed the flat in" | | 9 | "Her hand found the deadbolt—the" | | 10 | "She opened the door." | | 11 | "Lucien Moreau stood in the" | | 12 | "His charcoal coat was slightly" | | 13 | "His platinum hair, slicked back" | | 14 | "He was holding a bouquet" | | 15 | "His name came out flat" | | 16 | "The way she always tried" | | 17 | "He said her name like" | | 18 | "The sound of it in" | | 19 | "She didn't move from the" |
| | ratio | 0.821 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 112 | | matches | | 0 | "Even in a place that" | | 1 | "To steer her away." | | 2 | "To keep her safe without" |
| | ratio | 0.027 | |
| 14.29% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 50 | | technicalSentenceCount | 9 | | matches | | 0 | "She froze with Ptolemy halfway across the kitchen counter, the cat's amber eyes fixed on the door with the wariness of something that sensed things humans could…" | | 1 | "The sound of it in his accent, the soft French vowels and the English consonants that clipped at the edges, did something to her chest that she refused to ackno…" | | 2 | "Behind her, Ptolemy made a sound of protest and leaped from the counter to the floor, padding toward the door with the nosy curiosity that was his downfall." | | 3 | "She wanted to slam it, deadbolt it, and pretend she'd never seen him standing there with those flowers and those eyes and that infuriating, measured calm that m…" | | 4 | "This was a space for hiding, for research, for the kind of quiet desperation that came from digging too deep into things better left alone." | | 5 | "The single armchair had a visible indent from the hours she spent in it, reading, cross-referencing, chasing a thread that kept unraveling no matter how tightly…" | | 6 | "She'd been investigating something—something that had to do with Eva's research, with the things that lived in the margins of the world, with the doors that ope…" | | 7 | "Three weeks of pretending they weren't circling each other, and then one night when the pretense had shattered, when he'd backed her against a wall in an alley …" | | 8 | "The half-demon who traded in secrets and leverage, who measured every interaction in筹码, looking at her like she was the only stake that mattered." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 1 | | fancyTags | | 0 | "Lucien corrected gently (correct)" |
| | dialogueSentences | 60 | | tagDensity | 0.133 | | leniency | 0.267 | | rawRatio | 0.125 | | effectiveRatio | 0.033 | |