| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 14 | | tagDensity | 0.357 | | leniency | 0.714 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 95.77% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1181 | | 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) | |
| 53.43% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1181 | | totalAiIsms | 11 | | found | | 0 | | word | "practiced ease" | | count | 1 |
| | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | |
| | highlights | | 0 | "practiced ease" | | 1 | "gleaming" | | 2 | "footfall" | | 3 | "calculated" | | 4 | "raced" | | 5 | "streaming" | | 6 | "echoed" | | 7 | "footsteps" | | 8 | "weight" | | 9 | "familiar" | | 10 | "standard" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 90 | | matches | (empty) | |
| 95.24% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 2 | | narrationSentences | 90 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 99 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 59 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1169 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 5 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.84% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 41 | | wordCount | 1058 | | uniqueNames | 16 | | maxNameDensity | 1.32 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Camden | 1 | | Harlow | 1 | | Quinn | 14 | | Tomás | 2 | | Herrera | 9 | | Saint | 1 | | Christopher | 1 | | Raven | 1 | | Nest | 1 | | Morris | 4 | | Underground | 1 | | Tube | 1 | | Brixton | 1 | | Veil | 1 | | Market | 1 | | London | 1 |
| | persons | | 0 | "Camden" | | 1 | "Harlow" | | 2 | "Quinn" | | 3 | "Tomás" | | 4 | "Herrera" | | 5 | "Saint" | | 6 | "Christopher" | | 7 | "Morris" | | 8 | "Tube" |
| | places | | 0 | "Raven" | | 1 | "Underground" | | 2 | "London" |
| | globalScore | 0.838 | | windowScore | 1 | |
| 73.08% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 65 | | glossingSentenceCount | 2 | | matches | | 0 | "looked like genuine fear" | | 1 | "looked like an old entrance to the Underg" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1169 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 99 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 31 | | mean | 37.71 | | std | 24.02 | | cv | 0.637 | | sampleLengths | | 0 | 61 | | 1 | 3 | | 2 | 90 | | 3 | 77 | | 4 | 58 | | 5 | 6 | | 6 | 42 | | 7 | 48 | | 8 | 54 | | 9 | 5 | | 10 | 46 | | 11 | 65 | | 12 | 26 | | 13 | 14 | | 14 | 83 | | 15 | 38 | | 16 | 46 | | 17 | 53 | | 18 | 28 | | 19 | 25 | | 20 | 29 | | 21 | 6 | | 22 | 23 | | 23 | 41 | | 24 | 19 | | 25 | 13 | | 26 | 70 | | 27 | 29 | | 28 | 47 | | 29 | 6 | | 30 | 18 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 90 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 185 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 5 | | totalSentences | 99 | | ratio | 0.051 | | matches | | 0 | "Eighteen years on the force had taught her that the ones who ran always had something to hide, and Tomás Herrera had been on her radar for three months now—ever since a stabbing victim with impossible injuries walked out of A&E fully healed, and security footage showed the former paramedic leaving through a side entrance at 3 AM." | | 1 | "But the Tube didn't run through here anymore—this section had been closed since the seventies." | | 2 | "The walls wept moisture, and the air tasted of rust and something else—incense, perhaps, or burning sage." | | 3 | "People—at least, she assumed they were people—moved between the stalls with purpose, their voices a low murmur that reminded Quinn of bees in a hive." | | 4 | "A woman at the nearest stall looked up from her wares—jars filled with liquids that moved wrong, sluggish and alive." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1069 | | adjectiveStacks | 1 | | stackExamples | | 0 | "far older, far stranger." |
| | adverbCount | 34 | | adverbRatio | 0.031805425631431246 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.005612722170252572 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 99 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 99 | | mean | 11.81 | | std | 8.72 | | cv | 0.739 | | sampleLengths | | 0 | 18 | | 1 | 22 | | 2 | 21 | | 3 | 3 | | 4 | 3 | | 5 | 2 | | 6 | 27 | | 7 | 58 | | 8 | 12 | | 9 | 6 | | 10 | 10 | | 11 | 8 | | 12 | 17 | | 13 | 6 | | 14 | 3 | | 15 | 15 | | 16 | 16 | | 17 | 7 | | 18 | 13 | | 19 | 22 | | 20 | 6 | | 21 | 17 | | 22 | 5 | | 23 | 2 | | 24 | 18 | | 25 | 16 | | 26 | 15 | | 27 | 15 | | 28 | 1 | | 29 | 1 | | 30 | 11 | | 31 | 6 | | 32 | 2 | | 33 | 25 | | 34 | 10 | | 35 | 5 | | 36 | 15 | | 37 | 14 | | 38 | 17 | | 39 | 6 | | 40 | 6 | | 41 | 12 | | 42 | 9 | | 43 | 1 | | 44 | 1 | | 45 | 30 | | 46 | 21 | | 47 | 5 | | 48 | 14 | | 49 | 24 |
| |
| 74.41% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.494949494949495 | | totalSentences | 99 | | uniqueOpeners | 49 | |
| 84.39% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 79 | | matches | | 0 | "Then he ducked right, disappearing" | | 1 | "Probably useless here." |
| | ratio | 0.025 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 15 | | totalSentences | 79 | | matches | | 0 | "He didn't stop." | | 1 | "He was fast, but she'd" | | 2 | "Her military-trained body moved with" | | 3 | "He glanced back over his" | | 4 | "She skidded to a halt" | | 5 | "Her hand moved instinctively to" | | 6 | "Her boots echoed on the" | | 7 | "She'd heard rumours." | | 8 | "His hand clutched the medallion" | | 9 | "Her eyes met Quinn's, and" | | 10 | "She took another step" | | 11 | "He didn't speak, just watched" | | 12 | "She held her ground at" | | 13 | "He laughed, bitter and short." | | 14 | "His hand dropped from the" |
| | ratio | 0.19 | |
| 48.61% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 65 | | totalSentences | 79 | | matches | | 0 | "Detective Harlow Quinn's boots splashed" | | 1 | "He didn't stop." | | 2 | "Quinn's worn leather watch pressed" | | 3 | "Herrera cut left into an" | | 4 | "Quinn followed, her sharp jaw" | | 5 | "The alley narrowed, brick walls" | | 6 | "He was fast, but she'd" | | 7 | "Her military-trained body moved with" | | 8 | "The connection to The Raven's" | | 9 | "The unexplained recoveries." | | 10 | "The pattern that looked too" | | 11 | "The alley opened onto a" | | 12 | "Herrera leaped the barrier without" | | 13 | "Quinn cleared it a second" | | 14 | "The rain came down heavier" | | 15 | "He glanced back over his" | | 16 | "She skidded to a halt" | | 17 | "The steps descended into darkness," | | 18 | "Her hand moved instinctively to" | | 19 | "Protocol demanded she call it" |
| | ratio | 0.823 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 79 | | matches | (empty) | | ratio | 0 | |
| 21.28% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 47 | | technicalSentenceCount | 8 | | matches | | 0 | "Eighteen years on the force had taught her that the ones who ran always had something to hide, and Tomás Herrera had been on her radar for three months now—ever…" | | 1 | "He glanced back over his shoulder, warm brown eyes wide with something that looked like genuine fear." | | 2 | "Things that made Quinn's skin crawl with the same wrongness she'd felt in the warehouse where Morris had died, where the crime scene photos showed blood pattern…" | | 3 | "People—at least, she assumed they were people—moved between the stalls with purpose, their voices a low murmur that reminded Quinn of bees in a hive." | | 4 | "Behind him, the market stretched into darkness, stalls disappearing into shadows that seemed too thick, too absolute." | | 5 | "A woman at the nearest stall looked up from her wares—jars filled with liquids that moved wrong, sluggish and alive." | | 6 | "This was something else entirely, something that existed in the cracks between the London she knew and something far older, far stranger." | | 7 | "The bone-deep certainty that had driven her investigation for three months warred with the survival instinct honed over eighteen years of walking into dangerous…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |