| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 1 | | adverbTags | | 0 | "he said quietly [quietly]" |
| | dialogueSentences | 41 | | tagDensity | 0.22 | | leniency | 0.439 | | rawRatio | 0.111 | | effectiveRatio | 0.049 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 934 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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.23% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 934 | | totalAiIsms | 5 | | found | | | highlights | | 0 | "unreadable" | | 1 | "weight" | | 2 | "flickered" | | 3 | "coded" | | 4 | "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 | 56 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 56 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 88 | | 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 | 1 | | markdownWords | 1 | | totalWords | 928 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 13 | | unquotedAttributions | 1 | | matches | | 0 | "A car accident, they said." |
| |
| 98.19% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 24 | | wordCount | 579 | | uniqueNames | 10 | | maxNameDensity | 1.04 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 6 | | Brick | 2 | | Lane | 2 | | Moreau | 1 | | Marseille | 1 | | Ptolemy | 2 | | Lucien | 5 | | Brendan | 1 | | Carter | 1 | | Eva | 3 |
| | persons | | 0 | "Rory" | | 1 | "Moreau" | | 2 | "Ptolemy" | | 3 | "Lucien" | | 4 | "Brendan" | | 5 | "Carter" | | 6 | "Eva" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "Marseille" |
| | globalScore | 0.982 | | windowScore | 1 | |
| 84.21% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 38 | | glossingSentenceCount | 1 | | matches | | 0 | "looked like he'd come straight from where" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 928 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 88 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 45 | | mean | 20.62 | | std | 14.69 | | cv | 0.712 | | sampleLengths | | 0 | 23 | | 1 | 55 | | 2 | 1 | | 3 | 15 | | 4 | 20 | | 5 | 4 | | 6 | 1 | | 7 | 30 | | 8 | 15 | | 9 | 19 | | 10 | 37 | | 11 | 8 | | 12 | 16 | | 13 | 46 | | 14 | 4 | | 15 | 3 | | 16 | 4 | | 17 | 23 | | 18 | 25 | | 19 | 5 | | 20 | 44 | | 21 | 6 | | 22 | 19 | | 23 | 32 | | 24 | 2 | | 25 | 35 | | 26 | 19 | | 27 | 1 | | 28 | 49 | | 29 | 13 | | 30 | 31 | | 31 | 10 | | 32 | 34 | | 33 | 29 | | 34 | 25 | | 35 | 29 | | 36 | 32 | | 37 | 2 | | 38 | 14 | | 39 | 11 | | 40 | 34 | | 41 | 50 | | 42 | 28 | | 43 | 14 | | 44 | 11 |
| |
| 99.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 56 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 97 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 5 | | totalSentences | 88 | | ratio | 0.057 | | matches | | 0 | "His amber eye—the human one—held her gaze while the black one remained unreadable, a polished obsidian bead in the dim hall light." | | 1 | "He looked past her into the flat—the chaos of scrolls pinned to the walls, the chalk diagrams on the hardwood floor, the overflowing ashtray on the windowsill." | | 2 | "His gaze dropped to her wrist—to the small crescent scar peeking out from under her rolled-up shirtsleeve." | | 3 | "\"Vauquelin had eyes on you from the moment you started asking questions about your father's death.\" His voice stayed even, but something flickered in his amber eye—a fracture in his composure she'd only seen once before." | | 4 | "She studied him—the sharp cut of his jaw, the way his fingers curled around the cane handle, the rain still dripping from his collar." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 587 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 15 | | adverbRatio | 0.02555366269165247 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.005110732538330494 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 88 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 88 | | mean | 10.55 | | std | 7.26 | | cv | 0.688 | | sampleLengths | | 0 | 14 | | 1 | 2 | | 2 | 7 | | 3 | 20 | | 4 | 23 | | 5 | 12 | | 6 | 1 | | 7 | 12 | | 8 | 3 | | 9 | 14 | | 10 | 6 | | 11 | 4 | | 12 | 1 | | 13 | 3 | | 14 | 22 | | 15 | 5 | | 16 | 12 | | 17 | 3 | | 18 | 13 | | 19 | 4 | | 20 | 2 | | 21 | 3 | | 22 | 4 | | 23 | 14 | | 24 | 16 | | 25 | 8 | | 26 | 12 | | 27 | 4 | | 28 | 27 | | 29 | 19 | | 30 | 4 | | 31 | 3 | | 32 | 4 | | 33 | 7 | | 34 | 16 | | 35 | 3 | | 36 | 16 | | 37 | 6 | | 38 | 5 | | 39 | 18 | | 40 | 17 | | 41 | 9 | | 42 | 2 | | 43 | 4 | | 44 | 7 | | 45 | 12 | | 46 | 12 | | 47 | 20 | | 48 | 2 | | 49 | 13 |
| |
| 62.12% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.38636363636363635 | | totalSentences | 88 | | uniqueOpeners | 34 | |
| 62.89% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 53 | | matches | | 0 | "Of course he remembered." |
| | ratio | 0.019 | |
| 38.87% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 24 | | totalSentences | 53 | | matches | | 0 | "She pulled the door open" | | 1 | "Her name in that Marseille" | | 2 | "She hated that." | | 3 | "She kept her voice flat" | | 4 | "He didn't flinch." | | 5 | "His amber eye—the human one—held" | | 6 | "She shifted her weight, blocking" | | 7 | "She'd learned to read those" | | 8 | "She crossed her arms" | | 9 | "He looked past her into" | | 10 | "His gaze dropped to her" | | 11 | "She pulled her arm back," | | 12 | "he said quietly" | | 13 | "Her breath caught, but she" | | 14 | "Her voice dropped, low and" | | 15 | "His voice stayed even, but" | | 16 | "He moved forward, and the" | | 17 | "He smiled, but it was" | | 18 | "She didn't step aside, but" | | 19 | "She'd been ten when Brendan" |
| | ratio | 0.453 | |
| 7.17% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 48 | | totalSentences | 53 | | matches | | 0 | "The deadbolt scraped against brass" | | 1 | "Eva's paranoia had rubbed off" | | 2 | "She pulled the door open" | | 3 | "Lucien Moreau stood on the" | | 4 | "Rain clung to his platinum" | | 5 | "Her name in that Marseille" | | 6 | "She hated that." | | 7 | "She kept her voice flat" | | 8 | "He didn't flinch." | | 9 | "His amber eye—the human one—held" | | 10 | "She shifted her weight, blocking" | | 11 | "The cat hated strangers." | | 12 | "Lucien's jaw tightened." | | 13 | "A micro-movement, barely there." | | 14 | "She'd learned to read those" | | 15 | "The way his knuckles whitened" | | 16 | "She crossed her arms" | | 17 | "He looked past her into" | | 18 | "Eva's research had expanded since" | | 19 | "Rory laughed, the sound hollow" |
| | ratio | 0.906 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 53 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 26 | | technicalSentenceCount | 1 | | matches | | 0 | "Eva's cat liked everyone who smelled of secrets and foreign places." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 41 | | tagDensity | 0.049 | | leniency | 0.098 | | rawRatio | 0 | | effectiveRatio | 0 | |