| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 73 | | tagDensity | 0.205 | | leniency | 0.411 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 96.35% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1371 | | totalAiIsmAdverbs | 1 | | found | | | highlights | | |
| 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) | |
| 38.00% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1371 | | totalAiIsms | 17 | | found | | | highlights | | 0 | "weight" | | 1 | "familiar" | | 2 | "flicked" | | 3 | "tracing" | | 4 | "complex" | | 5 | "etched" | | 6 | "pulse" | | 7 | "stomach" | | 8 | "tension" | | 9 | "throbbed" | | 10 | "traced" | | 11 | "eyebrow" | | 12 | "perfect" | | 13 | "sanctuary" |
| |
| 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 | 119 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 119 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 177 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 37 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 6 | | markdownWords | 9 | | totalWords | 1366 | | ratio | 0.007 | | matches | | 0 | "fuck off" | | 1 | "chérie" | | 2 | "The Malphora Codex" | | 3 | "use" | | 4 | "Malphora" | | 5 | "chérie" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 36 | | wordCount | 924 | | uniqueNames | 11 | | maxNameDensity | 1.08 | | worstName | "Aurora" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Evan" | | discoveredNames | | Rory | 1 | | Moreau | 1 | | Aurora | 10 | | Jenga | 1 | | Evan | 7 | | Malphora | 2 | | Tuesday | 1 | | Golden | 1 | | Empress | 1 | | Lucien | 10 | | Whitechapel | 1 |
| | persons | | 0 | "Rory" | | 1 | "Moreau" | | 2 | "Aurora" | | 3 | "Evan" | | 4 | "Lucien" |
| | places | | | globalScore | 0.959 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 57 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1366 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 177 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 79 | | mean | 17.29 | | std | 15.31 | | cv | 0.885 | | sampleLengths | | 0 | 49 | | 1 | 8 | | 2 | 45 | | 3 | 7 | | 4 | 52 | | 5 | 6 | | 6 | 9 | | 7 | 34 | | 8 | 7 | | 9 | 5 | | 10 | 58 | | 11 | 8 | | 12 | 28 | | 13 | 12 | | 14 | 42 | | 15 | 22 | | 16 | 6 | | 17 | 2 | | 18 | 15 | | 19 | 6 | | 20 | 10 | | 21 | 3 | | 22 | 16 | | 23 | 24 | | 24 | 10 | | 25 | 50 | | 26 | 3 | | 27 | 10 | | 28 | 23 | | 29 | 1 | | 30 | 10 | | 31 | 5 | | 32 | 63 | | 33 | 23 | | 34 | 6 | | 35 | 32 | | 36 | 10 | | 37 | 20 | | 38 | 9 | | 39 | 3 | | 40 | 4 | | 41 | 25 | | 42 | 47 | | 43 | 5 | | 44 | 2 | | 45 | 3 | | 46 | 39 | | 47 | 15 | | 48 | 30 | | 49 | 5 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 119 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 165 | | matches | | 0 | "was waiting" | | 1 | "was calling" |
| |
| 46.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 177 | | ratio | 0.034 | | matches | | 0 | "Only one person called her Rory like that—like the name was a secret they shared, a joke no one else got." | | 1 | "The scent of bergamot and something darker—gunpowder, maybe—drifted in with him." | | 2 | "\"Most people don’t have your talent for ignoring messages.\" His heterochromatic gaze flicked over her—black eye lingering on the scar on her wrist, amber one tracing the line of her jaw." | | 3 | "The shift was subtle, but she knew him well enough to catch it—the way his shoulders squared, the way his voice dropped into that low, dangerous register." | | 4 | "The tension in his jaw, the way his knuckles whitened around the ivory handle of his cane—it said enough." | | 5 | "The crescent-shaped mark on her wrist, the one she’d gotten falling off her bike as a kid, the one Evan had once traced with his thumb before—" |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 933 | | adjectiveStacks | 1 | | stackExamples | | 0 | "cluttered, book-filled sanctuary." |
| | adverbCount | 36 | | adverbRatio | 0.03858520900321544 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.003215434083601286 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 177 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 177 | | mean | 7.72 | | std | 6.66 | | cv | 0.863 | | sampleLengths | | 0 | 13 | | 1 | 19 | | 2 | 17 | | 3 | 8 | | 4 | 2 | | 5 | 17 | | 6 | 5 | | 7 | 21 | | 8 | 5 | | 9 | 2 | | 10 | 10 | | 11 | 13 | | 12 | 18 | | 13 | 11 | | 14 | 6 | | 15 | 4 | | 16 | 5 | | 17 | 31 | | 18 | 3 | | 19 | 7 | | 20 | 2 | | 21 | 3 | | 22 | 22 | | 23 | 22 | | 24 | 3 | | 25 | 11 | | 26 | 8 | | 27 | 17 | | 28 | 11 | | 29 | 7 | | 30 | 5 | | 31 | 6 | | 32 | 27 | | 33 | 9 | | 34 | 22 | | 35 | 6 | | 36 | 2 | | 37 | 9 | | 38 | 6 | | 39 | 4 | | 40 | 2 | | 41 | 10 | | 42 | 3 | | 43 | 16 | | 44 | 9 | | 45 | 1 | | 46 | 3 | | 47 | 9 | | 48 | 2 | | 49 | 4 |
| |
| 63.28% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.423728813559322 | | totalSentences | 177 | | uniqueOpeners | 75 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 6 | | totalSentences | 98 | | matches | | 0 | "Only one person called her" | | 1 | "Of course Evan." | | 2 | "Instead, she snatched the paper" | | 3 | "Just like her patience." | | 4 | "Somewhere in the distance, a" | | 5 | "Somewhere in Whitechapel, Evan was" |
| | ratio | 0.061 | |
| 85.31% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 33 | | totalSentences | 98 | | matches | | 0 | "She exhaled through her nose." | | 1 | "She set the knife down." | | 2 | "His heterochromatic gaze flicked over" | | 3 | "She blocked the doorway, but" | | 4 | "His nose wrinkled." | | 5 | "He corrected her with a" | | 6 | "His smile faded, just a" | | 7 | "He reached into his coat" | | 8 | "He pulled out a folded" | | 9 | "She should’ve known this wasn’t" | | 10 | "She wanted to laugh." | | 11 | "Her breath caught." | | 12 | "She shot him a look." | | 13 | "His cane thudded against the" | | 14 | "He didn’t answer." | | 15 | "She turned away, rubbing her" | | 16 | "he said, voice low" | | 17 | "Her scar throbbed." | | 18 | "She wanted to sit down." | | 19 | "She grabbed her leather jacket" |
| | ratio | 0.337 | |
| 51.84% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 80 | | totalSentences | 98 | | matches | | 0 | "The door rattled under the" | | 1 | "Aurora tightened her grip on" | | 2 | "Ptolemy hissed from his perch" | | 3 | "She exhaled through her nose." | | 4 | "She set the knife down." | | 5 | "The deadbolts groaned as she" | | 6 | "The door swung open before" | | 7 | "Lucien Moreau, leaning against the" | | 8 | "The scent of bergamot and" | | 9 | "Aurora crossed her arms." | | 10 | "His heterochromatic gaze flicked over" | | 11 | "She blocked the doorway, but" | | 12 | "Books teetered in stacks like" | | 13 | "His nose wrinkled." | | 14 | "He corrected her with a" | | 15 | "Aurora shut the door harder" | | 16 | "His smile faded, just a" | | 17 | "The shift was subtle, but" | | 18 | "He reached into his coat" | | 19 | "He pulled out a folded" |
| | ratio | 0.816 | |
| 51.02% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 98 | | matches | | 0 | "Before everything went to hell." |
| | ratio | 0.01 | |
| 96.77% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 31 | | technicalSentenceCount | 2 | | matches | | 0 | "A sketch of a leather-bound tome, its cover etched with symbols that made her skin prickle." | | 1 | "Evan, who knew her past, her fears, the way she flinched at the sound of a raised voice." |
| |
| 58.33% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 2 | | matches | | 0 | "He corrected, as if that made all the difference" | | 1 | "he said, voice low," |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 2 | | fancyTags | | 0 | "He corrected (correct)" | | 1 | "he agreed (agree)" |
| | dialogueSentences | 73 | | tagDensity | 0.082 | | leniency | 0.164 | | rawRatio | 0.333 | | effectiveRatio | 0.055 | |