| 97.44% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 19 | | adverbTagCount | 2 | | adverbTags | | 0 | "he said quietly [quietly]" | | 1 | "he said quietly [quietly]" |
| | dialogueSentences | 39 | | tagDensity | 0.487 | | leniency | 0.974 | | rawRatio | 0.105 | | effectiveRatio | 0.103 | |
| 79.07% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1672 | | totalAiIsmAdverbs | 7 | | found | | | highlights | | 0 | "carefully" | | 1 | "very" | | 2 | "suddenly" | | 3 | "really" | | 4 | "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) | |
| 64.11% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1672 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "electric" | | 1 | "footsteps" | | 2 | "absolutely" | | 3 | "charged" | | 4 | "echoed" | | 5 | "comfortable" | | 6 | "could feel" | | 7 | "perfect" | | 8 | "fractured" | | 9 | "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 | 92 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 92 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 112 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 64 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1658 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 22 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 28 | | wordCount | 1137 | | uniqueNames | 9 | | maxNameDensity | 0.7 | | worstName | "Lucien" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Lucien" | | discoveredNames | | Ptolemy | 3 | | Eva | 4 | | Rory | 7 | | Lucien | 8 | | Moreau | 1 | | Frenchman | 1 | | Evan | 1 | | London | 2 | | French | 1 |
| | persons | | 0 | "Ptolemy" | | 1 | "Eva" | | 2 | "Rory" | | 3 | "Lucien" | | 4 | "Moreau" | | 5 | "Evan" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 63 | | glossingSentenceCount | 6 | | matches | | 0 | "g at them, and evidently she'd not succeeded" | | 1 | "sounded like an apology even when he wasn'" | | 2 | "looked like someone who'd been running on" | | 3 | "something between ancient and broken" | | 4 | "n doing so had apparently also walked out of" | | 5 | "as if responding to something in him that wasn't quite human" | | 6 | "quite human" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1658 | | matches | (empty) | |
| 47.62% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 4 | | totalSentences | 112 | | matches | | 0 | "was that it" | | 1 | "doing that thing" | | 2 | "was that she" | | 3 | "was that she'd" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 57 | | mean | 29.09 | | std | 23.61 | | cv | 0.812 | | sampleLengths | | 0 | 7 | | 1 | 75 | | 2 | 5 | | 3 | 5 | | 4 | 58 | | 5 | 27 | | 6 | 1 | | 7 | 23 | | 8 | 82 | | 9 | 8 | | 10 | 13 | | 11 | 25 | | 12 | 26 | | 13 | 63 | | 14 | 41 | | 15 | 6 | | 16 | 4 | | 17 | 82 | | 18 | 38 | | 19 | 44 | | 20 | 22 | | 21 | 4 | | 22 | 6 | | 23 | 55 | | 24 | 11 | | 25 | 29 | | 26 | 13 | | 27 | 15 | | 28 | 11 | | 29 | 23 | | 30 | 53 | | 31 | 72 | | 32 | 15 | | 33 | 29 | | 34 | 18 | | 35 | 70 | | 36 | 52 | | 37 | 37 | | 38 | 20 | | 39 | 9 | | 40 | 44 | | 41 | 66 | | 42 | 21 | | 43 | 6 | | 44 | 7 | | 45 | 64 | | 46 | 3 | | 47 | 3 | | 48 | 57 | | 49 | 24 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 92 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 214 | | matches | | 0 | "were doing" | | 1 | "wasn't apologising" | | 2 | "was remembering" |
| |
| 40.82% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 112 | | ratio | 0.036 | | matches | | 0 | "Rory had been reading—or trying to, anyway, with Ptolemy sprawled across her lap and Eva's flat too quiet around her." | | 1 | "Her jumper was old—something she'd stolen from her father years ago and never returned—and her hair hung in the sort of tangled braid that suggested surrender rather than style." | | 2 | "The buzzer sounded—a long, electric note—and she stood there listening to the heavy door swing open three storeys below, listening to footsteps climbing the stairwell with that particular rhythm she'd learned to recognise." | | 3 | "His eyes catalogued everything—the stack of books on the floor beside the sofa, the half-empty cup of tea that had probably gone cold an hour ago, the way Ptolemy had positioned himself on top of a grimoire like it was the most comfortable bed in London." |
| |
| 90.14% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1150 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 58 | | adverbRatio | 0.050434782608695654 | | lyAdverbCount | 24 | | lyAdverbRatio | 0.020869565217391306 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 112 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 112 | | mean | 14.8 | | std | 12.13 | | cv | 0.819 | | sampleLengths | | 0 | 7 | | 1 | 20 | | 2 | 22 | | 3 | 33 | | 4 | 5 | | 5 | 5 | | 6 | 19 | | 7 | 29 | | 8 | 10 | | 9 | 3 | | 10 | 4 | | 11 | 20 | | 12 | 1 | | 13 | 8 | | 14 | 15 | | 15 | 6 | | 16 | 2 | | 17 | 23 | | 18 | 23 | | 19 | 28 | | 20 | 8 | | 21 | 7 | | 22 | 6 | | 23 | 25 | | 24 | 3 | | 25 | 4 | | 26 | 11 | | 27 | 8 | | 28 | 10 | | 29 | 33 | | 30 | 1 | | 31 | 1 | | 32 | 18 | | 33 | 11 | | 34 | 4 | | 35 | 26 | | 36 | 2 | | 37 | 1 | | 38 | 1 | | 39 | 2 | | 40 | 4 | | 41 | 17 | | 42 | 13 | | 43 | 28 | | 44 | 24 | | 45 | 9 | | 46 | 4 | | 47 | 1 | | 48 | 1 | | 49 | 23 |
| |
| 59.52% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.4107142857142857 | | totalSentences | 112 | | uniqueOpeners | 46 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 76 | | matches | (empty) | | ratio | 0 | |
| 46.32% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 33 | | totalSentences | 76 | | matches | | 0 | "She pressed the speaker button." | | 1 | "she said into the speaker," | | 2 | "Her jumper was old—something she'd" | | 3 | "Her hand went still on" | | 4 | "she heard herself say stupidly" | | 5 | "He made observations and expected" | | 6 | "She had time to run" | | 7 | "She opened the door." | | 8 | "He looked exactly like he" | | 9 | "His platinum blonde hair was" | | 10 | "It was his eyes that" | | 11 | "She'd spent three years getting" | | 12 | "His accent was thicker than" | | 13 | "She stepped back anyway, and" | | 14 | "Her crescent-shaped scar itched against" | | 15 | "he said, which was him" | | 16 | "He set the cane against" | | 17 | "She echoed the word back" | | 18 | "His eyes catalogued everything—the stack" | | 19 | "He turned to face her," |
| | ratio | 0.434 | |
| 19.21% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 67 | | totalSentences | 76 | | matches | | 0 | "The buzzer sounded at half" | | 1 | "Rory had been reading—or trying" | | 2 | "The tabby cat lifted his" | | 3 | "Eva was out somewhere with" | | 4 | "She pressed the speaker button." | | 5 | "Static crackled back at her." | | 6 | "she said into the speaker," | | 7 | "Her jumper was old—something she'd" | | 8 | "A throat cleared." | | 9 | "That particular quality of someone" | | 10 | "Her hand went still on" | | 11 | "Ptolemy jumped from her lap," | | 12 | "The voice belonged to Lucien" | | 13 | "The half-demon with mismatched eyes" | | 14 | "The man who'd pulled her" | | 15 | "The man who'd offered her" | | 16 | "The man she hadn't seen" | | 17 | "she heard herself say stupidly" | | 18 | "Lucien rarely asked questions." | | 19 | "He made observations and expected" |
| | ratio | 0.882 | |
| 65.79% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 76 | | matches | | 0 | "Before she could speak, Lucien's" |
| | ratio | 0.013 | |
| 40.82% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 42 | | technicalSentenceCount | 6 | | matches | | 0 | "Eva was out somewhere with her girlfriends, which meant Rory got the luxury of answering to no one and nothing except a persistent literary character who refuse…" | | 1 | "The half-demon with mismatched eyes and an ivory-handled cane who fixed things that shouldn't be fixed and knew secrets that should've stayed buried." | | 2 | "The man who'd pulled her from a situation with Evan three years ago when that particular darkness had its teeth at her throat." | | 3 | "The man who'd offered her work, then friendship, then something neither of them had bothered naming because naming it would've required them to stop whatever th…" | | 4 | "His eyes catalogued everything—the stack of books on the floor beside the sofa, the half-empty cup of tea that had probably gone cold an hour ago, the way Ptole…" | | 5 | "The cane against the bookshelf shifted slightly, as if responding to something in him that wasn't quite human." |
| |
| 72.37% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 19 | | uselessAdditionCount | 2 | | matches | | 0 | "Rory followed, her bare feet soundless on the hardwood" | | 1 | "Rory said, and her voice was steady now, which was somehow worse" |
| |
| 73.08% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 13 | | fancyCount | 3 | | fancyTags | | 0 | "he repeated (repeat)" | | 1 | "she continued (continue)" | | 2 | "She laughed (laugh)" |
| | dialogueSentences | 39 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0.231 | | effectiveRatio | 0.154 | |