| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 22 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said quietly [quietly]" |
| | dialogueSentences | 57 | | tagDensity | 0.386 | | leniency | 0.772 | | rawRatio | 0.045 | | effectiveRatio | 0.035 | |
| 73.22% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2054 | | totalAiIsmAdverbs | 11 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | adverb | "deliberately" | | count | 1 |
|
| | highlights | | 0 | "precisely" | | 1 | "perfectly" | | 2 | "slightly" | | 3 | "very" | | 4 | "slowly" | | 5 | "deliberately" |
| |
| 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) | |
| 68.35% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2054 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "tinged" | | 1 | "flickered" | | 2 | "silence" | | 3 | "treacherous" | | 4 | "weight" | | 5 | "crystal" | | 6 | "calculated" | | 7 | "traced" |
| |
| 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 | 122 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 122 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 156 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 65 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 8 | | totalWords | 2074 | | ratio | 0.004 | | matches | | 0 | "Golden Bough" | | 1 | "ARCHAEOLOGISTS DO IT IN THE DIRT" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 31 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 44 | | wordCount | 1464 | | uniqueNames | 22 | | maxNameDensity | 0.61 | | worstName | "Lucien" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Lucien" | | discoveredNames | | Rory | 6 | | Ptolemy | 3 | | Eva | 4 | | Sumerian | 1 | | Moreau | 1 | | Brick | 2 | | Lane | 2 | | Lucien | 9 | | Parisian | 1 | | East | 1 | | London | 1 | | Tuesday | 1 | | English | 1 | | Harrow | 2 | | Street | 2 | | Marchetti | 1 | | Ottoman | 1 | | Frazer | 1 | | Cardiff | 1 | | Evan | 1 | | Swallowed | 1 | | Avaros | 1 |
| | persons | | 0 | "Rory" | | 1 | "Ptolemy" | | 2 | "Eva" | | 3 | "Moreau" | | 4 | "Lucien" | | 5 | "Marchetti" | | 6 | "Frazer" | | 7 | "Evan" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "East" | | 3 | "London" | | 4 | "Harrow" | | 5 | "Street" | | 6 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 77.54% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 69 | | glossingSentenceCount | 2 | | matches | | 0 | "as though tracking her movements across East London were a perfectly reasonable Tuesday evening activity" | | 1 | "something close to pain" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 0.964 | | wordCount | 2074 | | matches | | 0 | "not dramatically, not like a wall crumbling, but like a lock turning" | | 1 | "not like a wall crumbling, but like a lock turning" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 156 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 69 | | mean | 30.06 | | std | 32.25 | | cv | 1.073 | | sampleLengths | | 0 | 54 | | 1 | 5 | | 2 | 99 | | 3 | 21 | | 4 | 3 | | 5 | 5 | | 6 | 29 | | 7 | 37 | | 8 | 12 | | 9 | 39 | | 10 | 4 | | 11 | 1 | | 12 | 1 | | 13 | 95 | | 14 | 3 | | 15 | 81 | | 16 | 7 | | 17 | 66 | | 18 | 72 | | 19 | 7 | | 20 | 21 | | 21 | 7 | | 22 | 2 | | 23 | 8 | | 24 | 116 | | 25 | 10 | | 26 | 78 | | 27 | 10 | | 28 | 5 | | 29 | 11 | | 30 | 10 | | 31 | 67 | | 32 | 56 | | 33 | 7 | | 34 | 1 | | 35 | 6 | | 36 | 2 | | 37 | 62 | | 38 | 31 | | 39 | 57 | | 40 | 54 | | 41 | 29 | | 42 | 2 | | 43 | 66 | | 44 | 2 | | 45 | 15 | | 46 | 77 | | 47 | 12 | | 48 | 4 | | 49 | 1 |
| |
| 96.64% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 122 | | matches | | 0 | "been sculpted" | | 1 | "was wedged" | | 2 | ", printed" |
| |
| 66.67% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 250 | | matches | | 0 | "was standing" | | 1 | "was almost scalding" | | 2 | "was shaking" | | 3 | "was doing" | | 4 | "was making" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 18 | | semicolonCount | 0 | | flaggedSentences | 13 | | totalSentences | 156 | | ratio | 0.083 | | matches | | 0 | "Lucien Moreau leaned against the doorframe like he'd been sculpted there — one shoulder pressed to the wood, the ivory handle of his cane tucked under his palm, his charcoal suit so precisely tailored it made the narrow hallway of the Brick Lane walk-up look like a stage set designed around him." | | 1 | "Lucien's smiles were rare, deliberate things — offered like concessions." | | 2 | "The way he said her name — that slight roll on the R, the vowel opened wider than any English speaker would shape it — landed in her chest like a stone dropped into still water." | | 3 | "His gaze swept the cluttered surfaces — Eva's research notes pinned to a corkboard above the radiator, the scrolls unfurled across the kitchen table, the towers of paperbacks on every horizontal surface." | | 4 | "In the cramped front room, the distance between them shrank to almost nothing — three feet, maybe four." | | 5 | "Instead she moved to the kitchen — two steps, that's all it took in Eva's flat — and filled the kettle." | | 6 | "That was the thing about his eyes — the mismatched pair made it impossible to get a clean read." | | 7 | "She poured water over a teabag in a chipped mug — one of Eva's, printed with the words *ARCHAEOLOGISTS DO IT IN THE DIRT* — and stared at the dark bloom of tannins spreading through the water." | | 8 | "It wasn't pity — he was too sharp for pity — but it was something close to pain." | | 9 | "He was close enough now that she could smell his cologne — something warm, woody, underlaid with a faint metallic note that she'd never been able to identify, something that might have been the Avaros half of him bleeding through the human surface." | | 10 | "She watched something behind his expression come apart — not dramatically, not like a wall crumbling, but like a lock turning." | | 11 | "His breath caught — a small, involuntary sound that unraveled something in her chest she'd spent three weeks trying to keep knotted." | | 12 | "His free hand came up to the back of her neck, fingers threading into her black hair, and he kissed her back with a kind of desperate precision that was so thoroughly, so infuriatingly Lucien — controlled and uncontrolled at the same time, calculated and reckless in the same breath — that she almost laughed against his mouth." |
| |
| 99.33% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1251 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 51 | | adverbRatio | 0.0407673860911271 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.007993605115907274 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 156 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 156 | | mean | 13.29 | | std | 13.03 | | cv | 0.98 | | sampleLengths | | 0 | 11 | | 1 | 3 | | 2 | 40 | | 3 | 5 | | 4 | 52 | | 5 | 47 | | 6 | 5 | | 7 | 11 | | 8 | 5 | | 9 | 3 | | 10 | 5 | | 11 | 11 | | 12 | 9 | | 13 | 9 | | 14 | 29 | | 15 | 8 | | 16 | 12 | | 17 | 8 | | 18 | 4 | | 19 | 10 | | 20 | 17 | | 21 | 4 | | 22 | 1 | | 23 | 1 | | 24 | 36 | | 25 | 3 | | 26 | 56 | | 27 | 3 | | 28 | 12 | | 29 | 32 | | 30 | 11 | | 31 | 26 | | 32 | 7 | | 33 | 14 | | 34 | 8 | | 35 | 31 | | 36 | 13 | | 37 | 2 | | 38 | 18 | | 39 | 14 | | 40 | 6 | | 41 | 22 | | 42 | 10 | | 43 | 7 | | 44 | 21 | | 45 | 7 | | 46 | 2 | | 47 | 8 | | 48 | 10 | | 49 | 7 |
| |
| 50.00% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.34615384615384615 | | totalSentences | 156 | | uniqueOpeners | 54 | |
| 65.36% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 102 | | matches | | 0 | "Then the second." | | 1 | "Instead she moved to the" |
| | ratio | 0.02 | |
| 31.76% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 48 | | totalSentences | 102 | | matches | | 0 | "She opened the door anyway." | | 1 | "His mismatched eyes found hers." | | 2 | "She kept her hand on" | | 3 | "Her grip was steady, which" | | 4 | "He said it simply, as" | | 5 | "She hated that." | | 6 | "She hated that after three" | | 7 | "She stepped aside." | | 8 | "He entered the flat the" | | 9 | "His gaze swept the cluttered" | | 10 | "She wanted the option of" | | 11 | "She could see the faint" | | 12 | "She crossed her arms, then" | | 13 | "It always had." | | 14 | "She set the kettle on" | | 15 | "He stood where she'd left" | | 16 | "You'd think you'd caught something" | | 17 | "He was quiet for a" | | 18 | "He moved then." | | 19 | "She poured water over a" |
| | ratio | 0.471 | |
| 28.63% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 88 | | totalSentences | 102 | | matches | | 0 | "The first deadbolt turned with" | | 1 | "She opened the door anyway." | | 2 | "Lucien Moreau leaned against the" | | 3 | "The smell of cumin and" | | 4 | "His mismatched eyes found hers." | | 5 | "The amber one caught the" | | 6 | "The black one swallowed it." | | 7 | "She kept her hand on" | | 8 | "Her grip was steady, which" | | 9 | "He said it simply, as" | | 10 | "Something flickered at the corner" | | 11 | "Lucien's smiles were rare, deliberate" | | 12 | "This was more like muscle" | | 13 | "The way he said her" | | 14 | "She hated that." | | 15 | "She hated that after three" | | 16 | "She stepped aside." | | 17 | "He entered the flat the" | | 18 | "His gaze swept the cluttered" | | 19 | "A coffee mug sat on" |
| | ratio | 0.863 | |
| 49.02% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 102 | | matches | | 0 | "By the time Rory reached" |
| | ratio | 0.01 | |
| 38.69% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 7 | | matches | | 0 | "By the time Rory reached the third, Ptolemy had already bolted from the kitchen counter and disappeared beneath a stack of Eva's Sumerian lexicons, which told h…" | | 1 | "A petty gesture, maybe, and one that wouldn't mean much to a man who was half-demon and carried a blade in his cane, but it was the principle of the thing." | | 2 | "The platinum blond hair was still slicked back, the suit still immaculate, but there was something underneath the polish that looked frayed." | | 3 | "He was close enough now that she could smell his cologne — something warm, woody, underlaid with a faint metallic note that she'd never been able to identify, s…" | | 4 | "She stood in the tiny kitchen of her best friend's flat on Brick Lane, with the smell of curry drifting up through the floorboards and a tabby cat hiding behind…" | | 5 | "His breath caught — a small, involuntary sound that unraveled something in her chest she'd spent three weeks trying to keep knotted." | | 6 | "His free hand came up to the back of her neck, fingers threading into her black hair, and he kissed her back with a kind of desperate precision that was so thor…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 22 | | uselessAdditionCount | 1 | | matches | | 0 | "He said, as though tracking her movements across East London were a perfectly reasonable Tuesday evening activity" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 13 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 57 | | tagDensity | 0.228 | | leniency | 0.456 | | rawRatio | 0.077 | | effectiveRatio | 0.035 | |