| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 3 | | adverbTags | | 0 | "he said carefully [carefully]" | | 1 | "she repeated flatly [flatly]" | | 2 | "she said quietly [quietly]" |
| | dialogueSentences | 62 | | tagDensity | 0.323 | | leniency | 0.645 | | rawRatio | 0.15 | | effectiveRatio | 0.097 | |
| 87.35% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1977 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "slightly" | | 1 | "carefully" | | 2 | "really" | | 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) | |
| 69.65% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1977 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "unreadable" | | 1 | "affection" | | 2 | "silence" | | 3 | "whisper" | | 4 | "calculated" | | 5 | "pulse" | | 6 | "traced" | | 7 | "warmth" | | 8 | "calculating" | | 9 | "echoing" |
| |
| 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 | 118 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 118 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 160 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 61 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 2 | | totalWords | 1998 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 25 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 35 | | wordCount | 1464 | | uniqueNames | 14 | | maxNameDensity | 0.68 | | worstName | "Lucien" | | maxWindowNameDensity | 2 | | worstWindowName | "Lucien" | | discoveredNames | | Thai | 1 | | Eva | 3 | | Lucien | 10 | | Moreau | 2 | | Marseille | 1 | | London | 1 | | Sumerian | 1 | | Whitechapel | 1 | | European | 1 | | Brick | 2 | | Lane | 2 | | Ptolemy | 5 | | Highgate | 1 | | Rory | 4 |
| | persons | | 0 | "Eva" | | 1 | "Lucien" | | 2 | "Moreau" | | 3 | "Ptolemy" | | 4 | "Rory" |
| | places | | 0 | "Marseille" | | 1 | "London" | | 2 | "Whitechapel" | | 3 | "Brick" | | 4 | "Lane" |
| | globalScore | 1 | | windowScore | 1 | |
| 39.71% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 68 | | glossingSentenceCount | 3 | | matches | | 0 | "cats and women apparently shared where this p" | | 1 | "something close to a genuine smile crossed his f" | | 2 | "looked like a man standing at the edge of" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1998 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 160 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 80 | | mean | 24.98 | | std | 24.41 | | cv | 0.977 | | sampleLengths | | 0 | 72 | | 1 | 25 | | 2 | 9 | | 3 | 46 | | 4 | 4 | | 5 | 35 | | 6 | 7 | | 7 | 8 | | 8 | 40 | | 9 | 23 | | 10 | 65 | | 11 | 46 | | 12 | 72 | | 13 | 43 | | 14 | 5 | | 15 | 9 | | 16 | 63 | | 17 | 1 | | 18 | 2 | | 19 | 45 | | 20 | 27 | | 21 | 5 | | 22 | 1 | | 23 | 83 | | 24 | 6 | | 25 | 14 | | 26 | 20 | | 27 | 2 | | 28 | 3 | | 29 | 3 | | 30 | 86 | | 31 | 11 | | 32 | 7 | | 33 | 5 | | 34 | 12 | | 35 | 54 | | 36 | 62 | | 37 | 13 | | 38 | 7 | | 39 | 43 | | 40 | 5 | | 41 | 12 | | 42 | 74 | | 43 | 68 | | 44 | 23 | | 45 | 2 | | 46 | 9 | | 47 | 39 | | 48 | 31 | | 49 | 3 |
| |
| 99.32% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 118 | | matches | | 0 | "was concerned" | | 1 | "was gone" |
| |
| 98.61% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 263 | | matches | | 0 | "was being" | | 1 | "was trying" | | 2 | "was favoring" | | 3 | "wasn't reaching" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 16 | | semicolonCount | 0 | | flaggedSentences | 14 | | totalSentences | 160 | | ratio | 0.088 | | matches | | 0 | "Not aggressively — he simply placed the ivory handle against the wood the way someone might rest a hand on a friend's shoulder, easy and unhurried, and the door stopped as though it had decided on its own not to shut." | | 1 | "She hated that about him — the way he could hold ground without seeming to exert any effort, as though the laws of physics were guidelines he followed only when it suited him." | | 2 | "Not an invitation — a retreat." | | 3 | "Books everywhere — stacked on the kitchen counter, fanned across the sofa, teetering in columns along the baseboard." | | 4 | "She watched him catalogue it — exits, sight lines, the window that opened onto the fire escape." | | 5 | "She tensed — hated herself for tensing — but he only produced a folded piece of paper, rain-spotted along one edge." | | 6 | "An address in Whitechapel, a time — tomorrow, 2 a.m." | | 7 | "— and a name she didn't recognize, written in Lucien's precise European hand." | | 8 | "Instead, he moved to the window — three steps in a flat this size — and looked down at Brick Lane through the rain-beaded glass." | | 9 | "He turned then, and the full force of those eyes hit her — amber warm as whiskey, black deep as a well." | | 10 | "Lucien occupied space with an intentionality that bordered on architectural — he was always exactly as near as he meant to be, and right now he was near enough that she could smell rainwater and sandalwood and the faint metallic undertone that was purely him, something elemental, something that came from whatever his father had left in his blood." | | 11 | "She saw the instant he heard himself — the micro-flinch, the controlled stillness that followed." | | 12 | "He looked at her the way he'd looked at her on the roof that night — the night before Highgate, when the city had glittered below them and he'd traced the scar on her wrist with his thumb without asking where it came from, and she'd let him because his hands were warm and she was so goddamn tired of being careful." | | 13 | "Almost was the territory they lived in, the two of them — a country of near misses and swallowed words and doors held open just long enough to feel the warmth from the other side." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 914 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 36 | | adverbRatio | 0.03938730853391685 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.006564551422319475 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 160 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 160 | | mean | 12.49 | | std | 12.05 | | cv | 0.965 | | sampleLengths | | 0 | 14 | | 1 | 3 | | 2 | 3 | | 3 | 52 | | 4 | 8 | | 5 | 17 | | 6 | 9 | | 7 | 5 | | 8 | 41 | | 9 | 4 | | 10 | 35 | | 11 | 7 | | 12 | 8 | | 13 | 3 | | 14 | 4 | | 15 | 33 | | 16 | 6 | | 17 | 16 | | 18 | 1 | | 19 | 5 | | 20 | 30 | | 21 | 30 | | 22 | 6 | | 23 | 6 | | 24 | 19 | | 25 | 2 | | 26 | 2 | | 27 | 11 | | 28 | 8 | | 29 | 18 | | 30 | 12 | | 31 | 34 | | 32 | 9 | | 33 | 17 | | 34 | 2 | | 35 | 15 | | 36 | 5 | | 37 | 9 | | 38 | 15 | | 39 | 21 | | 40 | 27 | | 41 | 1 | | 42 | 2 | | 43 | 19 | | 44 | 3 | | 45 | 10 | | 46 | 13 | | 47 | 7 | | 48 | 20 | | 49 | 5 |
| |
| 49.38% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 16 | | diversityRatio | 0.35625 | | totalSentences | 160 | | uniqueOpeners | 57 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 7 | | totalSentences | 101 | | matches | | 0 | "Then the second." | | 1 | "Then the third." | | 2 | "Somewhere below, the curry house" | | 3 | "Then his gaze returned to" | | 4 | "Instead, he moved to the" | | 5 | "Almost was the territory they" | | 6 | "Then she stepped back and" |
| | ratio | 0.069 | |
| 25.94% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 49 | | totalSentences | 101 | | matches | | 0 | "His cane caught the frame." | | 1 | "She pushed harder." | | 2 | "She hated that about him" | | 3 | "His voice was quieter now" | | 4 | "She could see it in" | | 5 | "She'd spent enough hours across" | | 6 | "She stepped back from the" | | 7 | "He understood the difference, but" | | 8 | "She watched him catalogue it" | | 9 | "He leaned the cane against" | | 10 | "She tensed — hated herself" | | 11 | "He held it out between" | | 12 | "She crossed the small kitchen" | | 13 | "She unfolded it." | | 14 | "He didn't answer immediately." | | 15 | "She noticed he was favoring" | | 16 | "It was the kind of" | | 17 | "She hated that too." | | 18 | "he said, still facing the" | | 19 | "She folded her arms." |
| | ratio | 0.485 | |
| 49.11% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 83 | | totalSentences | 101 | | matches | | 0 | "The first deadbolt turned with" | | 1 | "Rory pulled the door open" | | 2 | "Neither of them spoke for" | | 3 | "Rory said, and moved to" | | 4 | "His cane caught the frame." | | 5 | "She pushed harder." | | 6 | "The cane didn't budge." | | 7 | "She hated that about him" | | 8 | "His voice was quieter now" | | 9 | "The accent thickened when he" | | 10 | "That word cost him something." | | 11 | "She could see it in" | | 12 | "She'd spent enough hours across" | | 13 | "She stepped back from the" | | 14 | "He understood the difference, but" | | 15 | "Eva's flat closed around them" | | 16 | "Books everywhere — stacked on" | | 17 | "Ptolemy, the tabby, watched from" | | 18 | "Lucien took in the flat" | | 19 | "She watched him catalogue it" |
| | ratio | 0.822 | |
| 49.50% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 101 | | matches | | | ratio | 0.01 | |
| 26.24% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 49 | | technicalSentenceCount | 8 | | matches | | 0 | "Not aggressively — he simply placed the ivory handle against the wood the way someone might rest a hand on a friend's shoulder, easy and unhurried, and the door…" | | 1 | "Ptolemy, the tabby, watched from his throne atop a pile of Sumerian lexicons, his green eyes tracking Lucien with the frank suspicion that cats and women appare…" | | 2 | "She watched him catalogue it — exits, sight lines, the window that opened onto the fire escape." | | 3 | "Then his gaze returned to her, and something shifted behind it, something that wasn't tactical." | | 4 | "Ptolemy chose this moment to leap from his lexicon tower with a heavy, graceless thud, winding between Lucien's ankles with the treasonous affection of a cat wh…" | | 5 | "Lucien occupied space with an intentionality that bordered on architectural — he was always exactly as near as he meant to be, and right now he was near enough …" | | 6 | "She saw the instant he heard himself — the micro-flinch, the controlled stillness that followed." | | 7 | "She watched him descend the stairs, the tap of his cane echoing against the narrow walls, his platinum hair catching the last of the corridor light before the s…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 1 | | matches | | 0 | "The words escaped, a glass slipping from careful fingers" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 15 | | fancyCount | 2 | | fancyTags | | 0 | "She'd (would)" | | 1 | "she repeated flatly (repeat)" |
| | dialogueSentences | 62 | | tagDensity | 0.242 | | leniency | 0.484 | | rawRatio | 0.133 | | effectiveRatio | 0.065 | |