| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 31 | | tagDensity | 0.29 | | leniency | 0.581 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 91.59% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1189 | | 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) | |
| 32.72% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1189 | | totalAiIsms | 16 | | found | | | highlights | | 0 | "flicker" | | 1 | "glint" | | 2 | "measured" | | 3 | "silence" | | 4 | "gloom" | | 5 | "glinting" | | 6 | "echoed" | | 7 | "pulse" | | 8 | "pounding" | | 9 | "tension" | | 10 | "charged" | | 11 | "footsteps" | | 12 | "flickered" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "blood ran cold" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 96 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 0 | | narrationSentences | 96 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 116 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 63 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 5 | | markdownWords | 8 | | totalWords | 1175 | | ratio | 0.007 | | matches | | 0 | "The Raven’s Nest." | | 1 | "her." | | 2 | "else." | | 3 | "know" | | 4 | "Veil Market." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 13 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 34 | | wordCount | 936 | | uniqueNames | 14 | | maxNameDensity | 1.18 | | worstName | "Harlow" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Herrera" | | discoveredNames | | Harlow | 11 | | Quinn | 1 | | Shaftesbury | 1 | | Avenue | 1 | | Tomás | 1 | | Herrera | 11 | | Morris | 1 | | Saint | 1 | | Christopher | 1 | | Raven | 1 | | Soho | 1 | | Underground | 1 | | Tube | 1 | | London | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Tomás" | | 3 | "Herrera" | | 4 | "Morris" | | 5 | "Saint" | | 6 | "Christopher" | | 7 | "Raven" |
| | places | | 0 | "Shaftesbury" | | 1 | "Avenue" | | 2 | "Soho" | | 3 | "London" |
| | globalScore | 0.912 | | windowScore | 0.833 | |
| 25.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 60 | | glossingSentenceCount | 3 | | matches | | 0 | "something between fury and fear" | | 1 | "as if speaking from far away" | | 2 | "something like dark satisfaction" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 2.553 | | wordCount | 1175 | | matches | | 0 | "not in surrender, but in calculation" | | 1 | "not looking at the drop, but at the skyline" | | 2 | "not over the edge, but through a crack in reality, a seam in the air" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 116 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 55 | | mean | 21.36 | | std | 19.15 | | cv | 0.897 | | sampleLengths | | 0 | 87 | | 1 | 78 | | 2 | 60 | | 3 | 43 | | 4 | 13 | | 5 | 24 | | 6 | 8 | | 7 | 17 | | 8 | 48 | | 9 | 10 | | 10 | 32 | | 11 | 18 | | 12 | 22 | | 13 | 11 | | 14 | 31 | | 15 | 6 | | 16 | 25 | | 17 | 17 | | 18 | 33 | | 19 | 49 | | 20 | 31 | | 21 | 15 | | 22 | 11 | | 23 | 8 | | 24 | 28 | | 25 | 32 | | 26 | 4 | | 27 | 30 | | 28 | 8 | | 29 | 2 | | 30 | 17 | | 31 | 6 | | 32 | 5 | | 33 | 54 | | 34 | 2 | | 35 | 11 | | 36 | 2 | | 37 | 2 | | 38 | 32 | | 39 | 4 | | 40 | 19 | | 41 | 6 | | 42 | 50 | | 43 | 8 | | 44 | 41 | | 45 | 3 | | 46 | 17 | | 47 | 17 | | 48 | 3 | | 49 | 32 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 96 | | matches | | |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 154 | | matches | | 0 | "was funneling" | | 1 | "wasn’t panting" | | 2 | "was already moving" | | 3 | "was already climbing" | | 4 | "was whispering" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 116 | | ratio | 0.103 | | matches | | 0 | "Detective Harlow Quinn moved with the quiet precision of someone who trusted muscle memory over thought—her black coat slicked to her frame, her leather watch catching the occasional glint of streetlamp glow." | | 1 | "The suspect—a slender figure in a dark peacoat—had darted down a narrow alley off Shaftesbury Avenue, slipping between the shadows with the kind of ease that made Harlow’s instincts prickle." | | 2 | "The rain masked the sound of her approach, but she didn’t rely on silence—she relied on inevitability." | | 3 | "She cornered him at the mouth of the alley, her flashlight cutting through the gloom, catching the edge of his profile—olive skin, dark curls plastered to his forehead, a Saint Christopher medallion glinting at his throat." | | 4 | "He turned slowly, hands raised slightly, palms open—not in surrender, but in calculation." | | 5 | "Herrera was already moving—past her, into the dark mouth of the alley, his boots splashing through the runoff, his medallion swinging under his soaked collar." | | 6 | "Herrera was at the far edge, hesitating—not looking at the drop, but at the skyline." | | 7 | "Then—footsteps on the fire escape below." | | 8 | "Harlow lunged forward and saw him vanish—not over the edge, but through a crack in reality, a seam in the air that peeled back like wet paper, revealing darkness beyond." | | 9 | "The air changed—thicker, warmer, laced with smoke and iron." | | 10 | "In the distance, stalls glowed with eerie light—bottles of swirling liquid, jars of teeth, skulls with candles in their sockets." | | 11 | "A figure emerged from the shadows—a woman with silver-streaked hair, eyes like polished obsidian, draped in a long coat of black feathers." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 952 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 22 | | adverbRatio | 0.023109243697478993 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.007352941176470588 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 116 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 116 | | mean | 10.13 | | std | 9.26 | | cv | 0.914 | | sampleLengths | | 0 | 18 | | 1 | 32 | | 2 | 7 | | 3 | 30 | | 4 | 63 | | 5 | 7 | | 6 | 8 | | 7 | 7 | | 8 | 29 | | 9 | 17 | | 10 | 4 | | 11 | 3 | | 12 | 36 | | 13 | 3 | | 14 | 4 | | 15 | 7 | | 16 | 6 | | 17 | 13 | | 18 | 9 | | 19 | 2 | | 20 | 3 | | 21 | 5 | | 22 | 9 | | 23 | 8 | | 24 | 12 | | 25 | 36 | | 26 | 6 | | 27 | 4 | | 28 | 25 | | 29 | 7 | | 30 | 10 | | 31 | 8 | | 32 | 8 | | 33 | 6 | | 34 | 5 | | 35 | 2 | | 36 | 1 | | 37 | 4 | | 38 | 4 | | 39 | 3 | | 40 | 6 | | 41 | 25 | | 42 | 6 | | 43 | 25 | | 44 | 5 | | 45 | 4 | | 46 | 8 | | 47 | 5 | | 48 | 18 | | 49 | 10 |
| |
| 48.28% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.33620689655172414 | | totalSentences | 116 | | uniqueOpeners | 39 | |
| 38.31% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 87 | | matches | | 0 | "Then—footsteps on the fire escape" |
| | ratio | 0.011 | |
| 68.28% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 33 | | totalSentences | 87 | | matches | | 0 | "Her breath came steady, measured," | | 1 | "She’d been tailing Tomás Herrera" | | 2 | "She goed low as he" | | 3 | "He wouldn’t get away." | | 4 | "She cornered him at the" | | 5 | "He wasn’t panting." | | 6 | "she said, voice like gravel" | | 7 | "He turned slowly, hands raised" | | 8 | "he said, lips curving into" | | 9 | "She didn’t blink." | | 10 | "He let out a low" | | 11 | "She stepped closer, the rain" | | 12 | "She tapped her watch" | | 13 | "He exhaled through his nose," | | 14 | "His instincts didn’t lie." | | 15 | "She barely heard the last" | | 16 | "She keyed her radio." | | 17 | "She didn’t wait for acknowledgment." | | 18 | "She lunged after him, boots" | | 19 | "She could see the tension" |
| | ratio | 0.379 | |
| 28.97% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 75 | | totalSentences | 87 | | matches | | 0 | "The rain came down in" | | 1 | "Detective Harlow Quinn moved with" | | 2 | "Her breath came steady, measured," | | 3 | "The suspect—a slender figure in" | | 4 | "She’d been tailing Tomás Herrera" | | 5 | "The kind of thing forensic" | | 6 | "The kind that kept Harlow" | | 7 | "Herrera was quick, but she" | | 8 | "She goed low as he" | | 9 | "The rain masked the sound" | | 10 | "He wouldn’t get away." | | 11 | "She cornered him at the" | | 12 | "He wasn’t panting." | | 13 | "she said, voice like gravel" | | 14 | "He turned slowly, hands raised" | | 15 | "he said, lips curving into" | | 16 | "She didn’t blink." | | 17 | "He let out a low" | | 18 | "She stepped closer, the rain" | | 19 | "Herrera’s fingers twitched toward the" |
| | ratio | 0.862 | |
| 57.47% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 87 | | matches | | 0 | "Now it was whispering to" |
| | ratio | 0.011 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 32 | | technicalSentenceCount | 9 | | matches | | 0 | "Detective Harlow Quinn moved with the quiet precision of someone who trusted muscle memory over thought—her black coat slicked to her frame, her leather watch c…" | | 1 | "The suspect—a slender figure in a dark peacoat—had darted down a narrow alley off Shaftesbury Avenue, slipping between the shadows with the kind of ease that ma…" | | 2 | "She’d been tailing Tomás Herrera for three days now, ever since an informant whispered that he was funneling medical supplies off the books to someone connected…" | | 3 | "She goed low as he cut left through a huddle of smokers outside a pub, her shoes splashing through puddles, her left hand brushing the holster at her hip." | | 4 | "She cornered him at the mouth of the alley, her flashlight cutting through the gloom, catching the edge of his profile—olive skin, dark curls plastered to his f…" | | 5 | "Herrera was already moving—past her, into the dark mouth of the alley, his boots splashing through the runoff, his medallion swinging under his soaked collar." | | 6 | "Harlow cursed under her breath and followed, her leg muscles burning, the strap of her bag digging into her shoulder." | | 7 | "Harlow lunged forward and saw him vanish—not over the edge, but through a crack in reality, a seam in the air that peeled back like wet paper, revealing darknes…" | | 8 | "Herrera’s voice came from the dark, distorted, as if speaking from far away." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 3 | | matches | | 0 | "he said, lips curving into something almost amused" | | 1 | "She stepped, the rain hissing between them" | | 2 | "he said, voice low" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 31 | | tagDensity | 0.194 | | leniency | 0.387 | | rawRatio | 0.167 | | effectiveRatio | 0.065 | |