| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 14 | | adverbTagCount | 1 | | adverbTags | | 0 | "he said quietly [quietly]" |
| | dialogueSentences | 33 | | tagDensity | 0.424 | | leniency | 0.848 | | rawRatio | 0.071 | | effectiveRatio | 0.061 | |
| 92.93% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1414 | | 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) | |
| 71.71% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1414 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "pulse" | | 1 | "footsteps" | | 2 | "dance" | | 3 | "tension" | | 4 | "flicker" | | 5 | "silence" |
| |
| 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 | 65 | | matches | (empty) | |
| 98.90% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 65 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 84 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 55 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1405 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 37 | | wordCount | 1129 | | uniqueNames | 14 | | maxNameDensity | 0.71 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Lucien" | | discoveredNames | | Rory | 8 | | Moreau | 2 | | Roman | 1 | | London | 2 | | Eva | 5 | | French | 1 | | Carter | 2 | | Lucien | 6 | | Aurora | 2 | | Brick | 1 | | Lane | 1 | | Ptolemy | 4 | | Cardiff | 1 | | Evan | 1 |
| | persons | | 0 | "Rory" | | 1 | "Moreau" | | 2 | "Roman" | | 3 | "Eva" | | 4 | "Carter" | | 5 | "Lucien" | | 6 | "Ptolemy" | | 7 | "Evan" |
| | places | | 0 | "London" | | 1 | "Brick" | | 2 | "Lane" | | 3 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 38.89% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 45 | | glossingSentenceCount | 2 | | matches | | 0 | "void that seemed to swallow light" | | 1 | "not quite relaxed" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1405 | | matches | (empty) | |
| 87.30% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 84 | | matches | | 0 | "hated that she" | | 1 | "knew, that part" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 41 | | mean | 34.27 | | std | 26.45 | | cv | 0.772 | | sampleLengths | | 0 | 60 | | 1 | 43 | | 2 | 6 | | 3 | 62 | | 4 | 9 | | 5 | 36 | | 6 | 82 | | 7 | 36 | | 8 | 35 | | 9 | 42 | | 10 | 5 | | 11 | 4 | | 12 | 102 | | 13 | 42 | | 14 | 16 | | 15 | 52 | | 16 | 41 | | 17 | 2 | | 18 | 41 | | 19 | 7 | | 20 | 1 | | 21 | 70 | | 22 | 11 | | 23 | 83 | | 24 | 50 | | 25 | 7 | | 26 | 8 | | 27 | 36 | | 28 | 50 | | 29 | 46 | | 30 | 41 | | 31 | 59 | | 32 | 84 | | 33 | 4 | | 34 | 5 | | 35 | 27 | | 36 | 40 | | 37 | 4 | | 38 | 33 | | 39 | 3 | | 40 | 20 |
| |
| 78.27% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 65 | | matches | | 0 | "been fed" | | 1 | "was, threaded" | | 2 | "was slicked" | | 3 | "being addressed" | | 4 | "was gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 190 | | matches | | 0 | "was screaming" | | 1 | "were shaking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 84 | | ratio | 0.083 | | matches | | 0 | "He was leaning against the wall beneath the framed map of Roman London that Eva had bought at a flea market three years ago, his ivory-handled cane tucked under one arm, watching her with those mismatched eyes—one amber, one black—as if he'd been waiting for her for some time." | | 1 | "His suit was immaculate, as always—the cut so precise it had to be bespoke, the fabric absorbing the flat's dim light like something alive." | | 2 | "But Lucien had always said it differently—Rory, like it was something worth holding, something he wanted to taste on his tongue." | | 3 | "Entire monologues about trust and abandonment and how you don't get to tell someone you care about them and then vanish into the supernatural underground for months without a word, not even a message, not even a—" | | 4 | "\"I know.\" Lucien set his cane against the arm of Eva's worn sofa and moved closer, and she could smell him now—cedar and something darker underneath, something that reminded her of the ozone before a storm." | | 5 | "But there was another part of her, the part that had trusted him once, that had sat across from him in a dimly lit bar and felt seen for the first time in years, the part that had almost—almost—let herself want something she couldn't afford to want." | | 6 | "Something shifted in his expression—a shadow, a flicker, the briefest tightening around his eyes that told her she'd hit closer to the mark than he'd expected." |
| |
| 89.19% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1146 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 60 | | adverbRatio | 0.05235602094240838 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.008726003490401396 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 84 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 84 | | mean | 16.73 | | std | 13.33 | | cv | 0.797 | | sampleLengths | | 0 | 19 | | 1 | 11 | | 2 | 30 | | 3 | 5 | | 4 | 3 | | 5 | 35 | | 6 | 6 | | 7 | 49 | | 8 | 13 | | 9 | 9 | | 10 | 23 | | 11 | 13 | | 12 | 31 | | 13 | 16 | | 14 | 1 | | 15 | 7 | | 16 | 3 | | 17 | 24 | | 18 | 25 | | 19 | 11 | | 20 | 5 | | 21 | 4 | | 22 | 26 | | 23 | 28 | | 24 | 14 | | 25 | 5 | | 26 | 4 | | 27 | 43 | | 28 | 24 | | 29 | 35 | | 30 | 3 | | 31 | 17 | | 32 | 22 | | 33 | 16 | | 34 | 31 | | 35 | 16 | | 36 | 5 | | 37 | 27 | | 38 | 14 | | 39 | 2 | | 40 | 33 | | 41 | 8 | | 42 | 7 | | 43 | 1 | | 44 | 9 | | 45 | 6 | | 46 | 7 | | 47 | 27 | | 48 | 21 | | 49 | 11 |
| |
| 84.92% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.5238095238095238 | | totalSentences | 84 | | uniqueOpeners | 44 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 58 | | matches | | 0 | "Instead, she busied herself shoving" | | 1 | "Then it was gone, smoothed" |
| | ratio | 0.034 | |
| 54.48% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 24 | | totalSentences | 58 | | matches | | 0 | "She shouldered the door open," | | 1 | "He was leaning against the" | | 2 | "His voice was exactly as" | | 3 | "She kept her face neutral," | | 4 | "She'd built the reputation carefully," | | 5 | "She walked past him into" | | 6 | "She didn't turn around." | | 7 | "She could hear the smile" | | 8 | "She turned then, because she" | | 9 | "His suit was immaculate, as" | | 10 | "She crossed her arms, then" | | 11 | "Her left wrist pressed against" | | 12 | "He said it without hesitation," | | 13 | "Her parents, when they still" | | 14 | "She hated that she still" | | 15 | "She'd had speeches." | | 16 | "She let a sharp edge" | | 17 | "He stopped a few feet" | | 18 | "His mismatched eyes held hers" | | 19 | "His jaw tightened." |
| | ratio | 0.414 | |
| 54.83% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 47 | | totalSentences | 58 | | matches | | 0 | "The third deadbolt stuck, as" | | 1 | "Ptolemy wound between her ankles," | | 2 | "The cat had been fed" | | 3 | "The bolt gave." | | 4 | "She shouldered the door open," | | 5 | "Lucien Moreau stood in her" | | 6 | "He was leaning against the" | | 7 | "His voice was exactly as" | | 8 | "Rory dropped her keys on" | | 9 | "She kept her face neutral," | | 10 | "That was what people said" | | 11 | "Aurora Carter, unflappable." | | 12 | "She'd built the reputation carefully," | | 13 | "She walked past him into" | | 14 | "Ptolemy, traitor that he was," | | 15 | "She didn't turn around." | | 16 | "She could hear the smile" | | 17 | "She turned then, because she" | | 18 | "His suit was immaculate, as" | | 19 | "The platinum blond of his" |
| | ratio | 0.81 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 58 | | matches | (empty) | | ratio | 0 | |
| 56.28% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 33 | | technicalSentenceCount | 4 | | matches | | 0 | "She shouldered the door open, already thinking about the cold leftover chow mein in her fridge and the bottle of wine she'd opened last night that might still b…" | | 1 | "He was leaning against the wall beneath the framed map of Roman London that Eva had bought at a flea market three years ago, his ivory-handled cane tucked under…" | | 2 | "Every sensible part of her brain, the part that had gotten her out of Cardiff and away from Evan, the part that kept her alive in a city where humans were prey …" | | 3 | "Something shifted in his expression—a shadow, a flicker, the briefest tightening around his eyes that told her she'd hit closer to the mark than he'd expected." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 14 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 33 | | tagDensity | 0.182 | | leniency | 0.364 | | rawRatio | 0.167 | | effectiveRatio | 0.061 | |