| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 13 | | adverbTagCount | 1 | | adverbTags | | 0 | "Herrera said quietly [quietly]" |
| | dialogueSentences | 24 | | tagDensity | 0.542 | | leniency | 1 | | rawRatio | 0.077 | | effectiveRatio | 0.077 | |
| 95.50% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2221 | | 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) | |
| 70.73% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2221 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "flickered" | | 1 | "trembled" | | 2 | "silence" | | 3 | "footsteps" | | 4 | "echoing" | | 5 | "scanning" | | 6 | "weight" | | 7 | "pulsed" | | 8 | "intensity" | | 9 | "stomach" |
| |
| 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 | 101 | | matches | | |
| 29.70% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 5 | | hedgeCount | 3 | | narrationSentences | 101 | | filterMatches | | 0 | "think" | | 1 | "watch" | | 2 | "hear" | | 3 | "know" |
| | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 112 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 89 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2200 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 67 | | wordCount | 1830 | | uniqueNames | 27 | | maxNameDensity | 0.71 | | worstName | "Quinn" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Quinn" | | discoveredNames | | London | 2 | | Thames | 1 | | Harlow | 1 | | Quinn | 13 | | Herrera | 13 | | Raven | 3 | | Nest | 3 | | Silas | 1 | | Camden | 1 | | Bayham | 1 | | Street | 1 | | Kentish | 1 | | Town | 1 | | Road | 1 | | Northern | 1 | | Line | 1 | | Leeds | 1 | | Morris | 5 | | Deptford | 2 | | Tube | 1 | | Veil | 1 | | Market | 4 | | Tomás | 2 | | Saint | 2 | | Christopher | 2 | | Knew | 1 | | Shook | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Herrera" | | 3 | "Raven" | | 4 | "Nest" | | 5 | "Silas" | | 6 | "Morris" | | 7 | "Tomás" | | 8 | "Saint" | | 9 | "Christopher" |
| | places | | 0 | "London" | | 1 | "Thames" | | 2 | "Camden" | | 3 | "Bayham" | | 4 | "Street" | | 5 | "Kentish" | | 6 | "Town" | | 7 | "Road" | | 8 | "Leeds" | | 9 | "Deptford" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 72 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 63.64% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 1.364 | | wordCount | 2200 | | matches | | 0 | "not the mineral tang of the street, but something older, something" | | 1 | "not from fear but from the simple courtesy of those who understood" | | 2 | "not her handwriting, but close, close enough to make her stomach tighten" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 112 | | matches | | 0 | "understood that some" | | 1 | "believe that the" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 38 | | mean | 57.89 | | std | 37.13 | | cv | 0.641 | | sampleLengths | | 0 | 83 | | 1 | 100 | | 2 | 52 | | 3 | 34 | | 4 | 3 | | 5 | 58 | | 6 | 83 | | 7 | 68 | | 8 | 57 | | 9 | 80 | | 10 | 2 | | 11 | 76 | | 12 | 136 | | 13 | 47 | | 14 | 19 | | 15 | 80 | | 16 | 3 | | 17 | 69 | | 18 | 28 | | 19 | 66 | | 20 | 6 | | 21 | 40 | | 22 | 64 | | 23 | 35 | | 24 | 3 | | 25 | 148 | | 26 | 78 | | 27 | 28 | | 28 | 126 | | 29 | 80 | | 30 | 19 | | 31 | 98 | | 32 | 87 | | 33 | 59 | | 34 | 4 | | 35 | 35 | | 36 | 59 | | 37 | 87 |
| |
| 84.42% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 101 | | matches | | 0 | "was hidden" | | 1 | "were wrapped" | | 2 | "were filled" | | 3 | "been crossed" | | 4 | "been found" | | 5 | "been taught" |
| |
| 88.89% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 300 | | matches | | 0 | "was running" | | 1 | "was slipping" | | 2 | "was coming" | | 3 | "was watching" | | 4 | "were still learning" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 18 | | semicolonCount | 0 | | flaggedSentences | 16 | | totalSentences | 112 | | ratio | 0.143 | | matches | | 0 | "The rain had turned London into something else entirely—a city of smeared lights and black water, where the Thames ran thick with the color of old pennies and the streetlamps hummed their sodium song through the downpour." | | 1 | "The Raven's Nest had been a dead end—Silas had poured her a whiskey she didn't drink and told her, with the easy smile of a man who'd buried secrets in his floorboards, that Herrera had left an hour before she arrived." | | 2 | "Now the address had led her here, to a shuttered entrance on a street that didn't appear on any map she'd ever studied, where the rain fell harder than it had anywhere else in the city and the air smelled of ozone and something else—something mineral, like wet stone from deep underground." | | 3 | "His warm brown eyes met hers across thirty feet of flooded pavement, and something flickered there—not surprise, exactly." | | 4 | "She reached it, turned, and found herself facing a brick wall that shouldn't exist—a dead end where the map showed continuing streets." | | 5 | "The door groaned open, and the smell hit her—not the mineral tang of the street, but something older, something that made her think of her grandmother's house in Leeds, of dried lavender and cedar blocks and the particular silence of rooms where no one had lived for a very long time." | | 6 | "The stairs were concrete, slick with moisture, and they went down further than any Tube station should go—past the old platform level, past the bricked-up tunnels that had once connected to the surface world, past the point where the air grew thick and her flashlight beam seemed to shorten, to struggle against something that pressed back." | | 7 | "And everywhere, the stalls—selling things that made Quinn's skin prickle with wrongness, with the sense that she had stepped through a door that should have remained closed." | | 8 | "She'd heard of it, in the way that cops hear of things—whispers in locker rooms, a mention in a file marked CLASSIFIED, a rumor that dissolved when anyone tried to pin it down." | | 9 | "The recognition in his eyes this time was different—resignation, perhaps, or the exhausted acceptance of a man who had known this moment was coming." | | 10 | "\"You have no idea what you're dealing with, Detective. No idea.\" He reached into his bag—the shoulder bag, the one he'd carried out of the Raven's Nest—and Quinn tensed, her hand closing on her weapon, but he withdrew only a leather journal, its pages swollen with moisture." | | 11 | "She caught it one-handed, the leather slick and cold against her palm, and felt the weight of it—not paper, something else, something that pulsed faintly against her fingers like a second heartbeat." | | 12 | "The pages were filled with her own handwriting—not her handwriting, but close, close enough to make her stomach tighten." | | 13 | "Thought of the dreams she'd had since—not dreams, she'd told herself, just the mind processing grief, just the imagination doing what imaginations do." | | 14 | "Somewhere in the Market, a clock that shouldn't exist struck thirteen, and the crowd stilled, and Quinn felt the weight of decision pressing down on her—the decision to walk back up the stairs and file a report that would be buried by morning, that would join the others in the drawer marked UNEXPLAINED, or the decision to go deeper, to follow Herrera into whatever came next, to step through the door that Morris had stepped through and never come back from." | | 15 | "Behind them, the rusted iron door groaned shut, and the rain kept falling on the empty street, washing the footprints from the pavement, erasing the evidence of passage, waiting for the next full moon to move the Market to its new location, to open its doors again for those who knew how to find them, for those who had learned—or were still learning—that the city was a place of doors, and that some of them opened onto things that the waking mind was not meant to see." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1853 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 52 | | adverbRatio | 0.028062601187263895 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.0059363194819212085 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 112 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 112 | | mean | 19.64 | | std | 17.64 | | cv | 0.898 | | sampleLengths | | 0 | 37 | | 1 | 27 | | 2 | 2 | | 3 | 17 | | 4 | 7 | | 5 | 41 | | 6 | 25 | | 7 | 27 | | 8 | 52 | | 9 | 12 | | 10 | 2 | | 11 | 18 | | 12 | 1 | | 13 | 1 | | 14 | 3 | | 15 | 3 | | 16 | 40 | | 17 | 15 | | 18 | 34 | | 19 | 26 | | 20 | 23 | | 21 | 6 | | 22 | 22 | | 23 | 28 | | 24 | 8 | | 25 | 3 | | 26 | 1 | | 27 | 6 | | 28 | 51 | | 29 | 6 | | 30 | 8 | | 31 | 42 | | 32 | 5 | | 33 | 19 | | 34 | 2 | | 35 | 56 | | 36 | 11 | | 37 | 5 | | 38 | 4 | | 39 | 14 | | 40 | 27 | | 41 | 2 | | 42 | 25 | | 43 | 20 | | 44 | 21 | | 45 | 27 | | 46 | 5 | | 47 | 33 | | 48 | 4 | | 49 | 2 |
| |
| 66.37% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.44144144144144143 | | totalSentences | 111 | | uniqueOpeners | 49 | |
| 78.43% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 85 | | matches | | 0 | "Then he ran." | | 1 | "Somewhere in the Market, a" |
| | ratio | 0.024 | |
| 88.24% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 28 | | totalSentences | 85 | | matches | | 0 | "She'd been tracking him for" | | 1 | "His warm brown eyes met" | | 2 | "She followed, her shoes slapping" | | 3 | "He was fast for a" | | 4 | "She reached it, turned, and" | | 5 | "She should have called for" | | 6 | "She knew she should have" | | 7 | "Her leather watch told her" | | 8 | "It felt like an hour." | | 9 | "It felt like less." | | 10 | "She'd heard of it, in" | | 11 | "She moved through the crowd," | | 12 | "She found him at a" | | 13 | "He saw her." | | 14 | "He said something to the" | | 15 | "His voice was rough, accented," | | 16 | "She let the names hang" | | 17 | "She stepped closer, close enough" | | 18 | "He reached into his bag—the" | | 19 | "He tossed it." |
| | ratio | 0.329 | |
| 95.29% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 62 | | totalSentences | 85 | | matches | | 0 | "The rain had turned London" | | 1 | "Detective Harlow Quinn pulled her" | | 2 | "She'd been tracking him for" | | 3 | "The Raven's Nest had been" | | 4 | "Herrera stopped at the corner" | | 5 | "His warm brown eyes met" | | 6 | "Quinn didn't hesitate." | | 7 | "She followed, her shoes slapping" | | 8 | "He was fast for a" | | 9 | "The darkness here was absolute," | | 10 | "Quinn's hand found the flashlight" | | 11 | "Herrera had vanished around a" | | 12 | "She reached it, turned, and" | | 13 | "CAMDEN TOWN STATION." | | 14 | "The wheel turned under her" | | 15 | "The door groaned open, and" | | 16 | "She should have called for" | | 17 | "She knew she should have" | | 18 | "The file was always wrong." | | 19 | "The stairs were concrete, slick" |
| | ratio | 0.729 | |
| 58.82% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 85 | | matches | | 0 | "Now the address had led" |
| | ratio | 0.012 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 53 | | technicalSentenceCount | 21 | | matches | | 0 | "Twenty-nine years old, former NHS paramedic, currently her best lead on three disappearances that shouldn't have happened." | | 1 | "Now the address had led her here, to a shuttered entrance on a street that didn't appear on any map she'd ever studied, where the rain fell harder than it had a…" | | 2 | "Eighteen years of service had burned hesitation out of her, replaced it with something harder and more useful: the absolute certainty that a man who ran from a …" | | 3 | "She followed, her shoes slapping through standing water, her breath coming hard in the cold." | | 4 | "Quinn's hand found the flashlight on her belt, thumb clicking it on, a pale cone of light that trembled slightly in her grip." | | 5 | "She reached it, turned, and found herself facing a brick wall that shouldn't exist—a dead end where the map showed continuing streets." | | 6 | "And at the base of that wall, half-submerged in black water that moved wrong, like something breathing beneath the surface, a rusted iron door with a wheel hand…" | | 7 | "The door groaned open, and the smell hit her—not the mineral tang of the street, but something older, something that made her think of her grandmother's house i…" | | 8 | "And Herrera was slipping away, down a staircase that spiraled into darkness, his footsteps echoing from somewhere far below." | | 9 | "The stairs were concrete, slick with moisture, and they went down further than any Tube station should go—past the old platform level, past the bricked-up tunne…" | | 10 | "Dozens of them, moving through the space with the purposeful anonymity of a crowd that had learned not to look too closely at one another." | | 11 | "And everywhere, the stalls—selling things that made Quinn's skin prickle with wrongness, with the sense that she had stepped through a door that should have rem…" | | 12 | "And somewhere in this place, Tomás Herrera, who had lost his medical license for treating patients that shouldn't exist." | | 13 | "She moved through the crowd, her hand resting on the service weapon at her hip, her eyes scanning for the dark curls, the olive skin, the scar that ran along hi…" | | 14 | "She found him at a stall near the far wall, speaking urgently with a vendor whose hands were wrapped in bandages that moved independently of the fingers beneath…" | | 15 | "The recognition in his eyes this time was different—resignation, perhaps, or the exhausted acceptance of a man who had known this moment was coming." | | 16 | "And beneath that, in a script that spiraled and looped like something alive, a name she recognized from the file on Morris's death." | | 17 | "Herrera's warm brown eyes held hers, and for a moment she saw something there that might have been grief, might have been the simple exhaustion of a man who had…" | | 18 | "Somewhere in the Market, a clock that shouldn't exist struck thirteen, and the crowd stilled, and Quinn felt the weight of decision pressing down on her—the dec…" | | 19 | "Of a partner who had died reaching for something he couldn't name, and of a detective who had spent three years refusing to believe that the world was bigger th…" | | 20 | "He turned and walked into the crowd, and Quinn followed, the journal heavy in her hand, her flashlight beam cutting through the dark, her heart hammering a rhyt…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 13 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 24 | | tagDensity | 0.208 | | leniency | 0.417 | | rawRatio | 0 | | effectiveRatio | 0 | |