| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 14 | | adverbTagCount | 1 | | adverbTags | | 0 | "Eva said quietly [quietly]" |
| | dialogueSentences | 32 | | tagDensity | 0.438 | | leniency | 0.875 | | rawRatio | 0.071 | | effectiveRatio | 0.063 | |
| 90.26% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1027 | | totalAiIsmAdverbs | 2 | | 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) | |
| 65.92% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1027 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "footsteps" | | 1 | "weight" | | 2 | "intensity" | | 3 | "determined" | | 4 | "stomach" | | 5 | "could feel" | | 6 | "scanned" |
| |
| 33.33% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 3 | | maxInWindow | 3 | | found | | 0 | | label | "stomach dropped/sank" | | count | 1 |
| | 1 | | label | "clenched jaw/fists" | | count | 1 |
| | 2 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | 0 | "stomach dropped" | | 1 | "clenched into fists" | | 2 | "hung in the air" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 63 | | matches | | |
| 97.51% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 63 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 81 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 34 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1017 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 16.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 43 | | wordCount | 806 | | uniqueNames | 11 | | maxNameDensity | 2.11 | | worstName | "Eva" | | maxWindowNameDensity | 4.5 | | worstWindowName | "Eva" | | discoveredNames | | Eva | 17 | | Golden | 1 | | Empress | 1 | | Ptolemy | 2 | | Rory | 13 | | Moreau | 1 | | Evan | 1 | | Victoria | 1 | | Station | 1 | | Marseille | 1 | | Lucien | 4 |
| | persons | | 0 | "Eva" | | 1 | "Ptolemy" | | 2 | "Rory" | | 3 | "Moreau" | | 4 | "Evan" | | 5 | "Victoria" | | 6 | "Lucien" |
| | places | | | globalScore | 0.445 | | windowScore | 0.167 | |
| 36.36% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 44 | | glossingSentenceCount | 2 | | matches | | 0 | "or scared or, apparently, both simultaneousl" | | 1 | "looked like genuine interest" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1017 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 81 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 40 | | mean | 25.43 | | std | 24.06 | | cv | 0.946 | | sampleLengths | | 0 | 64 | | 1 | 10 | | 2 | 36 | | 3 | 18 | | 4 | 84 | | 5 | 10 | | 6 | 60 | | 7 | 5 | | 8 | 5 | | 9 | 77 | | 10 | 46 | | 11 | 25 | | 12 | 27 | | 13 | 8 | | 14 | 6 | | 15 | 27 | | 16 | 18 | | 17 | 11 | | 18 | 4 | | 19 | 72 | | 20 | 17 | | 21 | 7 | | 22 | 1 | | 23 | 3 | | 24 | 3 | | 25 | 8 | | 26 | 69 | | 27 | 13 | | 28 | 4 | | 29 | 33 | | 30 | 5 | | 31 | 59 | | 32 | 7 | | 33 | 9 | | 34 | 36 | | 35 | 59 | | 36 | 24 | | 37 | 3 | | 38 | 29 | | 39 | 15 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 63 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 141 | | matches | | 0 | "was reading" | | 1 | "was remembering" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 81 | | ratio | 0.074 | | matches | | 0 | "Rory shifted the stack of takeaway containers she held—some leftover dim sum from the Golden Empress, a peace offering of sorts because she hadn't managed to visit in six weeks." | | 1 | "Behind her, the flat sprawled exactly as Rory remembered—every surface drowning under the weight of research, notes pinned to the walls in no particular order, scrolls unfurled and weighted down with coffee mugs." | | 2 | "Rory stepped inside and closed the door behind her, engaging the locks in reverse order—habit from staying here so many nights." | | 3 | "Eva asked questions the way other people made statements—not really expecting responses so much as thinking out loud." | | 4 | "The information broker from the supernatural underworld who'd helped her find the evidence against Evan—and who'd nearly gotten her killed in the process." | | 5 | "Lucien set his cane against the wall beside the door—a gesture of disarming that somehow made him more dangerous, not less." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 815 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 32 | | adverbRatio | 0.0392638036809816 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.012269938650306749 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 81 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 81 | | mean | 12.56 | | std | 8.66 | | cv | 0.69 | | sampleLengths | | 0 | 16 | | 1 | 2 | | 2 | 16 | | 3 | 30 | | 4 | 10 | | 5 | 17 | | 6 | 19 | | 7 | 18 | | 8 | 25 | | 9 | 26 | | 10 | 33 | | 11 | 10 | | 12 | 21 | | 13 | 17 | | 14 | 22 | | 15 | 5 | | 16 | 5 | | 17 | 30 | | 18 | 9 | | 19 | 18 | | 20 | 20 | | 21 | 12 | | 22 | 15 | | 23 | 19 | | 24 | 25 | | 25 | 5 | | 26 | 15 | | 27 | 7 | | 28 | 8 | | 29 | 6 | | 30 | 3 | | 31 | 3 | | 32 | 13 | | 33 | 4 | | 34 | 4 | | 35 | 17 | | 36 | 1 | | 37 | 11 | | 38 | 4 | | 39 | 12 | | 40 | 33 | | 41 | 2 | | 42 | 2 | | 43 | 23 | | 44 | 17 | | 45 | 7 | | 46 | 1 | | 47 | 3 | | 48 | 3 | | 49 | 8 |
| |
| 74.49% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.4691358024691358 | | totalSentences | 81 | | uniqueOpeners | 38 | |
| 60.61% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 55 | | matches | | 0 | "More like he was remembering" |
| | ratio | 0.018 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 12 | | totalSentences | 55 | | matches | | 0 | "She unhooked the chain and" | | 1 | "Her hair stood at odd" | | 2 | "She didn't wait for an" | | 3 | "She scratched behind his ears," | | 4 | "She unhooked the chain and" | | 5 | "He wore that charcoal suit" | | 6 | "His tie was midnight blue," | | 7 | "He stepped inside without invitation," | | 8 | "He glanced at Eva, then" | | 9 | "She could feel the crescent-shaped" | | 10 | "His eyes scanned Eva's collected" | | 11 | "He withdrew a folded piece" |
| | ratio | 0.218 | |
| 14.55% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 49 | | totalSentences | 55 | | matches | | 0 | "Aurora's fingers found the deadbolt" | | 1 | "Eva had always been paranoid" | | 2 | "Rory shifted the stack of" | | 3 | "The door swung open and" | | 4 | "Eva's voice carried that particular" | | 5 | "She unhooked the chain and" | | 6 | "Rory said, holding up the" | | 7 | "Eva wore one of her" | | 8 | "Her hair stood at odd" | | 9 | "Rory stepped inside and closed" | | 10 | "The flat smelled of old" | | 11 | "Eva took the containers and" | | 12 | "Eva unpacked the containers with" | | 13 | "She didn't wait for an" | | 14 | "Eva asked questions the way" | | 15 | "Rory sank onto the worn" | | 16 | "Ptolemy immediately claimed the space" | | 17 | "She scratched behind his ears," | | 18 | "Eva continued from the kitchen" | | 19 | "That pulled Rory's attention up." |
| | ratio | 0.891 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 55 | | matches | (empty) | | ratio | 0 | |
| 31.25% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 32 | | technicalSentenceCount | 5 | | matches | | 0 | "Eva wore one of her reading cardigans, the brown one with mismatched buttons that hung off her frame like she'd borrowed it from someone larger." | | 1 | "Her hair stood at odd angles, the kind of chaos that meant she'd been running her hands through it while poring over one of her books." | | 2 | "The hallway beyond the fish-eye lens showed a figure in a charcoal suit, platinum blond hair slicked back from a face that hadn't changed in the six months sinc…" | | 3 | "The information broker from the supernatural underworld who'd helped her find the evidence against Evan—and who'd nearly gotten her killed in the process." | | 4 | "Lucien moved deeper into the flat with the kind of casual certainty that made it clear he'd been here before." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 14 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 87.50% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 2 | | fancyTags | | 0 | "Eva continued (continue)" | | 1 | "he agreed (agree)" |
| | dialogueSentences | 32 | | tagDensity | 0.25 | | leniency | 0.5 | | rawRatio | 0.25 | | effectiveRatio | 0.125 | |