| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 7 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 8 | | tagDensity | 0.875 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 926 | | 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) | |
| 56.80% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 926 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "pulse" | | 1 | "glinting" | | 2 | "gloom" | | 3 | "whisper" | | 4 | "flickered" | | 5 | "lurching" | | 6 | "pounding" | | 7 | "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 | 27 | | matches | (empty) | |
| 89.95% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 27 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 27 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 109 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 8 | | markdownWords | 27 | | totalWords | 906 | | ratio | 0.03 | | matches | | 0 | "Twenty seconds" | | 1 | "run" | | 2 | "Veil Market" | | 3 | "They’re closer than you think" | | 4 | "You’re not like us. You’ll never understand" | | 5 | "eats" | | 6 | "They’re closing in. You have to stop them" | | 7 | "them" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 81.85% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 22 | | wordCount | 807 | | uniqueNames | 7 | | maxNameDensity | 1.36 | | worstName | "Quinn" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Quinn" | | discoveredNames | | Quinn | 11 | | Soho | 1 | | Saint | 1 | | Christopher | 1 | | Morris | 4 | | Veil | 2 | | Market | 2 |
| | persons | | 0 | "Quinn" | | 1 | "Saint" | | 2 | "Christopher" | | 3 | "Morris" | | 4 | "Market" |
| | places | | | globalScore | 0.818 | | windowScore | 0.833 | |
| 41.30% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 23 | | glossingSentenceCount | 1 | | matches | | 0 | "as if fending off the rain, and for a split second, Quinn saw it: a white bone, set in a silver chain, glinting against the wet fabric of his coat" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 906 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 27 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 23 | | mean | 39.39 | | std | 28.12 | | cv | 0.714 | | sampleLengths | | 0 | 61 | | 1 | 69 | | 2 | 97 | | 3 | 13 | | 4 | 41 | | 5 | 35 | | 6 | 107 | | 7 | 63 | | 8 | 37 | | 9 | 26 | | 10 | 5 | | 11 | 15 | | 12 | 91 | | 13 | 28 | | 14 | 19 | | 15 | 13 | | 16 | 32 | | 17 | 5 | | 18 | 32 | | 19 | 34 | | 20 | 21 | | 21 | 29 | | 22 | 33 |
| |
| 92.27% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 27 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 163 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 1 | | flaggedSentences | 9 | | totalSentences | 27 | | ratio | 0.333 | | matches | | 0 | "Forty-one, 5’9”, salt-and-pepper hair plastered to her scalp. A sharp jawline that could have cut glass, even through the rain. Her left wrist, the one with the worn leather watch—cracked band, smudged face—pounded with her pulse. Military precision, but right now her shoulders hunched, the trench coat’s brim doing little to shield her. She didn’t look like a detective; she looked like a woman who knew how to *run*." | | 1 | "A shadow darted up ahead, between a delivery van and a brick wall. Tall, broad-shouldered, dark curly hair matted to his skull. Left arm extended, as if fending off the rain, and for a split second, Quinn saw it: a white bone, set in a silver chain, glinting against the wet fabric of his coat. He turned, and she caught the scar—thin, silvery—running along his forearm. The same as the boy in the warehouse. The one with the Saint Christopher medallion still looped around his neck, even as his skin turned blue, rotting from the collarbone up." | | 2 | "He laughed—a sound like stones grinding. Elbowed her in the gut. She grunted, losing her grip, and he bolted for a metal door at the alley’s end. Unlocked. She pushed it open, stepping into blackness." | | 3 | "Stairs, slick with wet, spiraled downward. The air thickened, smelling of damp stone and something sharper—brine, maybe, or old blood. She went down, flashlight beam cutting the gloom. At the bottom, a tunnel stretched ahead, stalls lining the walls. A man with antlers haggled over a jar of green fire. A woman with scales ran a hand over a vial that glowed like liquid starlight. Quinn’s breath hitched. *Veil Market*. The one they’d heard about—subterranean, hidden, where the world’s rules dissolved. She should backtrack. Call for backup. But Morris’s face swam into her mind, blue and cold, his last words a whisper: *They’re closer than you think*." | | 4 | "The market hit her like a wave—loud, sweating, alive. The floor was uneven, cobblestones worn smooth by centuries of boots. Stalls stretched in every direction, selling bone tokens, enchanted daggers, jars of “truth smoke” that left a bitter taste. Creatures mingled: a child with eyes like oozing tar, a man with wings folded tight, a tailor with a snake’s tail coiled around his waist. The air reeked of incense and burned sugar, and the noise—voices in half a dozen languages, laughter, a man shouting about “a soul for a moonstone”—was deafening." | | 5 | "Quinn’s flashlight beam flickered, catching the suspect. He stood at a stall selling skulls, his back to her. She moved forward, boots crunching on something gritty—a bone, maybe." | | 6 | "Quinn chased. The market was a maze—stalls blocking her path, creatures scurrying into her way. She shoved them aside, barking, “Get out of the way!” A dog-headed man snarled but stepped back." | | 7 | "The suspect reached a staircase. She followed, flashlight swinging. At the top, a door led to the street—unlocked. She burst through, rain drenching her, and saw him ten yards ahead, vanishing down an alley." | | 8 | "She chased him into the night, the rain falling harder, and the world narrowing to the man ahead, the alley behind, and the silence at the edge of her hearing—where eyes watched, waiting." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 305 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 7 | | adverbRatio | 0.022950819672131147 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.003278688524590164 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 27 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 27 | | mean | 33.56 | | std | 27.68 | | cv | 0.825 | | sampleLengths | | 0 | 12 | | 1 | 17 | | 2 | 21 | | 3 | 4 | | 4 | 7 | | 5 | 69 | | 6 | 97 | | 7 | 13 | | 8 | 41 | | 9 | 35 | | 10 | 107 | | 11 | 63 | | 12 | 37 | | 13 | 26 | | 14 | 5 | | 15 | 15 | | 16 | 91 | | 17 | 28 | | 18 | 19 | | 19 | 13 | | 20 | 32 | | 21 | 5 | | 22 | 32 | | 23 | 34 | | 24 | 21 | | 25 | 29 | | 26 | 33 |
| |
| 86.42% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 0 | | diversityRatio | 0.5185185185185185 | | totalSentences | 27 | | uniqueOpeners | 14 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 26 | | matches | | 0 | "Just twenty seconds to close" |
| | ratio | 0.038 | |
| 66.15% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 10 | | totalSentences | 26 | | matches | | 0 | "Her boots smashed through puddles," | | 1 | "He laughed—a sound like stones" | | 2 | "She moved into the tunnel," | | 3 | "She stepped closer to the" | | 4 | "She pushed the shelf. It" | | 5 | "he said, turning. His eyes" | | 6 | "He drew a knife. It" | | 7 | "he said, and bolted" | | 8 | "She ran, lungs burning, the" | | 9 | "She chased him into the" |
| | ratio | 0.385 | |
| 17.69% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 23 | | totalSentences | 26 | | matches | | 0 | "The rain lashed Quinn’s face," | | 1 | "Her boots smashed through puddles," | | 2 | "The alley behind her was" | | 3 | "A shadow darted up ahead," | | 4 | "Morris had found him. he’d" | | 5 | "Quinn lunged. Her shoulder slammed" | | 6 | "He laughed—a sound like stones" | | 7 | "Stairs, slick with wet, spiraled" | | 8 | "She moved into the tunnel," | | 9 | "Quinn skidded to a halt." | | 10 | "She stepped closer to the" | | 11 | "She pushed the shelf. It" | | 12 | "The market hit her like" | | 13 | "Quinn’s flashlight beam flickered, catching" | | 14 | "he said, turning. His eyes" | | 15 | "Quinn didn’t stop. she said," | | 16 | "He drew a knife. It" | | 17 | "he said, and bolted" | | 18 | "Quinn chased. The market was" | | 19 | "The suspect reached a staircase." |
| | ratio | 0.885 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 26 | | matches | (empty) | | ratio | 0 | |
| 8.93% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 16 | | technicalSentenceCount | 3 | | matches | | 0 | "A shadow darted up ahead, between a delivery van and a brick wall. Tall, broad-shouldered, dark curly hair matted to his skull. Left arm extended, as if fending…" | | 1 | "Stairs, slick with wet, spiraled downward. The air thickened, smelling of damp stone and something sharper—brine, maybe, or old blood. She went down, flashlight…" | | 2 | "Quinn skidded to a halt. The portal hummed, a low vibration that made her teeth ache. She reached for her holster, but the gun felt heavy, useless. This wasn’t …" |
| |
| 62.50% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 8 | | uselessAdditionCount | 1 | | matches | | 0 | "he’d, before the lights went out" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 2 | | fancyTags | | 0 | "Morris had (have)" | | 1 | "Quinn didn’t (do)" |
| | dialogueSentences | 8 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.5 | | effectiveRatio | 0.5 | |