| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 44 | | tagDensity | 0.455 | | leniency | 0.909 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 90.34% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1552 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "suddenly" | | 1 | "really" | | 2 | "very" |
| |
| 80.00% | AI-ism character names | Target: 0 AI-default names (16 tracked, −20% each) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 77.45% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1552 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "warmth" | | 1 | "stomach" | | 2 | "eyebrow" | | 3 | "flicked" | | 4 | "weight" | | 5 | "firmly" |
| |
| 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 | 88 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 88 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 112 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 45 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1535 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 33.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 55 | | wordCount | 1059 | | uniqueNames | 12 | | maxNameDensity | 1.89 | | worstName | "Rory" | | maxWindowNameDensity | 4 | | worstWindowName | "Laila" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Soho | 1 | | Golden | 1 | | Empress | 1 | | Silas | 8 | | Rory | 20 | | French | 2 | | Haddad | 1 | | Laila | 15 | | Evan | 3 | | London | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Silas" | | 3 | "Rory" | | 4 | "Haddad" | | 5 | "Laila" | | 6 | "Evan" |
| | places | | | globalScore | 0.556 | | windowScore | 0.333 | |
| 73.08% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 65 | | glossingSentenceCount | 2 | | matches | | 0 | "not quite a smile" | | 1 | "looked like" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.651 | | wordCount | 1535 | | matches | | 0 | "not much, but the door locks" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 112 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 47 | | mean | 32.66 | | std | 24.82 | | cv | 0.76 | | sampleLengths | | 0 | 70 | | 1 | 48 | | 2 | 17 | | 3 | 25 | | 4 | 40 | | 5 | 18 | | 6 | 40 | | 7 | 26 | | 8 | 73 | | 9 | 1 | | 10 | 56 | | 11 | 8 | | 12 | 77 | | 13 | 35 | | 14 | 44 | | 15 | 16 | | 16 | 9 | | 17 | 2 | | 18 | 67 | | 19 | 49 | | 20 | 7 | | 21 | 50 | | 22 | 47 | | 23 | 6 | | 24 | 49 | | 25 | 10 | | 26 | 51 | | 27 | 2 | | 28 | 80 | | 29 | 63 | | 30 | 14 | | 31 | 2 | | 32 | 44 | | 33 | 47 | | 34 | 35 | | 35 | 15 | | 36 | 9 | | 37 | 96 | | 38 | 14 | | 39 | 10 | | 40 | 1 | | 41 | 51 | | 42 | 24 | | 43 | 7 | | 44 | 14 | | 45 | 51 | | 46 | 15 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 88 | | matches | | |
| 55.86% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 185 | | matches | | 0 | "were waiting" | | 1 | "was trying" | | 2 | "was still taking" | | 3 | "was wiping" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 17 | | semicolonCount | 0 | | flaggedSentences | 14 | | totalSentences | 112 | | ratio | 0.125 | | matches | | 0 | "Inside, the bar breathed its usual low hum—ice against glass, the murmur of conversations held in booths too dark for the streetlamps to reach." | | 1 | "Silas grunted and set the glass down, but his eyes had already moved past her to something—someone—near the back of the room." | | 2 | "She walked toward the corner booth past tables occupied by the usual crowd—a couple arguing in hushed French, a man in a trench coat reading a paperback, two students who’d been there since six arguing about a professor." | | 3 | "The woman sat with her back to the room, but the way she held her shoulders, the particular angle of her neck as she stared into her glass—Rory’s feet slowed before her mind caught up." | | 4 | "The woman turned, and the years collapsed and stretched simultaneously—a disorienting pull like a tide receding too fast." | | 5 | "Her hair—once a cascade of black curls that she’d toss over her shoulder with theatrical impatience—hung limp and unwashed, pulled back with a frayed elastic." | | 6 | "A small scar split Laila’s right eyebrow—new, not yet faded to silver." | | 7 | "Laila’s mouth twitched—not quite a smile." | | 8 | "“Malphora, last month. I don’t know why I picked it. It sounded like something from a story my grandmother used to tell.” Laila finally looked up, and her eyes—still the same deep brown, still capable of holding entire conversations without words—locked onto Rory’s." | | 9 | "She remembered those months after London—the sleeplessness, the way every slammed door or raised voice sent her heart into her throat." | | 10 | "It wasn’t dramatic—no sobs, no breaking down." | | 11 | "Rory looked at her old friend—at the scar splitting her eyebrow, the bruised knuckles, the jumper that hung off shoulders that used to carry confidence like a crown." | | 12 | "The expression on her face was something Rory recognized—the look of someone who’d forgotten what being caught looked like." | | 13 | "Her grip was bony, cold, but it held on longer than necessary—a tether rather than a handshake." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1081 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 33 | | adverbRatio | 0.030527289546716005 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.0064754856614246065 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 112 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 112 | | mean | 13.71 | | std | 10.09 | | cv | 0.737 | | sampleLengths | | 0 | 21 | | 1 | 24 | | 2 | 25 | | 3 | 26 | | 4 | 7 | | 5 | 15 | | 6 | 15 | | 7 | 2 | | 8 | 17 | | 9 | 8 | | 10 | 22 | | 11 | 18 | | 12 | 10 | | 13 | 4 | | 14 | 4 | | 15 | 18 | | 16 | 22 | | 17 | 12 | | 18 | 13 | | 19 | 1 | | 20 | 38 | | 21 | 35 | | 22 | 1 | | 23 | 18 | | 24 | 6 | | 25 | 9 | | 26 | 5 | | 27 | 4 | | 28 | 14 | | 29 | 8 | | 30 | 8 | | 31 | 18 | | 32 | 25 | | 33 | 26 | | 34 | 16 | | 35 | 19 | | 36 | 6 | | 37 | 5 | | 38 | 8 | | 39 | 12 | | 40 | 13 | | 41 | 4 | | 42 | 12 | | 43 | 6 | | 44 | 3 | | 45 | 2 | | 46 | 18 | | 47 | 7 | | 48 | 42 | | 49 | 17 |
| |
| 61.61% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.4017857142857143 | | totalSentences | 112 | | uniqueOpeners | 45 | |
| 43.86% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 76 | | matches | | 0 | "Just a tightening around her" |
| | ratio | 0.013 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 76 | | matches | | 0 | "She’d stopped bothering to change" | | 1 | "She set the package on" | | 2 | "She didn’t turn around." | | 3 | "She walked toward the corner" | | 4 | "She’d worn her beauty like" | | 5 | "Her cheekbones jutted where softness" | | 6 | "Her hair—once a cascade of" | | 7 | "She wore a grey jumper" | | 8 | "He’d positioned himself within hearing" | | 9 | "She brushed the remnants into" | | 10 | "Her voice had gone flat," | | 11 | "She remembered those months after" | | 12 | "It wasn’t dramatic—no sobs, no" | | 13 | "She pressed her palm flat" | | 14 | "She saw the girl who’d" | | 15 | "She saw what three years" | | 16 | "It wasn’t a question." | | 17 | "She slid out of the" | | 18 | "Her grip was bony, cold," |
| | ratio | 0.25 | |
| 25.79% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 66 | | totalSentences | 76 | | matches | | 0 | "The green neon glow of" | | 1 | "Rory pushed through the door" | | 2 | "She’d stopped bothering to change" | | 3 | "The smell of fried rice" | | 4 | "Silas looked up from polishing" | | 5 | "She set the package on" | | 6 | "Silas grunted and set the" | | 7 | "Rory’s hand stilled on the" | | 8 | "She didn’t turn around." | | 9 | "Silas’s voice was careful in" | | 10 | "Rory let the bag slide" | | 11 | "The maps on the walls" | | 12 | "She walked toward the corner" | | 13 | "The woman sat with her" | | 14 | "The woman turned, and the" | | 15 | "Laila Haddad had always been" | | 16 | "Men forgot their own names." | | 17 | "Women forgot their insecurities." | | 18 | "She’d worn her beauty like" | | 19 | "The woman in the booth" |
| | ratio | 0.868 | |
| 65.79% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 76 | | matches | | 0 | "What it was still taking." |
| | ratio | 0.013 | |
| 51.28% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 39 | | technicalSentenceCount | 5 | | matches | | 0 | "She walked toward the corner booth past tables occupied by the usual crowd—a couple arguing in hushed French, a man in a trench coat reading a paperback, two st…" | | 1 | "She wore a grey jumper that swallowed her frame, sleeves pulled down over fingers that fidgeted with a paper napkin, shredding it into tiny white soldiers." | | 2 | "She pressed her palm flat against her sternum, as if something inside her chest was trying to claw its way free." | | 3 | "Rory looked at her old friend—at the scar splitting her eyebrow, the bruised knuckles, the jumper that hung off shoulders that used to carry confidence like a c…" | | 4 | "The expression on her face was something Rory recognized—the look of someone who’d forgotten what being caught looked like." |
| |
| 75.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 2 | | matches | | 0 | "Silas looked up, the bar rag still in his hand" | | 1 | "Laila’s voice came out, a half-octave lower than memory held" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 2 | | fancyTags | | 0 | "Laila continued (continue)" | | 1 | "Laila whispered (whisper)" |
| | dialogueSentences | 44 | | tagDensity | 0.182 | | leniency | 0.364 | | rawRatio | 0.25 | | effectiveRatio | 0.091 | |