| 75.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 18 | | adverbTagCount | 3 | | adverbTags | | 0 | "Rory said flatly [flatly]" | | 1 | "Lucien said quietly [quietly]" | | 2 | "He gestured around [around]" |
| | dialogueSentences | 48 | | tagDensity | 0.375 | | leniency | 0.75 | | rawRatio | 0.167 | | effectiveRatio | 0.125 | |
| 92.34% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1957 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "carefully" | | 1 | "slightly" | | 2 | "cautiously" |
| |
| 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) | |
| 64.23% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1957 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "tension" | | 1 | "determined" | | 2 | "silence" | | 3 | "pulse" | | 4 | "grave" | | 5 | "comfortable" | | 6 | "weight" | | 7 | "could feel" | | 8 | "warmth" | | 9 | "electric" |
| |
| 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 | 101 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 101 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 130 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 80 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1983 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 23 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 40 | | wordCount | 1493 | | uniqueNames | 16 | | maxNameDensity | 0.67 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Eva" | | discoveredNames | | Eva | 5 | | Ptolemy | 6 | | Moreau | 1 | | Sumerian | 1 | | Rory | 10 | | Hackney | 1 | | Harker | 1 | | Lucien | 6 | | Mesopotamian | 1 | | Set | 1 | | Evan | 2 | | London | 1 | | Formica | 1 | | Brick | 1 | | Lane | 1 | | Friday-night | 1 |
| | persons | | 0 | "Eva" | | 1 | "Ptolemy" | | 2 | "Moreau" | | 3 | "Rory" | | 4 | "Lucien" | | 5 | "Set" | | 6 | "Evan" |
| | places | | 0 | "Hackney" | | 1 | "London" | | 2 | "Brick" | | 3 | "Lane" |
| | globalScore | 1 | | windowScore | 1 | |
| 36.36% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 66 | | glossingSentenceCount | 3 | | matches | | 0 | "looked like a man who had not been sleepi" | | 1 | "felt like armor" | | 2 | "not quite a laugh, something closer to a crack" |
| |
| 99.14% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.009 | | wordCount | 1983 | | matches | | 0 | "not choking, not yet, but present" | | 1 | "not yet, but present" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 130 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 63 | | mean | 31.48 | | std | 29.12 | | cv | 0.925 | | sampleLengths | | 0 | 63 | | 1 | 4 | | 2 | 22 | | 3 | 92 | | 4 | 9 | | 5 | 43 | | 6 | 3 | | 7 | 7 | | 8 | 70 | | 9 | 71 | | 10 | 9 | | 11 | 86 | | 12 | 9 | | 13 | 19 | | 14 | 43 | | 15 | 4 | | 16 | 9 | | 17 | 10 | | 18 | 3 | | 19 | 80 | | 20 | 30 | | 21 | 3 | | 22 | 2 | | 23 | 40 | | 24 | 64 | | 25 | 7 | | 26 | 27 | | 27 | 4 | | 28 | 26 | | 29 | 59 | | 30 | 3 | | 31 | 4 | | 32 | 8 | | 33 | 77 | | 34 | 60 | | 35 | 26 | | 36 | 32 | | 37 | 46 | | 38 | 116 | | 39 | 7 | | 40 | 104 | | 41 | 17 | | 42 | 2 | | 43 | 5 | | 44 | 10 | | 45 | 40 | | 46 | 10 | | 47 | 7 | | 48 | 8 | | 49 | 75 |
| |
| 98.32% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 101 | | matches | | 0 | "was determined" | | 1 | "was unrolled" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 224 | | matches | | 0 | "was already reaching" | | 1 | "was sitting" | | 2 | "was working" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 25 | | semicolonCount | 0 | | flaggedSentences | 19 | | totalSentences | 130 | | ratio | 0.146 | | matches | | 0 | "He'd helped himself to the kettle — a cup of something steaming sat on the side table atop one of Eva's Sumerian translation notes, and Rory felt a spike of irritation at that before she felt anything else." | | 1 | "His mouth did something more complicated than that — a slight compression of his lips that could have been regret or amusement or both." | | 2 | "Rory set down her delivery bag — it still smelled of garlic and five-spice from the last run to Hackney — and closed the door behind her." | | 3 | "Not since the night at the canal, when things had gone sideways with the Harker job and she'd ended up with demon blood on her jacket and his hand pressing a cloth against the gash on her forearm and his voice in her ear telling her to breathe, just breathe, and she'd turned her head and his mouth had been right there and —" | | 4 | "But there were details she caught now that she hadn't let herself catalogue before — the faint hollows beneath his cheekbones, the way his long fingers wrapped around the cane handle with a tension that didn't match the rest of his studied ease." | | 5 | "\"You look well,\" Lucien said quietly, and something about his tone — stripped of its usual sardonic lacquer — made her fingers tighten around the handle of Eva's chipped mug." | | 6 | "The posture shifted something fundamental about him — stripped away the broker, the fixer, the man who traded in secrets and favors across four languages." | | 7 | "But Evan was a human problem — possessive and mean-spirited and ordinary — and this was Lucien's world, the world he moved through like smoke, the world she had stumbled into through Eva's research and her own reckless curiosity." | | 8 | "The amber eye flared — actually flared, a brief pulse of something luminous behind the iris that she'd only seen twice before." | | 9 | "She pressed her thumb into the crescent-shaped scar on her left wrist — an old habit, grounding — and held his gaze." | | 10 | "\"Living above a bar owned by a man who distills moonshine from grave-water. Working for a woman who feeds protective charms into her dim sum. Sleeping under the roof of a friend who reads cuneiform tablets for a living and keeps a cat named after an astronomer.\" He gestured around the flat — the scrolls, the teetering stacks of occult texts, the sigils scratched into the windowsill that she'd mistaken for water damage the first week she'd moved to London." | | 11 | "He was right, and she hated him for it — hated the precision of it, the way he could anatomize a situation and leave her no room for comfortable lies." | | 12 | "A sound escaped her — not quite a laugh, something closer to a crack." | | 13 | "The ivory handle gleamed under the kitchen light, and she thought of the thin blade hidden inside it, and of the man who carried it — half-human, half-something burning and old — and what it cost him to stand here offering help to someone who had told him, in no uncertain terms, to get out of her life." | | 14 | "Both eyes — the amber and the black — steady and unguarded in a way she had never seen from him before." | | 15 | "She could feel the warmth coming off him — warmer than a human should be, always, that half-demon furnace beneath the impeccable suit." | | 16 | "He wrapped his hands around the mug, and his fingers brushed hers in the transfer — brief and electric and entirely deliberate, she was sure of it." | | 17 | "It changed his whole face — softened the sharp geometry of it, crinkled the skin beside his amber eye in a way that made something dangerous turn over in her chest." | | 18 | "And the things left unsaid between them filled the flat like smoke — not choking, not yet, but present, and impossible to ignore, and thick with the promise that before this was over, one of them would have to breathe it in." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 888 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 33 | | adverbRatio | 0.037162162162162164 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.010135135135135136 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 130 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 130 | | mean | 15.25 | | std | 13.83 | | cv | 0.907 | | sampleLengths | | 0 | 9 | | 1 | 24 | | 2 | 30 | | 3 | 4 | | 4 | 22 | | 5 | 27 | | 6 | 38 | | 7 | 27 | | 8 | 5 | | 9 | 4 | | 10 | 7 | | 11 | 24 | | 12 | 12 | | 13 | 3 | | 14 | 7 | | 15 | 15 | | 16 | 27 | | 17 | 8 | | 18 | 2 | | 19 | 18 | | 20 | 7 | | 21 | 64 | | 22 | 7 | | 23 | 2 | | 24 | 4 | | 25 | 4 | | 26 | 16 | | 27 | 43 | | 28 | 19 | | 29 | 9 | | 30 | 19 | | 31 | 17 | | 32 | 20 | | 33 | 2 | | 34 | 4 | | 35 | 4 | | 36 | 9 | | 37 | 3 | | 38 | 7 | | 39 | 3 | | 40 | 4 | | 41 | 27 | | 42 | 28 | | 43 | 11 | | 44 | 10 | | 45 | 30 | | 46 | 3 | | 47 | 2 | | 48 | 30 | | 49 | 5 |
| |
| 52.82% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.35384615384615387 | | totalSentences | 130 | | uniqueOpeners | 46 | |
| 79.37% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 84 | | matches | | 0 | "Of course he did." | | 1 | "Then he uncrossed his legs," |
| | ratio | 0.024 | |
| 62.86% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 33 | | totalSentences | 84 | | matches | | 0 | "She found the cat on" | | 1 | "He'd helped himself to the" | | 2 | "He didn't smile, not exactly" | | 3 | "His mouth did something more" | | 4 | "She turned the deadbolts one" | | 5 | "She hadn't seen him in" | | 6 | "He looked the same." | | 7 | "He looked like a man" | | 8 | "She ran her hand along" | | 9 | "She could hear the distant" | | 10 | "She weighed down its curling" | | 11 | "He was quiet for a" | | 12 | "Her first thought, quick and" | | 13 | "Her ex-boyfriend's name rose in" | | 14 | "His jaw tightened." | | 15 | "He stopped on the other" | | 16 | "he said, lower now" | | 17 | "She pressed her thumb into" | | 18 | "He gestured around the flat" | | 19 | "He was right, and she" |
| | ratio | 0.393 | |
| 49.29% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 69 | | totalSentences | 84 | | matches | | 0 | "The third deadbolt stuck, the" | | 1 | "Rory had to lean her" | | 2 | "She found the cat on" | | 3 | "Lucien Moreau was sitting in" | | 4 | "He'd helped himself to the" | | 5 | "The lamplight caught his mismatched" | | 6 | "Rory said flatly" | | 7 | "He didn't smile, not exactly" | | 8 | "His mouth did something more" | | 9 | "The words landed in the" | | 10 | "Rory set down her delivery" | | 11 | "She turned the deadbolts one" | | 12 | "A pointless gesture, given the" | | 13 | "She hadn't seen him in" | | 14 | "He looked the same." | | 15 | "The charcoal suit was impeccable," | | 16 | "He looked like a man" | | 17 | "Rory crossed to the kitchen," | | 18 | "She ran her hand along" | | 19 | "That almost-smile again." |
| | ratio | 0.821 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 84 | | matches | (empty) | | ratio | 0 | |
| 19.23% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 52 | | technicalSentenceCount | 9 | | matches | | 0 | "When the door finally gave way, she was already reaching down to scoop up Ptolemy, who had a habit of darting for the stairwell the moment he heard tumblers tur…" | | 1 | "His mouth did something more complicated than that — a slight compression of his lips that could have been regret or amusement or both." | | 2 | "Not since the night at the canal, when things had gone sideways with the Harker job and she'd ended up with demon blood on her jacket and his hand pressing a cl…" | | 3 | "But there were details she caught now that she hadn't let herself catalogue before — the faint hollows beneath his cheekbones, the way his long fingers wrapped …" | | 4 | "She could hear the distant bass thrum of music from the curry house below, smell the ghost of turmeric and cumin that had seeped permanently into the walls." | | 5 | "The posture shifted something fundamental about him — stripped away the broker, the fixer, the man who traded in secrets and favors across four languages." | | 6 | "The ivory handle gleamed under the kitchen light, and she thought of the thin blade hidden inside it, and of the man who carried it — half-human, half-something…" | | 7 | "It changed his whole face — softened the sharp geometry of it, crinkled the skin beside his amber eye in a way that made something dangerous turn over in her ch…" | | 8 | "Ptolemy crept out from under the couch and wound himself cautiously around Lucien's ankle, and Rory watched the half-demon look down at the cat with an expressi…" |
| |
| 97.22% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 18 | | uselessAdditionCount | 1 | | matches | | 0 | "He didn't, not exactly" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 14 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 48 | | tagDensity | 0.292 | | leniency | 0.583 | | rawRatio | 0.071 | | effectiveRatio | 0.042 | |