| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 12 | | adverbTagCount | 1 | | adverbTags | | 0 | "Quinn’s fingers close [close]" |
| | dialogueSentences | 23 | | tagDensity | 0.522 | | leniency | 1 | | rawRatio | 0.083 | | effectiveRatio | 0.083 | |
| 95.92% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1224 | | 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) | |
| 71.41% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1224 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "echoes" | | 1 | "etched" | | 2 | "looms" | | 3 | "glinting" | | 4 | "eyebrow" | | 5 | "footsteps" |
| |
| 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 | 73 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 73 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 75 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 78 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 9 | | markdownWords | 23 | | totalWords | 1206 | | ratio | 0.019 | | matches | | 0 | "“Quinn, you trust that reel? There’s something off about Llewellyn”" | | 1 | "Veil Market" | | 2 | "You shouldn’t have come" | | 3 | "hollows" | | 4 | "know" | | 5 | "Mi amigo" | | 6 | "key" | | 7 | "hollows" | | 8 | "hungry" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 92.12% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 44 | | wordCount | 1123 | | uniqueNames | 18 | | maxNameDensity | 1.16 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Quinn | 13 | | Great | 1 | | Newport | 1 | | Street | 2 | | Soho | 1 | | Thames | 1 | | Camden | 2 | | Town | 1 | | Underground | 1 | | Spanish | 2 | | Tooley | 1 | | Morris | 6 | | Footsteps | 1 | | Tube | 1 | | Veil | 2 | | Market | 2 | | Tomás | 1 | | You | 5 |
| | persons | | 0 | "Quinn" | | 1 | "Morris" | | 2 | "Market" | | 3 | "Tomás" | | 4 | "You" |
| | places | | 0 | "Newport" | | 1 | "Street" | | 2 | "Soho" | | 3 | "Thames" | | 4 | "Camden" | | 5 | "Town" | | 6 | "Underground" | | 7 | "Spanish" | | 8 | "Tooley" |
| | globalScore | 0.921 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 42 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1206 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 75 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 42 | | mean | 28.71 | | std | 23.28 | | cv | 0.811 | | sampleLengths | | 0 | 87 | | 1 | 67 | | 2 | 77 | | 3 | 11 | | 4 | 54 | | 5 | 73 | | 6 | 33 | | 7 | 74 | | 8 | 42 | | 9 | 23 | | 10 | 41 | | 11 | 11 | | 12 | 28 | | 13 | 52 | | 14 | 53 | | 15 | 13 | | 16 | 43 | | 17 | 10 | | 18 | 50 | | 19 | 39 | | 20 | 10 | | 21 | 26 | | 22 | 39 | | 23 | 30 | | 24 | 12 | | 25 | 11 | | 26 | 29 | | 27 | 8 | | 28 | 3 | | 29 | 2 | | 30 | 9 | | 31 | 13 | | 32 | 11 | | 33 | 8 | | 34 | 3 | | 35 | 3 | | 36 | 34 | | 37 | 10 | | 38 | 14 | | 39 | 6 | | 40 | 4 | | 41 | 40 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 73 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 196 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 19 | | semicolonCount | 3 | | flaggedSentences | 17 | | totalSentences | 75 | | ratio | 0.227 | | matches | | 0 | "Quinn’s breath comes in short, hot bursts—18 years of training has her lungs burning, but she doesn’t slow." | | 1 | "Her watch digs into her wrist, the leather strap cracked from three years of wear. The second hand ticks on, a metronome for the chase. Morris’s voice echoes in her head—*“Quinn, you trust that reel?" | | 2 | "There’s something off about Llewellyn”*—but she shoves it down. She’s here now. The man pauses, fumbling with a rusted lock on a metal door half-hidden by a delivery bike. His hand trembles." | | 3 | "Quinn skids to a halt, skidding water across the pavement. The man doesn’t hear her. He rips the lock free, shoves the door open, and vanishes. She crouches, peers through the gap. The alley beyond is a warren of bins and graffitied walls, but the door’s frame is new—black metal, etched with runes she doesn’t recognize. A bone token dangles from the man’s pocket as he disappears: a wolf’s skull, bleached white, eyes painted with red ochre." | | 4 | "She stands, brushes water from her jacket, and steps into the alley. The air smells of damp stone and ozone. At the end of the passage, a brick wall looms, but the man’s footprints lead to a drain cover. She kicks it up—heavy, rusted—and finds a staircase spiraling downward, metal steps slick with rain." | | 5 | "Quinn unholsters her service pistol. The click of the chamber is loud in the quiet. She starts down, each step a calculation. The market is a trap, she knows that. Clique business is messy, violent. But if she doesn’t follow, the man—whoever he is, whatever he’s taken—will vanish into the supernatural underworld, and the case will rot, like the bodies found in the Thames last month with their eyes pecked out by crows." | | 6 | "The bottom step hits her shin. She pauses, listens. A low hum vibrates through the ground—voices, muffled, tinny laughter. The market is active. She creeps to the edge of the staircase, looks over." | | 7 | "It’s Camden Town Underground, derelict since 1992. But here, the walls are lined with stalls: a man with horns sells dried blood; a woman with a snake for a necklace licks a lollipop made of stardust; a boy with no face offers maps of other realms. The air glows with bioluminescent moss, and the floor is sticky with something onyx and sweet. The bone token is everywhere—around necks, in pockets, even as door knockers." | | 8 | "She raises her pistol. He dives behind a stall. A cry goes up, but it’s not fear—it’s excitement. Someone tosses him a club." | | 9 | "Quinn moves fast, sliding behind a pile of crates. The market stalls are stalls in name only—some are just holes in the wall. She spots the man again, crouched, club ready. Too many eyes on her. She needs a better angle." | | 10 | "She sprints, pistol raised. A lycan lunges from a shadow, its fur matted, claws glinting. She fires once—hit in the shoulder. It howls, retreats. The man is gone." | | 11 | "Quinn rounds a corner. A bar made of human ribs is to her left; a cage holding a baby dragon (furious, spitting fire at a vendor) is to her right. The satchel is there, discarded, open. Inside: a vial of liquid silver, a pressed flower that doesn’t wilt, and a photo. Morris." | | 12 | "Her hand freezes. The photo is old—taken the night he died, in an alley off Tooley Street. He’s laughing, holding a bone token identical to the one the man had. The background is blurry, but she recognizes the runes on the wall: the same ones etched into the metal door above the staircase." | | 13 | "“Calm down, copper,” a voice says. Cockney, thick. A woman—late 30s, dyed purple hair, a scar splitting her eyebrow—grins. “You think we let just anyone waltz in?” She nods at the satchel. “Herrera will want that back." | | 14 | "Footsteps. Heavy, deliberate. A man steps into the light. He’s tall, broad, a tattoos of vines coiling up his neck. His eyes are black—no white, no iris. He stops a foot away, stares at the photo in her hand." | | 15 | "The staircase is empty when she reaches it. But at the top, the metal door stands open, creaking in the wind. Beyond it, the city rain still falls—cold, unforgiving." | | 16 | "The chapter ends with the slam of the metal door closing behind her, the sound swallowed by the rain. The reader is left wondering what lies beyond that door—and why Tomás’s warning hangs heavier than the bullets in her gun." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 209 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 4 | | adverbRatio | 0.019138755980861243 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.004784688995215311 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 75 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 75 | | mean | 16.08 | | std | 18.18 | | cv | 1.13 | | sampleLengths | | 0 | 9 | | 1 | 14 | | 2 | 26 | | 3 | 18 | | 4 | 20 | | 5 | 35 | | 6 | 32 | | 7 | 77 | | 8 | 11 | | 9 | 54 | | 10 | 73 | | 11 | 33 | | 12 | 74 | | 13 | 42 | | 14 | 23 | | 15 | 41 | | 16 | 11 | | 17 | 28 | | 18 | 52 | | 19 | 53 | | 20 | 13 | | 21 | 37 | | 22 | 6 | | 23 | 4 | | 24 | 2 | | 25 | 4 | | 26 | 11 | | 27 | 7 | | 28 | 5 | | 29 | 6 | | 30 | 11 | | 31 | 6 | | 32 | 4 | | 33 | 39 | | 34 | 10 | | 35 | 16 | | 36 | 3 | | 37 | 4 | | 38 | 3 | | 39 | 10 | | 40 | 18 | | 41 | 2 | | 42 | 9 | | 43 | 30 | | 44 | 12 | | 45 | 11 | | 46 | 29 | | 47 | 8 | | 48 | 3 | | 49 | 2 |
| |
| 67.11% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.4266666666666667 | | totalSentences | 75 | | uniqueOpeners | 32 | |
| 56.50% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 59 | | matches | | 0 | "Somewhere below, the Veil Market" |
| | ratio | 0.017 | |
| 84.41% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 20 | | totalSentences | 59 | | matches | | 0 | "She stumbles, catchs herself on" | | 1 | "His coat flips over his" | | 2 | "Her watch digs into her" | | 3 | "She stands, brushes water from" | | 4 | "It’s Camden Town Underground, derelict" | | 5 | "She raises her pistol. He" | | 6 | "She sprints, pistol raised. A" | | 7 | "Her hand freezes. The photo" | | 8 | "He’s been after it for" | | 9 | "He’s got a thing for" | | 10 | "You don’t mess with the" | | 11 | "You don’t *know*" | | 12 | "he says, Spanish sharp" | | 13 | "It’s in the blood." | | 14 | "He turns, walks away. The" | | 15 | "You owe us a favor" | | 16 | "She grabs the satchel, slings" | | 17 | "She pulls out her phone," | | 18 | "they’re not dead." | | 19 | "he saw something." |
| | ratio | 0.339 | |
| 44.75% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 49 | | totalSentences | 59 | | matches | | 0 | "The rain slams into Quinn’s" | | 1 | "She stumbles, catchs herself on" | | 2 | "His coat flips over his" | | 3 | "Quinn’s breath comes in short," | | 4 | "The man is lean, maybe" | | 5 | "Her watch digs into her" | | 6 | "Quinn skids to a halt," | | 7 | "*Veil Market*, she thinks. Only" | | 8 | "She stands, brushes water from" | | 9 | "Quinn unholsters her service pistol." | | 10 | "The bottom step hits her" | | 11 | "It’s Camden Town Underground, derelict" | | 12 | "The man is already halfway" | | 13 | "She raises her pistol. He" | | 14 | "Quinn moves fast, sliding behind" | | 15 | "The staircase is behind her." | | 16 | "She sprints, pistol raised. A" | | 17 | "Quinn rounds a corner. A" | | 18 | "Her hand freezes. The photo" | | 19 | "A hand clamps down on" |
| | ratio | 0.831 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 59 | | matches | (empty) | | ratio | 0 | |
| 91.84% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 28 | | technicalSentenceCount | 2 | | matches | | 0 | "His coat flips over his shoulders as he turns the corner onto Great Newport Street, boots splashing through puddles that reflect the neon signs of Soho." | | 1 | "Quinn rounds a corner. A bar made of human ribs is to her left; a cage holding a baby dragon (furious, spitting fire at a vendor) is to her right. The satchel i…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 23 | | tagDensity | 0.174 | | leniency | 0.348 | | rawRatio | 0.25 | | effectiveRatio | 0.087 | |