| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 48 | | tagDensity | 0.417 | | leniency | 0.833 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 79.17% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1680 | | totalAiIsmAdverbs | 7 | | found | | 0 | | | 1 | | | 2 | | | 3 | | adverb | "barely above a whisper" | | count | 1 |
| | 4 | | | 5 | |
| | highlights | | 0 | "suddenly" | | 1 | "perfectly" | | 2 | "very" | | 3 | "barely above a whisper" | | 4 | "quickly" | | 5 | "slightly" |
| |
| 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) | |
| 73.21% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1680 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "warmth" | | 1 | "silence" | | 2 | "weight" | | 3 | "unreadable" | | 4 | "stomach" | | 5 | "whisper" | | 6 | "perfect" | | 7 | "trembled" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "stomach dropped/sank" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 2 | | narrationSentences | 107 | | matches | | 0 | "was proud" | | 1 | "was bitter" |
| |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 107 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 137 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 78 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1695 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 22 | | unquotedAttributions | 1 | | matches | | 0 | "A childhood accident, she told everyone." |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 43 | | wordCount | 1270 | | uniqueNames | 16 | | maxNameDensity | 0.87 | | worstName | "Lucien" | | maxWindowNameDensity | 2 | | worstWindowName | "Lucien" | | discoveredNames | | Rory | 7 | | Eva | 6 | | Mayfair | 1 | | Moreau | 2 | | French-accented | 1 | | Ptolemy | 5 | | Lucien | 11 | | Golden | 1 | | Empress | 1 | | East | 1 | | London | 1 | | Giving | 1 | | Tips | 1 | | Evan | 2 | | Camden | 1 | | Honest | 1 |
| | persons | | 0 | "Rory" | | 1 | "Eva" | | 2 | "Moreau" | | 3 | "Ptolemy" | | 4 | "Lucien" | | 5 | "Evan" |
| | places | | 0 | "Mayfair" | | 1 | "East" | | 2 | "London" | | 3 | "Honest" |
| | globalScore | 1 | | windowScore | 1 | |
| 77.54% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 69 | | glossingSentenceCount | 2 | | matches | | 0 | "felt like the silence in a courtroom ri" | | 1 | "quite hunger" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1695 | | matches | (empty) | |
| 93.67% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 3 | | totalSentences | 137 | | matches | | 0 | "hated that it" | | 1 | "hated that some" | | 2 | "hated that she" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 60 | | mean | 28.25 | | std | 23.61 | | cv | 0.836 | | sampleLengths | | 0 | 58 | | 1 | 72 | | 2 | 7 | | 3 | 23 | | 4 | 1 | | 5 | 42 | | 6 | 1 | | 7 | 1 | | 8 | 52 | | 9 | 26 | | 10 | 29 | | 11 | 55 | | 12 | 50 | | 13 | 72 | | 14 | 14 | | 15 | 1 | | 16 | 53 | | 17 | 27 | | 18 | 8 | | 19 | 74 | | 20 | 4 | | 21 | 2 | | 22 | 2 | | 23 | 27 | | 24 | 22 | | 25 | 18 | | 26 | 29 | | 27 | 1 | | 28 | 87 | | 29 | 29 | | 30 | 45 | | 31 | 1 | | 32 | 44 | | 33 | 53 | | 34 | 31 | | 35 | 24 | | 36 | 65 | | 37 | 39 | | 38 | 31 | | 39 | 1 | | 40 | 18 | | 41 | 61 | | 42 | 6 | | 43 | 35 | | 44 | 6 | | 45 | 2 | | 46 | 48 | | 47 | 7 | | 48 | 10 | | 49 | 2 |
| |
| 88.87% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 107 | | matches | | 0 | "was slicked" | | 1 | "was gone" | | 2 | "been reassembled" | | 3 | "been broken" | | 4 | "been undone" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 7 | | totalVerbs | 212 | | matches | | 0 | "was already rehearsing" | | 1 | "was still wearing" | | 2 | "was standing" | | 3 | "wasn't reading" | | 4 | "was watching" | | 5 | "was oversteeping" | | 6 | "was overreacting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 137 | | ratio | 0.066 | | matches | | 0 | "She was already rehearsing the excuse she'd give Eva for being late — something about a double order in Mayfair, a bike chain that slipped — when she pulled the door open and found the hallway already occupied." | | 1 | "The way he said it — low, French-accented, with that particular warmth he only used when there was no audience — hit her somewhere behind the sternum." | | 2 | "He entered the way he always entered rooms — like he'd already catalogued every exit, every weapon, every angle of approach." | | 3 | "It felt like the silence in a courtroom right before the verdict — every molecule aware of itself." | | 4 | "He was standing near the window, holding a sheaf of Eva's notes on something — demonic taxonomy, from the look of the diagrams — but he wasn't reading it." | | 5 | "What was left was raw, close to the bone, and it made her turn around again because she had never heard him sound like that — not in the back room at Silas' bar, not in the alley behind the Golden Empress, not in the terrible quiet hour after the thing with the Erlgeist when she'd stitched up the gash on his shoulder with a sewing kit and he'd held perfectly still and told her she had surgeon's hands." | | 6 | "He stopped just short of her — close enough that she could smell his cologne, something dark and cedar-laced, close enough that she could see the faint asymmetry where his jaw had been broken and healed years before she'd met him." | | 7 | "She remembered those hands — steady on the hilt of the hidden blade, steady on her shoulder when he'd pulled her out of the path of something with too many teeth, steady and then not steady at all when he'd touched her face in the dark of Silas' back room and she'd let him." | | 8 | "Something cracked behind the composure — brief, bright, quickly shuttered, but she saw it." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 928 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 35 | | adverbRatio | 0.03771551724137931 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.008620689655172414 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 137 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 137 | | mean | 12.37 | | std | 12.38 | | cv | 1 | | sampleLengths | | 0 | 20 | | 1 | 38 | | 2 | 35 | | 3 | 22 | | 4 | 8 | | 5 | 7 | | 6 | 7 | | 7 | 6 | | 8 | 17 | | 9 | 1 | | 10 | 38 | | 11 | 4 | | 12 | 1 | | 13 | 1 | | 14 | 27 | | 15 | 6 | | 16 | 19 | | 17 | 5 | | 18 | 21 | | 19 | 25 | | 20 | 4 | | 21 | 2 | | 22 | 10 | | 23 | 43 | | 24 | 8 | | 25 | 5 | | 26 | 37 | | 27 | 21 | | 28 | 27 | | 29 | 5 | | 30 | 19 | | 31 | 8 | | 32 | 6 | | 33 | 1 | | 34 | 4 | | 35 | 4 | | 36 | 26 | | 37 | 13 | | 38 | 2 | | 39 | 4 | | 40 | 6 | | 41 | 3 | | 42 | 18 | | 43 | 8 | | 44 | 2 | | 45 | 4 | | 46 | 29 | | 47 | 14 | | 48 | 6 | | 49 | 6 |
| |
| 49.64% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 17 | | diversityRatio | 0.3722627737226277 | | totalSentences | 137 | | uniqueOpeners | 51 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 92 | | matches | (empty) | | ratio | 0 | |
| 41.74% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 41 | | totalSentences | 92 | | matches | | 0 | "She was already rehearsing the" | | 1 | "His charcoal suit was immaculate," | | 2 | "He tilted his head, the" | | 3 | "She hated that it still" | | 4 | "She hated that some traitorous" | | 5 | "His gaze moved over her" | | 6 | "She stepped back and opened" | | 7 | "He entered the way he" | | 8 | "His gaze swept over the" | | 9 | "He set his cane against" | | 10 | "She filled the kettle." | | 11 | "She tugged the fabric down" | | 12 | "He always noticed everything." | | 13 | "It had weight." | | 14 | "It felt like the silence" | | 15 | "He hadn't sat down." | | 16 | "He was standing near the" | | 17 | "He was watching her with" | | 18 | "He set the notes down" | | 19 | "She poured the water, the" |
| | ratio | 0.446 | |
| 14.35% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 82 | | totalSentences | 92 | | matches | | 0 | "The third deadbolt stuck the" | | 1 | "She was already rehearsing the" | | 2 | "Lucien Moreau stood in the" | | 3 | "His charcoal suit was immaculate," | | 4 | "The other, the black one," | | 5 | "Rory's hand tightened on the" | | 6 | "Ptolemy wound between her ankles," | | 7 | "He tilted his head, the" | | 8 | "The way he said it" | | 9 | "She hated that it still" | | 10 | "She hated that some traitorous" | | 11 | "His gaze moved over her" | | 12 | "Rory looked down at the" | | 13 | "The hallway smelled of tikka" | | 14 | "She stepped back and opened" | | 15 | "He entered the way he" | | 16 | "His gaze swept over the" | | 17 | "Eva's chaos, beautiful and overwhelming." | | 18 | "He set his cane against" | | 19 | "Rory asked, already moving to" |
| | ratio | 0.891 | |
| 54.35% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 92 | | matches | | 0 | "Because Eva's hallway wasn't the" |
| | ratio | 0.011 | |
| 11.28% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 38 | | technicalSentenceCount | 7 | | matches | | 0 | "She was already rehearsing the excuse she'd give Eva for being late — something about a double order in Mayfair, a bike chain that slipped — when she pulled the…" | | 1 | "Lucien Moreau stood in the narrow corridor between the curry house stairwell and Eva's front door, leaning on his ivory-handled cane as though he'd been waiting…" | | 2 | "Reached for the tin of PG Tips on the shelf above the stove, her sleeve riding up and exposing the crescent scar on her left wrist." | | 3 | "A photograph, grainy and surveillance-quality: Evan outside a pub in Camden, talking to a man with red-gold eyes and a smile that didn't belong to anything huma…" | | 4 | "It was the lid on something that had been pressurizing for eighty-seven days." | | 5 | "Ptolemy had settled on the manuscripts, tail curled around his paws, watching them with the smug detachment of a creature who had never once in his life been un…" | | 6 | "Evan's face stared up at her, square-jawed and ordinary, a man who had once told her she was overreacting while gripping her wrist hard enough to leave the shap…" |
| |
| 75.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 2 | | matches | | 0 | "She poured, the steam rising between them" | | 1 | "she said, and her voice was steady, and she was proud of that, and she hated that she had to be" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 48 | | tagDensity | 0.229 | | leniency | 0.458 | | rawRatio | 0 | | effectiveRatio | 0 | |