| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 2 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 2 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 95.63% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1145 | | totalAiIsmAdverbs | 1 | | 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) | |
| 91.27% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1145 | | totalAiIsms | 2 | | found | | | highlights | | |
| 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 | 52 | | matches | (empty) | |
| 87.91% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 52 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 52 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 76 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 2 | | totalWords | 1137 | | ratio | 0.002 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 25 | | wordCount | 1129 | | uniqueNames | 13 | | maxNameDensity | 0.71 | | worstName | "Quinn" | | maxWindowNameDensity | 1 | | worstWindowName | "Quinn" | | discoveredNames | | Wardour | 1 | | Street | 2 | | Detective | 1 | | Harlow | 1 | | Quinn | 8 | | Morris | 3 | | Deptford | 1 | | Raven | 2 | | Nest | 2 | | Soho | 1 | | Camden | 1 | | High | 1 | | Hendon | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Morris" | | 3 | "Raven" |
| | places | | 0 | "Wardour" | | 1 | "Street" | | 2 | "Deptford" | | 3 | "Soho" | | 4 | "Camden" | | 5 | "High" | | 6 | "Hendon" |
| | globalScore | 1 | | windowScore | 1 | |
| 30.95% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 42 | | glossingSentenceCount | 2 | | matches | | 0 | "quite make out" | | 1 | "sign that seemed to find her wherever she went in this city, patient as a held breath" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1137 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 52 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 22 | | mean | 51.68 | | std | 33.79 | | cv | 0.654 | | sampleLengths | | 0 | 68 | | 1 | 16 | | 2 | 99 | | 3 | 9 | | 4 | 70 | | 5 | 32 | | 6 | 76 | | 7 | 124 | | 8 | 84 | | 9 | 41 | | 10 | 9 | | 11 | 92 | | 12 | 68 | | 13 | 28 | | 14 | 35 | | 15 | 72 | | 16 | 40 | | 17 | 88 | | 18 | 16 | | 19 | 9 | | 20 | 57 | | 21 | 4 |
| |
| 91.77% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 52 | | matches | | 0 | "were supposed" | | 1 | "was gone" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 7 | | totalVerbs | 183 | | matches | | 0 | "was only starting" | | 1 | "was watching" | | 2 | "was digging" | | 3 | "were looking" | | 4 | "was holding" | | 5 | "was offering" | | 6 | "was screaming" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 0 | | flaggedSentences | 5 | | totalSentences | 52 | | ratio | 0.096 | | matches | | 0 | "The man—she'd clocked him leaving the Raven's Nest twenty minutes ago, a courier's satchel strapped diagonal across his chest, moving with the particular tension of someone carrying something he didn't want found—hit the end of the alley and vaulted a low wall without breaking stride." | | 1 | "His eyes caught a shard of green light bleeding sideways from a neon sign two streets over—the Raven's Nest, its glow visible even here, even now, like it was watching her work—and for half a second she thought he smiled." | | 2 | "The chase spat them out onto Camden High Street, and here the rain thinned the crowds to nothing—a few drunk students huddled under an awning, a fox picking through a split bin bag with the unhurried confidence of something that owned the night." | | 3 | "The man in gray was already at the bottom, silhouetted against a warmer light further in—torchlight, or candlelight, something that flickered instead of burning steady—and he was holding something up to a shape she couldn't quite make out." | | 4 | "The tile was slick beneath her boot, colder than the rain had any right to make it, and the dark at the bottom of the stairs did not so much wait for her as *lean*, the way a held door leans when the wind picks up behind it—an invitation, or a threat, she couldn't yet tell which." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1140 | | adjectiveStacks | 1 | | stackExamples | | 0 | "old leather-banded thing" |
| | adverbCount | 42 | | adverbRatio | 0.03684210526315789 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.005263157894736842 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 52 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 52 | | mean | 21.87 | | std | 15.6 | | cv | 0.714 | | sampleLengths | | 0 | 32 | | 1 | 36 | | 2 | 16 | | 3 | 3 | | 4 | 5 | | 5 | 26 | | 6 | 26 | | 7 | 39 | | 8 | 4 | | 9 | 5 | | 10 | 45 | | 11 | 25 | | 12 | 15 | | 13 | 17 | | 14 | 5 | | 15 | 2 | | 16 | 40 | | 17 | 29 | | 18 | 18 | | 19 | 26 | | 20 | 4 | | 21 | 76 | | 22 | 43 | | 23 | 6 | | 24 | 35 | | 25 | 8 | | 26 | 4 | | 27 | 29 | | 28 | 9 | | 29 | 33 | | 30 | 38 | | 31 | 21 | | 32 | 2 | | 33 | 9 | | 34 | 34 | | 35 | 7 | | 36 | 16 | | 37 | 28 | | 38 | 12 | | 39 | 23 | | 40 | 31 | | 41 | 7 | | 42 | 34 | | 43 | 40 | | 44 | 17 | | 45 | 14 | | 46 | 27 | | 47 | 30 | | 48 | 16 | | 49 | 9 |
| |
| 64.74% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.4807692307692308 | | totalSentences | 52 | | uniqueOpeners | 25 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 50 | | matches | | 0 | "Of course he didn't stop." | | 1 | "Then he was gone again," | | 2 | "Somewhere behind her, up on" |
| | ratio | 0.06 | |
| 68.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 50 | | matches | | 0 | "Her voice cracked against the" | | 1 | "He didn't stop." | | 2 | "She hadn't screamed since." | | 3 | "She'd learned to run instead." | | 4 | "she called, though she doubted" | | 5 | "He glanced back at her." | | 6 | "His eyes caught a shard" | | 7 | "Her watch, the old leather-banded" | | 8 | "She barely registered it." | | 9 | "He crossed against the lights," | | 10 | "She remembered the article." | | 11 | "She reached the top of" | | 12 | "She'd seen one before, briefly," | | 13 | "She had let the dark" | | 14 | "She had told herself for" | | 15 | "She thought of the case" | | 16 | "She thought of the missing" | | 17 | "She thought of Morris, and" | | 18 | "She went down anyway." |
| | ratio | 0.38 | |
| 90.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 37 | | totalSentences | 50 | | matches | | 0 | "Rain came down in sheets" | | 1 | "Her voice cracked against the" | | 2 | "He didn't stop." | | 3 | "Nobody ever stopped when Quinn" | | 4 | "She hadn't screamed since." | | 5 | "She'd learned to run instead." | | 6 | "The man—she'd clocked him leaving" | | 7 | "Quinn followed, palms skidding on" | | 8 | "she called, though she doubted" | | 9 | "Nothing about the last three" | | 10 | "He glanced back at her." | | 11 | "His eyes caught a shard" | | 12 | "Quinn followed him through the" | | 13 | "Her watch, the old leather-banded" | | 14 | "She barely registered it." | | 15 | "The chase spat them out" | | 16 | "The man in gray didn't" | | 17 | "He crossed against the lights," | | 18 | "She remembered the article." | | 19 | "She reached the top of" |
| | ratio | 0.74 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 50 | | matches | | 0 | "Because that station had closed" |
| | ratio | 0.02 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 34 | | technicalSentenceCount | 15 | | matches | | 0 | "Rain came down in sheets that turned Wardour Street into a river of neon, and Detective Harlow Quinn ran through it with her lungs burning and her badge slappin…" | | 1 | "Three years she'd been chasing shadows that moved wrong, that bled the wrong color, that vanished from locked rooms without leaving so much as a footprint." | | 2 | "The man—she'd clocked him leaving the Raven's Nest twenty minutes ago, a courier's satchel strapped diagonal across his chest, moving with the particular tensio…" | | 3 | "Then he was gone again, ducking through a gap in a chain-link fence with the fluid economy of a man who'd made this exact escape a hundred times before." | | 4 | "Her watch, the old leather-banded thing that had been her father's, had slipped and was digging into her wrist bone with every pump of her arm." | | 5 | "All she registered was the shrinking gap between them and the address in her case file that had led her here in the first place: three unexplained deaths, all d…" | | 6 | "The chase spat them out onto Camden High Street, and here the rain thinned the crowds to nothing—a few drunk students huddled under an awning, a fox picking thr…" | | 7 | "He crossed against the lights, ignored a bus that blared its horn and swerved, and dropped down a set of stairs that Quinn's mind, cataloguing the city the way …" | | 8 | "Below her, the stairwell dropped into a dark that the streetlights didn't touch, tiled walls furred with grime, an old iron gate hanging open on a chain that ha…" | | 9 | "The man in gray was already at the bottom, silhouetted against a warmer light further in—torchlight, or candlelight, something that flickered instead of burning…" | | 10 | "A shape with too many joints in its arm, reaching out from the shadow to take whatever the man was offering." | | 11 | "The gate creaked in a draft that smelled of copper and rot and something sweetly floral underneath, wrong in combination, like a mortuary dressed up as a garden…" | | 12 | "But Morris had gone into the dark once too, into a warehouse that shouldn't have swallowed a grown man whole, and she had stood outside with her weapon drawn at…" | | 13 | "The man in gray disappeared through an archway at the bottom of the stairs, into that warm flickering light, and the shape with too many joints folded itself ba…" | | 14 | "She thought of the missing evidence bag, the vanished paperwork, the green neon sign that seemed to find her wherever she went in this city, patient as a held b…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 2 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 2 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |