| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 28 | | tagDensity | 0.321 | | leniency | 0.643 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 88.01% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 834 | | totalAiIsmAdverbs | 2 | | found | | | highlights | | |
| 100.00% | AI-ism character names | Target: 0 AI-default names (16 tracked, −20% each) | | codexExemptions | | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 52.04% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 834 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "flickered" | | 1 | "echoed" | | 2 | "unreadable" | | 3 | "weight" | | 4 | "whisper" | | 5 | "familiar" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "air was thick with" | | count | 1 |
|
| | highlights | | 0 | "the air was thick with" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 55 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 55 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 73 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 46 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 4 | | totalWords | 822 | | ratio | 0.005 | | matches | | 0 | "The Raven’s Nest" | | 1 | "clink" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 27 | | wordCount | 731 | | uniqueNames | 12 | | maxNameDensity | 1.37 | | worstName | "Silas" | | maxWindowNameDensity | 3 | | worstWindowName | "Rory" | | discoveredNames | | Raven | 1 | | Blackwood | 1 | | Carter | 1 | | Rory | 7 | | Soho | 1 | | Golden | 1 | | Empress | 1 | | Silas | 10 | | London | 1 | | Cardiff | 1 | | Evan | 1 | | Eva | 1 |
| | persons | | 0 | "Raven" | | 1 | "Blackwood" | | 2 | "Carter" | | 3 | "Rory" | | 4 | "Empress" | | 5 | "Silas" | | 6 | "Evan" | | 7 | "Eva" |
| | places | | 0 | "Soho" | | 1 | "London" | | 2 | "Cardiff" |
| | globalScore | 0.816 | | windowScore | 0.667 | |
| 30.95% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 42 | | glossingSentenceCount | 2 | | matches | | 0 | "quite amusement" | | 1 | "as if testing the word" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 822 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 73 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 31 | | mean | 26.52 | | std | 23.79 | | cv | 0.897 | | sampleLengths | | 0 | 56 | | 1 | 87 | | 2 | 17 | | 3 | 93 | | 4 | 15 | | 5 | 20 | | 6 | 9 | | 7 | 42 | | 8 | 11 | | 9 | 64 | | 10 | 28 | | 11 | 14 | | 12 | 13 | | 13 | 5 | | 14 | 13 | | 15 | 56 | | 16 | 11 | | 17 | 16 | | 18 | 21 | | 19 | 14 | | 20 | 13 | | 21 | 67 | | 22 | 13 | | 23 | 9 | | 24 | 2 | | 25 | 11 | | 26 | 19 | | 27 | 17 | | 28 | 25 | | 29 | 7 | | 30 | 34 |
| |
| 86.12% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 55 | | matches | | 0 | "was hidden" | | 1 | "was streaked" | | 2 | "was packed" | | 3 | "were lined" |
| |
| 84.06% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 115 | | matches | | 0 | "was, standing" | | 1 | "was trying" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 0 | | flaggedSentences | 5 | | totalSentences | 73 | | ratio | 0.068 | | matches | | 0 | "Aurora Carter—Rory, as she preferred—paused mid-stride, her fingers brushing the handle of her bag before she dropped it with a clatter." | | 1 | "But the bar’s green neon sign had been glowing for hours, and the scent of something sweet and spiced—perhaps the Golden Empress’s signature dish—drifted from the alleyway where Silas’s door was hidden behind a stack of old newspapers." | | 2 | "The way he moved—slow, deliberate—was a sharp contrast to the way she had once seen him: sharp, quick, always in motion." | | 3 | "She exhaled through her nose, the scent of her own perfume—something floral, something that had once been hers—mixing with the bar’s stale air." | | 4 | "The woman at the bar—Eva, Rory’s childhood friend—grinned at her." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 742 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 24 | | adverbRatio | 0.03234501347708895 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.004043126684636119 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 73 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 73 | | mean | 11.26 | | std | 9.46 | | cv | 0.84 | | sampleLengths | | 0 | 18 | | 1 | 38 | | 2 | 21 | | 3 | 24 | | 4 | 3 | | 5 | 1 | | 6 | 38 | | 7 | 17 | | 8 | 25 | | 9 | 21 | | 10 | 28 | | 11 | 19 | | 12 | 15 | | 13 | 8 | | 14 | 12 | | 15 | 6 | | 16 | 3 | | 17 | 16 | | 18 | 23 | | 19 | 3 | | 20 | 8 | | 21 | 3 | | 22 | 3 | | 23 | 15 | | 24 | 46 | | 25 | 18 | | 26 | 5 | | 27 | 5 | | 28 | 11 | | 29 | 3 | | 30 | 12 | | 31 | 1 | | 32 | 3 | | 33 | 2 | | 34 | 10 | | 35 | 3 | | 36 | 7 | | 37 | 18 | | 38 | 7 | | 39 | 24 | | 40 | 8 | | 41 | 3 | | 42 | 13 | | 43 | 3 | | 44 | 4 | | 45 | 10 | | 46 | 7 | | 47 | 8 | | 48 | 6 | | 49 | 11 |
| |
| 52.97% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.3424657534246575 | | totalSentences | 73 | | uniqueOpeners | 25 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 54 | | matches | | 0 | "Instead, she slid onto the" | | 1 | "Instead, he leaned forward, his" | | 2 | "Instead, she said," | | 3 | "Instead, she said," |
| | ratio | 0.074 | |
| 42.22% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 24 | | totalSentences | 54 | | matches | | 0 | "She was late." | | 1 | "She didn’t look back as" | | 2 | "His auburn hair was streaked" | | 3 | "he said without turning, his" | | 4 | "she lied, though the truth" | | 5 | "She had been running late" | | 6 | "She exhaled through her nose," | | 7 | "he repeated, as if testing" | | 8 | "She didn’t answer." | | 9 | "He didn’t offer her one." | | 10 | "She nodded, her fingers tightening" | | 11 | "he echoed, as if he’d" | | 12 | "She didn’t smile." | | 13 | "His voice was low, almost" | | 14 | "She had left London years" | | 15 | "She had thought she’d never" | | 16 | "He didn’t deny it." | | 17 | "She wanted to say it" | | 18 | "he said, and it was" | | 19 | "She was younger than Silas," |
| | ratio | 0.444 | |
| 24.81% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 47 | | totalSentences | 54 | | matches | | 0 | "The neon sign of *The" | | 1 | "Silas Blackwood’s bar was the" | | 2 | "Aurora Carter—Rory, as she preferred—paused" | | 3 | "The sound echoed off the" | | 4 | "She was late." | | 5 | "She didn’t look back as" | | 6 | "Silas stood at the bar," | | 7 | "The way he moved—slow, deliberate—was" | | 8 | "His auburn hair was streaked" | | 9 | "The silver signet ring on" | | 10 | "he said without turning, his" | | 11 | "she lied, though the truth" | | 12 | "She had been running late" | | 13 | "Silas finally turned, his expression" | | 14 | "The words hung between them," | | 15 | "She exhaled through her nose," | | 16 | "he repeated, as if testing" | | 17 | "She didn’t answer." | | 18 | "The bar was packed, the" | | 19 | "Silas poured a shot of" |
| | ratio | 0.87 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 54 | | matches | (empty) | | ratio | 0 | |
| 37.04% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 27 | | technicalSentenceCount | 4 | | matches | | 0 | "Silas Blackwood’s bar was the kind of place where secrets took root in the rafters, where the air smelled of stale gin and the hum of conversation was the only …" | | 1 | "She exhaled through her nose, the scent of her own perfume—something floral, something that had once been hers—mixing with the bar’s stale air." | | 2 | "The bar was packed, the kind of place where the walls were lined with maps and old photographs, where the air was thick with the scent of whiskey and the quiet …" | | 3 | "But here she was, standing in the same bar, the same city, as if the world had been waiting for her to show up." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 4 | | matches | | 0 | "she lied, though the truth was worse" | | 1 | "he repeated, as if testing the word" | | 2 | "he echoed, as if he’d been waiting for that" | | 3 | "he said, and the words were sharp, like a blade" |
| |
| 78.57% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 2 | | fancyTags | | 0 | "she lied (lie)" | | 1 | "he repeated (repeat)" |
| | dialogueSentences | 28 | | tagDensity | 0.25 | | leniency | 0.5 | | rawRatio | 0.286 | | effectiveRatio | 0.143 | |