| 85.71% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 10 | | adverbTagCount | 2 | | adverbTags | | 0 | "she said flatly [flatly]" | | 1 | "Herrera said suddenly [suddenly]" |
| | dialogueSentences | 35 | | tagDensity | 0.286 | | leniency | 0.571 | | rawRatio | 0.2 | | effectiveRatio | 0.114 | |
| 79.95% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1247 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "very" | | 1 | "slightly" | | 2 | "suddenly" | | 3 | "slowly" | | 4 | "really" |
| |
| 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) | |
| 79.95% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1247 | | totalAiIsms | 5 | | found | | | highlights | | 0 | "scanned" | | 1 | "could feel" | | 2 | "weight" | | 3 | "palpable" | | 4 | "racing" |
| |
| 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 | 1 | | narrationSentences | 65 | | matches | | |
| 54.95% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | 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 | 89 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 42 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1241 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 60.18% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 45 | | wordCount | 835 | | uniqueNames | 14 | | maxNameDensity | 1.8 | | worstName | "Quinn" | | maxWindowNameDensity | 3 | | worstWindowName | "Quinn" | | discoveredNames | | Soho | 2 | | Harlow | 1 | | Quinn | 15 | | Leicester | 1 | | Square | 1 | | Raven | 1 | | Nest | 1 | | Herrera | 12 | | Seville | 1 | | Saint | 2 | | Christopher | 2 | | Tube | 1 | | Camden | 2 | | Morris | 3 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Herrera" | | 3 | "Saint" | | 4 | "Christopher" | | 5 | "Morris" |
| | places | | 0 | "Soho" | | 1 | "Leicester" | | 2 | "Raven" | | 3 | "Seville" |
| | globalScore | 0.602 | | windowScore | 0.667 | |
| 97.92% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 48 | | glossingSentenceCount | 1 | | matches | | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1241 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 89 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 40 | | mean | 31.03 | | std | 17.94 | | cv | 0.578 | | sampleLengths | | 0 | 62 | | 1 | 56 | | 2 | 54 | | 3 | 53 | | 4 | 24 | | 5 | 39 | | 6 | 19 | | 7 | 43 | | 8 | 28 | | 9 | 26 | | 10 | 56 | | 11 | 12 | | 12 | 17 | | 13 | 19 | | 14 | 1 | | 15 | 31 | | 16 | 7 | | 17 | 36 | | 18 | 39 | | 19 | 28 | | 20 | 14 | | 21 | 42 | | 22 | 54 | | 23 | 8 | | 24 | 23 | | 25 | 14 | | 26 | 35 | | 27 | 51 | | 28 | 10 | | 29 | 10 | | 30 | 35 | | 31 | 24 | | 32 | 43 | | 33 | 9 | | 34 | 9 | | 35 | 32 | | 36 | 61 | | 37 | 52 | | 38 | 7 | | 39 | 58 |
| |
| 99.87% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 65 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 150 | | matches | | 0 | "was proving" | | 1 | "was walking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 5 | | totalSentences | 89 | | ratio | 0.056 | | matches | | 0 | "And the beggar's eyes—those eyes had held something that made her skin crawl, something that wasn't entirely human." | | 1 | "She spotted him at a corner table, nursing a drink that caught the light oddly—too red, too thick." | | 2 | "The scar on his forearm, the medallion around his neck, the way he carried himself—all spoke of a man who'd made difficult choices and lived with the consequences." | | 3 | "Everything she'd investigated over the past three years—the disappearances, the deaths that didn't make sense, the witnesses who'd recanted their statements because they'd seen things that couldn't exist—all of it pointed to something larger than she'd been willing to admit." | | 4 | "The supernatural origins of Morris's death weren't just a theory anymore—they were a doorway, and she was walking through it." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 843 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 26 | | adverbRatio | 0.03084223013048636 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.011862396204033215 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 89 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 89 | | mean | 13.94 | | std | 9.22 | | cv | 0.661 | | sampleLengths | | 0 | 17 | | 1 | 24 | | 2 | 21 | | 3 | 30 | | 4 | 8 | | 5 | 18 | | 6 | 23 | | 7 | 12 | | 8 | 19 | | 9 | 17 | | 10 | 18 | | 11 | 18 | | 12 | 20 | | 13 | 4 | | 14 | 9 | | 15 | 16 | | 16 | 2 | | 17 | 2 | | 18 | 10 | | 19 | 14 | | 20 | 5 | | 21 | 9 | | 22 | 34 | | 23 | 19 | | 24 | 9 | | 25 | 9 | | 26 | 17 | | 27 | 7 | | 28 | 23 | | 29 | 13 | | 30 | 3 | | 31 | 2 | | 32 | 3 | | 33 | 5 | | 34 | 5 | | 35 | 7 | | 36 | 17 | | 37 | 11 | | 38 | 8 | | 39 | 1 | | 40 | 17 | | 41 | 14 | | 42 | 3 | | 43 | 4 | | 44 | 6 | | 45 | 30 | | 46 | 10 | | 47 | 7 | | 48 | 22 | | 49 | 13 |
| |
| 70.04% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.4606741573033708 | | totalSentences | 89 | | uniqueOpeners | 41 | |
| 56.50% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 59 | | matches | | 0 | "Currently, it was said to" |
| | ratio | 0.017 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 11 | | totalSentences | 59 | | matches | | 0 | "She'd been tracking the man" | | 1 | "She pushed through the door," | | 2 | "She spotted him at a" | | 3 | "she said, approaching with the" | | 4 | "She recognized those warm brown" | | 5 | "he said, his voice carrying" | | 6 | "she said flatly" | | 7 | "His eyes were intense" | | 8 | "She studied his face, looking" | | 9 | "She stood, adjusting her coat." | | 10 | "She followed Herrera toward the" |
| | ratio | 0.186 | |
| 53.22% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 48 | | totalSentences | 59 | | matches | | 0 | "The rain had turned the" | | 1 | "Detective Harlow Quinn pulled her" | | 2 | "She'd been tracking the man" | | 3 | "The transaction had been too" | | 4 | "The suspect had vanished into" | | 5 | "Quinn followed, her military precision" | | 6 | "She pushed through the door," | | 7 | "The walls were covered with" | | 8 | "Patrons hunched over their drinks," | | 9 | "She spotted him at a" | | 10 | "she said, approaching with the" | | 11 | "The man looked up, and" | | 12 | "She recognized those warm brown" | | 13 | "he said, his voice carrying" | | 14 | "Quinn slid into the chair" | | 15 | "Herrera's fingers drummed against the" | | 16 | "she said flatly" | | 17 | "The name hit like a" | | 18 | "Quinn had heard whispers about" | | 19 | "Information that could topple governments." |
| | ratio | 0.814 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 59 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 34 | | technicalSentenceCount | 7 | | matches | | 0 | "And the beggar's eyes—those eyes had held something that made her skin crawl, something that wasn't entirely human." | | 1 | "Patrons hunched over their drinks, speaking in hushed tones that carried undercurrents of something she couldn't quite place." | | 2 | "The scar on his forearm, the medallion around his neck, the way he carried himself—all spoke of a man who'd made difficult choices and lived with the consequenc…" | | 3 | "Everything she'd investigated over the past three years—the disappearances, the deaths that didn't make sense, the witnesses who'd recanted their statements bec…" | | 4 | "But she could also feel Morris's voice in her ear, telling her to keep digging, to follow the evidence wherever it led." | | 5 | "The false back swung inward, revealing a narrow staircase that descended into darkness." | | 6 | "The air that rose from it carried scents of ozone and old stone, of things that shouldn't exist and people who'd learned to survive anyway." |
| |
| 25.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 10 | | uselessAdditionCount | 2 | | matches | | 0 | "he said, his voice carrying the accent of Seville" | | 1 | "Herrera said suddenly, his tone shifting" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 1 | | fancyTags | | 0 | "Herrera continued (continue)" |
| | dialogueSentences | 35 | | tagDensity | 0.229 | | leniency | 0.457 | | rawRatio | 0.125 | | effectiveRatio | 0.057 | |