| 53.66% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 18 | | adverbTagCount | 3 | | adverbTags | | 0 | "He glanced around [around]" | | 1 | "she said quietly [quietly]" | | 2 | "Rory managed somewhere [somewhere]" |
| | dialogueSentences | 41 | | tagDensity | 0.439 | | leniency | 0.878 | | rawRatio | 0.167 | | effectiveRatio | 0.146 | |
| 68.48% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2221 | | totalAiIsmAdverbs | 14 | | found | | | highlights | | 0 | "lightly" | | 1 | "suddenly" | | 2 | "very" | | 3 | "slowly" | | 4 | "carefully" | | 5 | "tightly" | | 6 | "gently" | | 7 | "completely" | | 8 | "happily" |
| |
| 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.48% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2221 | | totalAiIsms | 18 | | found | | | highlights | | 0 | "silk" | | 1 | "measured" | | 2 | "velvet" | | 3 | "flicked" | | 4 | "complex" | | 5 | "flicker" | | 6 | "pulse" | | 7 | "eyebrow" | | 8 | "could feel" | | 9 | "silence" | | 10 | "stark" | | 11 | "weight" | | 12 | "stomach" |
| |
| 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 | 113 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 113 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 135 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 81 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2205 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 17 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 51 | | wordCount | 1684 | | uniqueNames | 20 | | maxNameDensity | 0.53 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 9 | | Moreau | 3 | | East | 2 | | London | 5 | | Ptolemy | 4 | | Lucien | 7 | | Frenchman | 1 | | Eva | 2 | | Cardiff | 1 | | University | 1 | | Accented | 1 | | Marseille | 1 | | Steam | 1 | | Brick | 3 | | Lane | 3 | | French | 1 | | Thames | 1 | | Aurora | 1 | | Carter | 1 | | Click | 3 |
| | persons | | 0 | "Rory" | | 1 | "Moreau" | | 2 | "Ptolemy" | | 3 | "Lucien" | | 4 | "Frenchman" | | 5 | "Eva" | | 6 | "Steam" | | 7 | "Aurora" | | 8 | "Carter" |
| | places | | 0 | "East" | | 1 | "London" | | 2 | "Cardiff" | | 3 | "Marseille" | | 4 | "Brick" | | 5 | "Lane" | | 6 | "Thames" |
| | globalScore | 1 | | windowScore | 1 | |
| 62.79% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 86 | | glossingSentenceCount | 3 | | matches | | 0 | "not quite a smile" | | 1 | "as if laying down a loaded weapon, and peeled off grey kid-leather gloves finger by finger" | | 2 | "as if committing every detail to the particular vault he kept for things both precious and lethal" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.454 | | wordCount | 2205 | | matches | | 0 | "neither full demon nor" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 135 | | matches | | 0 | "chose that moment" | | 1 | "pretending that London’s" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 46 | | mean | 47.93 | | std | 28.84 | | cv | 0.602 | | sampleLengths | | 0 | 58 | | 1 | 5 | | 2 | 78 | | 3 | 33 | | 4 | 17 | | 5 | 12 | | 6 | 69 | | 7 | 42 | | 8 | 5 | | 9 | 5 | | 10 | 54 | | 11 | 50 | | 12 | 68 | | 13 | 21 | | 14 | 86 | | 15 | 90 | | 16 | 33 | | 17 | 37 | | 18 | 46 | | 19 | 51 | | 20 | 91 | | 21 | 44 | | 22 | 40 | | 23 | 62 | | 24 | 75 | | 25 | 12 | | 26 | 79 | | 27 | 39 | | 28 | 42 | | 29 | 41 | | 30 | 3 | | 31 | 66 | | 32 | 3 | | 33 | 21 | | 34 | 126 | | 35 | 57 | | 36 | 19 | | 37 | 32 | | 38 | 59 | | 39 | 47 | | 40 | 59 | | 41 | 76 | | 42 | 83 | | 43 | 10 | | 44 | 61 | | 45 | 98 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 113 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 244 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 16 | | semicolonCount | 3 | | flaggedSentences | 13 | | totalSentences | 135 | | ratio | 0.096 | | matches | | 0 | "A faint crease appeared at the corner of his mouth—not quite a smile." | | 1 | "When he stood close enough that the heat of him reached through the thin cotton of her hoodie, he lifted one gloved hand—no, bare now—and brushed a damp strand of black hair from her cheek with the back of one knuckle." | | 2 | "She could feel the answering pull in her own body—three months of silence, of deliveries and false names and pretending that London’s supernatural underworld had no claim on her heart." | | 3 | "His breath caught—just once—and that small betrayal of control undid something tightly wound inside her chest." | | 4 | "Not hungry first—though hunger waited just behind the gentleness—but assessing, tasting the three months of silence and the salt of unfinished arguments and the faint citrus of her shampoo." | | 5 | "One of her hands found the ivory handle of the cane still propped against the wall and steadied herself; he laughed against her mouth—low, startled, almost young—and she felt the vibration of it travel through both of them." | | 6 | "She took his hand—scarred left wrist against elegant long fingers—and led him past the stacks of lore and half-finished translations toward the tiny bedroom." | | 7 | "The single window there let in the orange glow of the streetlights; rain silvered the glass." | | 8 | "Then he was on her—mouth, hands, the solid weight of him pinning her gently to the door while his knee pressed between hers." | | 9 | "Her hoodie rode up under questing fingers; she felt the cool air of the flat and then the warmer drag of his palm across the soft skin of her stomach." | | 10 | "When he stripped the hoodie over her head and tossed it aside, he paused to look at her with open hunger—black leggings, a plain black bralette, the crescent scar pale against her wrist like a secret brand." | | 11 | "Outside, London carried on being London—motorbikes, distant sirens, the perpetual smell of cumin and wet brick." | | 12 | "And for the first time since the warehouse off the Thames, Aurora Carter and Lucien Moreau let the silence between them fill with everything left unsaid—then drowned it happily in breath and skin and the low, rough sound of one another finally choosing to stay." |
| |
| 84.62% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1710 | | adjectiveStacks | 2 | | stackExamples | | 0 | "same haughty yellow stare" | | 1 | "against elegant long fingers—" |
| | adverbCount | 75 | | adverbRatio | 0.043859649122807015 | | lyAdverbCount | 26 | | lyAdverbRatio | 0.0152046783625731 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 135 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 135 | | mean | 16.33 | | std | 12.68 | | cv | 0.776 | | sampleLengths | | 0 | 18 | | 1 | 40 | | 2 | 5 | | 3 | 18 | | 4 | 26 | | 5 | 23 | | 6 | 11 | | 7 | 8 | | 8 | 25 | | 9 | 5 | | 10 | 8 | | 11 | 4 | | 12 | 8 | | 13 | 4 | | 14 | 12 | | 15 | 22 | | 16 | 3 | | 17 | 1 | | 18 | 1 | | 19 | 1 | | 20 | 29 | | 21 | 28 | | 22 | 14 | | 23 | 3 | | 24 | 1 | | 25 | 1 | | 26 | 5 | | 27 | 13 | | 28 | 26 | | 29 | 15 | | 30 | 16 | | 31 | 23 | | 32 | 11 | | 33 | 53 | | 34 | 15 | | 35 | 12 | | 36 | 4 | | 37 | 5 | | 38 | 16 | | 39 | 25 | | 40 | 45 | | 41 | 9 | | 42 | 53 | | 43 | 3 | | 44 | 9 | | 45 | 16 | | 46 | 11 | | 47 | 22 | | 48 | 19 | | 49 | 18 |
| |
| 62.72% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.4074074074074074 | | totalSentences | 135 | | uniqueOpeners | 55 | |
| 67.34% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 99 | | matches | | 0 | "Instead he lowered his head" | | 1 | "Then he was on her—mouth," |
| | ratio | 0.02 | |
| 82.63% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 34 | | totalSentences | 99 | | matches | | 0 | "She pulled the door open." | | 1 | "Her voice came out steadier" | | 2 | "He did not move to" | | 3 | "She stepped back on instinct," | | 4 | "He set the cane against" | | 5 | "She turned away, putting the" | | 6 | "He glanced around the flat," | | 7 | "She flicked the switch on" | | 8 | "He moved closer, the polished" | | 9 | "He stopped, jaw flexing once" | | 10 | "His heterochromatic gaze tracked every" | | 11 | "He rounded the counter slowly," | | 12 | "She did not." | | 13 | "She caught his wrist." | | 14 | "His free hand came up" | | 15 | "She could see the way" | | 16 | "She could feel the answering" | | 17 | "she said quietly" | | 18 | "His thumb brushed the scar" | | 19 | "His voice dropped into something" |
| | ratio | 0.343 | |
| 66.06% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 78 | | totalSentences | 99 | | matches | | 0 | "The third deadbolt snicked back" | | 1 | "She pulled the door open." | | 2 | "Lucien Moreau stood on the" | | 3 | "Charcoal suit impeccable despite the" | | 4 | "Rain beaded on his shoulders" | | 5 | "The tabby, Ptolemy, chose that" | | 6 | "Her voice came out steadier" | | 7 | "He did not move to" | | 8 | "The words landed the way" | | 9 | "She stepped back on instinct," | | 10 | "The small room seemed to" | | 11 | "Rory crossed her arms under" | | 12 | "A faint crease appeared at" | | 13 | "He set the cane against" | | 14 | "The sound of her full" | | 15 | "She turned away, putting the" | | 16 | "He glanced around the flat," | | 17 | "She flicked the switch on" | | 18 | "Steam began to hiss." | | 19 | "He moved closer, the polished" |
| | ratio | 0.788 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 99 | | matches | (empty) | | ratio | 0 | |
| 95.24% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 60 | | technicalSentenceCount | 4 | | matches | | 0 | "On the other side of the door the curry-house smell of turmeric and fried onions rose through the floorboards, and above it the faint, predatory stillness of so…" | | 1 | "He set the cane against the wall with deliberate care, as if laying down a loaded weapon, and peeled off grey kid-leather gloves finger by finger." | | 2 | "He braced one hand beside her head and looked down at her as if committing every detail to the particular vault he kept for things both precious and lethal." | | 3 | "Inside the tiny flat above Brick Lane, two people who had once walked away unfinished learned, slowly and thoroughly, how to begin again." |
| |
| 41.67% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 18 | | uselessAdditionCount | 3 | | matches | | 0 | "He stopped, jaw flexing once" | | 1 | "free hand came up, fingers spreading against the soft curve there" | | 2 | "he said, simply" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 2 | | fancyTags | | 0 | "he murmured (murmur)" | | 1 | "she interrupted (interrupt)" |
| | dialogueSentences | 41 | | tagDensity | 0.171 | | leniency | 0.341 | | rawRatio | 0.286 | | effectiveRatio | 0.098 | |