| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 5 | | tagDensity | 0.8 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 93.75% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1599 | | 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) | |
| 59.35% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1599 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "fractured" | | 1 | "familiar" | | 2 | "flickered" | | 3 | "glint" | | 4 | "grave" | | 5 | "treacherous" | | 6 | "rhythmic" | | 7 | "thundered" | | 8 | "etched" | | 9 | "lilt" | | 10 | "streaming" | | 11 | "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 | 1 | | narrationSentences | 56 | | matches | | |
| 0.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 5 | | narrationSentences | 56 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 56 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 107 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1585 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 51 | | wordCount | 1517 | | uniqueNames | 27 | | maxNameDensity | 0.79 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Soho | 1 | | Harlow | 1 | | Quinn | 12 | | Greek | 1 | | Street | 2 | | Metropolitan | 1 | | Police | 1 | | Herrera | 1 | | Raven | 1 | | Nest | 1 | | Saint | 1 | | Christopher | 1 | | Morris | 5 | | Dean | 1 | | Chinatown | 1 | | Camden | 2 | | Tube | 1 | | Shaftesbury | 1 | | Avenue | 1 | | Mornington | 1 | | Crescent | 1 | | Veil | 2 | | Market | 2 | | London | 1 | | Seville | 1 | | Tomás | 6 | | Glock | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Police" | | 3 | "Herrera" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "Morris" | | 7 | "Tomás" |
| | places | | 0 | "Soho" | | 1 | "Greek" | | 2 | "Street" | | 3 | "Raven" | | 4 | "Dean" | | 5 | "Chinatown" | | 6 | "Camden" | | 7 | "Shaftesbury" | | 8 | "Avenue" | | 9 | "Mornington" | | 10 | "Crescent" | | 11 | "Market" | | 12 | "London" | | 13 | "Seville" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 42 | | glossingSentenceCount | 3 | | matches | | 0 | "eyes that seemed to drink in the streetlight and short, curly dark brown hair plastered flat against his skull by the downpour" | | 1 | "something like this three years ago" | | 2 | "sigils that seemed to writhe and shift in the dim light" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.631 | | wordCount | 1585 | | matches | | 0 | "not from cold but from exertion" |
| |
| 47.62% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 56 | | matches | | 0 | "knew that some knew that Morris" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 29 | | mean | 54.66 | | std | 37.42 | | cv | 0.685 | | sampleLengths | | 0 | 95 | | 1 | 44 | | 2 | 119 | | 3 | 108 | | 4 | 12 | | 5 | 2 | | 6 | 119 | | 7 | 20 | | 8 | 97 | | 9 | 81 | | 10 | 55 | | 11 | 57 | | 12 | 5 | | 13 | 88 | | 14 | 58 | | 15 | 36 | | 16 | 34 | | 17 | 18 | | 18 | 106 | | 19 | 55 | | 20 | 3 | | 21 | 67 | | 22 | 4 | | 23 | 85 | | 24 | 94 | | 25 | 22 | | 26 | 57 | | 27 | 17 | | 28 | 27 |
| |
| 86.47% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 56 | | matches | | 0 | "been ruled" | | 1 | "was gone" | | 2 | "was anchored" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 243 | | matches | | 0 | "was heading" | | 1 | "was descending" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 56 | | ratio | 0.161 | | matches | | 0 | "Eighteen years had also taught her that the most dangerous predators didn't sprint through the night—they moved with deliberate purpose, trusting the darkness to swallow their sins before dawn could expose them." | | 1 | "He was younger than she'd expected from the surveillance photos—twenty-nine, perhaps, with warm brown eyes that seemed to drink in the streetlight and short, curly dark brown hair plastered flat against his skull by the downpour." | | 2 | "The official report had called it an accident—a fall from a rooftop during a pursuit." | | 3 | "He didn't run—not at first." | | 4 | "She kept her pace steady, her service boots finding purchase on the slick stone, her salt-and-pepper hair—closely cropped and now slicked flat against her skull—dripping onto her collar." | | 5 | "She'd lost him twice in the first three blocks—once when a double-decker bus thundered past and swallowed the street in diesel smoke and darkness, once when a group of clubbers spilled out of a venue on Shaftesbury Avenue and created a human wall of stumbling, shouting bodies." | | 6 | "But she'd found him again, tracking the faint, medicinal scent of his cologne—something dark and herbal—mixed with the copper tang of blood." | | 7 | "He reached into his jacket pocket and withdrew something small and white—a token carved from bone, etched with spiraling sigils that seemed to writhe and shift in the dim light. The Veil Market. She'd read the whispers in the precinct locker rooms, the desperate ramblings of informants who'd gone mad after glimpsing what sold in the dark. A black market that moved with the full moon, that required payment in substances more precious than currency, that existed beneath the city like a second heart beating in the earth." | | 8 | "She kept her hand near her service weapon, her Glock heavy and useless against the things she sensed moving in the periphery—shadows that detached themselves from the walls, eyes that gleamed in the dark without bodies to house them. Her heart hammered against her ribs, a military drum demanding order in the chaos, her breath coming in sharp, controlled bursts. She thought of Tomás's scar, the knife attack that had nearly killed him, the way he had looked at her with such terrible, knowing sorrow, as if he carried the same ghosts she did." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 666 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 17 | | adverbRatio | 0.025525525525525526 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.0045045045045045045 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 56 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 56 | | mean | 28.3 | | std | 25.78 | | cv | 0.911 | | sampleLengths | | 0 | 20 | | 1 | 29 | | 2 | 14 | | 3 | 32 | | 4 | 31 | | 5 | 2 | | 6 | 11 | | 7 | 30 | | 8 | 3 | | 9 | 36 | | 10 | 31 | | 11 | 19 | | 12 | 22 | | 13 | 23 | | 14 | 13 | | 15 | 15 | | 16 | 21 | | 17 | 5 | | 18 | 1 | | 19 | 4 | | 20 | 4 | | 21 | 12 | | 22 | 2 | | 23 | 5 | | 24 | 40 | | 25 | 20 | | 26 | 28 | | 27 | 26 | | 28 | 4 | | 29 | 2 | | 30 | 14 | | 31 | 47 | | 32 | 22 | | 33 | 3 | | 34 | 25 | | 35 | 81 | | 36 | 55 | | 37 | 57 | | 38 | 5 | | 39 | 88 | | 40 | 58 | | 41 | 36 | | 42 | 26 | | 43 | 8 | | 44 | 18 | | 45 | 106 | | 46 | 55 | | 47 | 3 | | 48 | 67 | | 49 | 4 |
| |
| 49.40% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.3392857142857143 | | totalSentences | 56 | | uniqueOpeners | 19 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 52 | | matches | (empty) | | ratio | 0 | |
| 58.46% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 21 | | totalSentences | 52 | | matches | | 0 | "She checked the leather strap" | | 1 | "He was younger than she'd" | | 2 | "She'd lost her partner, DS" | | 3 | "They'd closed the file." | | 4 | "She hadn't stopped looking." | | 5 | "He didn't run—not at first." | | 6 | "He walked with the easy," | | 7 | "She kept her pace steady," | | 8 | "Her sharp jaw ached from" | | 9 | "He was heading north." | | 10 | "She'd lost him twice in" | | 11 | "He was injured." | | 12 | "She spotted the dark smear" | | 13 | "He knew she was there." | | 14 | "He reached into his jacket" | | 15 | "He looked at her. Not" | | 16 | "he called out, his voice" | | 17 | "She stepped forward." | | 18 | "Her boot hit the first" | | 19 | "She kept her hand near" |
| | ratio | 0.404 | |
| 56.15% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 42 | | totalSentences | 52 | | matches | | 0 | "The rain had turned the" | | 1 | "Detective Harlow Quinn pressed her" | | 2 | "She checked the leather strap" | | 3 | "The hour when the city's" | | 4 | "Tomás Herrera emerged from the" | | 5 | "Quinn's breath caught." | | 6 | "He was younger than she'd" | | 7 | "Olive skin gleamed on his" | | 8 | "Quinn had been tracking him" | | 9 | "Statements from people who shouldn't" | | 10 | "She'd lost her partner, DS" | | 11 | "The official report had called" | | 12 | "They'd closed the file." | | 13 | "She hadn't stopped looking." | | 14 | "Tomás stubbed out the cigarette" | | 15 | "He didn't run—not at first." | | 16 | "He walked with the easy," | | 17 | "The rain intensified, a curtain" | | 18 | "She kept her pace steady," | | 19 | "Her sharp jaw ached from" |
| | ratio | 0.808 | |
| 96.15% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 52 | | matches | | 0 | "By the time they reached" |
| | ratio | 0.019 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 37 | | technicalSentenceCount | 12 | | matches | | 0 | "Detective Harlow Quinn pressed her back against the cold brick of an alley off Greek Street, her breath coming in shallow, controlled bursts that steamed in the…" | | 1 | "Tomás Herrera emerged from the Raven's Nest at precisely that moment, stepping out from beneath the distinctive green neon sign that flickered like a dying hear…" | | 2 | "He was younger than she'd expected from the surveillance photos—twenty-nine, perhaps, with warm brown eyes that seemed to drink in the streetlight and short, cu…" | | 3 | "Statements from people who shouldn't exist, who spoke of wounds that knitted shut overnight and medicines that tasted of grave dirt and starlight." | | 4 | "He walked with the easy, rolling confidence of a man who had memorized these streets since childhood, cutting through Dean Street and into the labyrinth of back…" | | 5 | "The rain intensified, a curtain of silver needles that stung Quinn's exposed cheeks and turned the pavement into treacherous glass." | | 6 | "Tomás stopped at the threshold. The entrance yawned before him, a throat of absolute blackness framed by crumbling concrete and the skeletal remains of a ticket…" | | 7 | "He reached into his jacket pocket and withdrew something small and white—a token carved from bone, etched with spiraling sigils that seemed to writhe and shift …" | | 8 | "Tomás pressed the bone token into a slot in the rusted gate. It clicked with a sound like a lock turning in a tomb. The barrier shuddered and began to open, gri…" | | 9 | "He looked at her. Not with fear. With a terrible, aching recognition, as if he'd been waiting for her, or for someone like her, for three long years since Morri…" | | 10 | "She kept her hand near her service weapon, her Glock heavy and useless against the things she sensed moving in the periphery—shadows that detached themselves fr…" | | 11 | "Quinn descended deeper, her salt-and-pepper hair dripping onto her collar, her brown eyes burning with a need that had festered for three years, growing maligna…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 1 | | fancyTags | | 0 | "he called out (call out)" |
| | dialogueSentences | 5 | | tagDensity | 0.2 | | leniency | 0.4 | | rawRatio | 1 | | effectiveRatio | 0.4 | |