| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 16 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 21 | | tagDensity | 0.762 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 97.17% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1764 | | 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) | |
| 20.63% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1764 | | totalAiIsms | 28 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | | | 19 | | | 20 | | | 21 | | | 22 | | | 23 | |
| | highlights | | 0 | "gleaming" | | 1 | "unravel" | | 2 | "reminder" | | 3 | "raced" | | 4 | "velvet" | | 5 | "pounding" | | 6 | "gloom" | | 7 | "glinting" | | 8 | "shattered" | | 9 | "maw" | | 10 | "footsteps" | | 11 | "echoed" | | 12 | "echoes" | | 13 | "hulking" | | 14 | "pulse" | | 15 | "predator" | | 16 | "echoing" | | 17 | "jaw clenched" | | 18 | "etched" | | 19 | "silence" | | 20 | "loomed" | | 21 | "kaleidoscope" | | 22 | "rhythmic" | | 23 | "pulsed" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "jaw/fists clenched" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 54 | | matches | (empty) | |
| 10.58% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 4 | | hedgeCount | 1 | | narrationSentences | 54 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 55 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 97 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1717 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 77 | | wordCount | 1629 | | uniqueNames | 31 | | maxNameDensity | 1.17 | | worstName | "Quinn" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Herrera" | | discoveredNames | | Soho | 3 | | Detective | 1 | | Harlow | 1 | | Quinn | 19 | | Herrera | 17 | | Tommy | 1 | | God-knows-what | 1 | | Saint | 1 | | Christopher | 1 | | Morris | 5 | | Dean | 1 | | Street | 1 | | Raven | 1 | | Nest | 2 | | Charing | 1 | | Cross | 1 | | Road | 1 | | North | 2 | | Camden | 2 | | Cambridge | 1 | | Circus | 1 | | Lock | 1 | | Tube | 2 | | London | 1 | | Line | 1 | | Blitz | 1 | | Glock | 3 | | Bovril | 1 | | Veil | 1 | | Market | 1 | | Laughter | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Herrera" | | 3 | "Tommy" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "Morris" | | 7 | "Lock" | | 8 | "Blitz" | | 9 | "Market" | | 10 | "Laughter" |
| | places | | 0 | "Soho" | | 1 | "Detective" | | 2 | "Dean" | | 3 | "Street" | | 4 | "Raven" | | 5 | "Nest" | | 6 | "Charing" | | 7 | "Cross" | | 8 | "Road" | | 9 | "North" | | 10 | "Camden" | | 11 | "Cambridge" | | 12 | "London" |
| | globalScore | 0.917 | | windowScore | 0.833 | |
| 97.92% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 48 | | glossingSentenceCount | 1 | | matches | | 0 | "spirals that seemed to writhe in her light" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1717 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 55 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 35 | | mean | 49.06 | | std | 26.9 | | cv | 0.548 | | sampleLengths | | 0 | 101 | | 1 | 98 | | 2 | 106 | | 3 | 88 | | 4 | 79 | | 5 | 71 | | 6 | 55 | | 7 | 83 | | 8 | 66 | | 9 | 56 | | 10 | 66 | | 11 | 64 | | 12 | 35 | | 13 | 95 | | 14 | 41 | | 15 | 51 | | 16 | 54 | | 17 | 50 | | 18 | 41 | | 19 | 25 | | 20 | 12 | | 21 | 34 | | 22 | 18 | | 23 | 32 | | 24 | 31 | | 25 | 15 | | 26 | 22 | | 27 | 36 | | 28 | 44 | | 29 | 25 | | 30 | 32 | | 31 | 15 | | 32 | 29 | | 33 | 25 | | 34 | 22 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 54 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 328 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 33 | | semicolonCount | 5 | | flaggedSentences | 26 | | totalSentences | 55 | | ratio | 0.473 | | matches | | 0 | "Tomás Herrera—Tommy to his mates, the ghost paramedic who'd lost his license treating God-knows-what freaks—zigzagged through the neon-drenched streets, his short curly dark hair gleaming under streetlamps like wet coal." | | 1 | "Partner gone three years now—DS Morris, ripped apart by something she still couldn't name—and she'd be damned if she let another thread unravel." | | 2 | "Herrera had slipped out the hidden back room—bookshelf ajar just long enough for her trained eye—clutching a satchel that bulged suspiciously." | | 3 | "Quinn shoved past a cluster of pissheads, elbow cracking a jaw by accident—or not." | | 4 | "North they raced, the chase pulling them from Soho's velvet underbelly toward Camden's edgier sprawl. Rain sheeted off shop awnings, blurring the glow of kebab joints and tattoo parlors. Herrera dodged a cyclist, cut left into a pedestrianized stretch near Cambridge Circus, his satchel slapping his thigh. Quinn's coat clung like a second skin, heavy with water, but she gained ground. Her radio crackled in her pocket—backup en route, but too slow in this slop. This was personal now." | | 5 | "He vaulted a construction barrier, dropping into a service lane littered with sodden cardboard. Quinn hurdled it without breaking stride, landing in a skid that sprayed filth up her calves. Heart pounding like a war drum, she pictured Morris's file: unexplained wounds, shadows on CCTV that forensics couldn't explain. Herrera knew something. The clique knew. And that satchel? Propped open for a split second in the Nest's gloom—vials glinting, something iridescent." | | 6 | "Camden Lock materialized through the haze, the canal a black mirror shattered by raindrops. Crowds thinned here, the market stalls shuttered ghosts under tarps. Herrera veered right, toward the old rail yard, his breath ragged now—she could hear it over the deluge. Quinn closed to twenty yards, her boots pounding rhythmically. \"Herrera!" | | 7 | "He shot a glance back, warm brown eyes wide with feral calculation, then ducked under a chain-link fence bordering an abandoned stretch of the Tube. The North London Line, derelict since the Blitz rebuilds, its entrance a yawning brick maw choked with weeds and graffiti. Warning signs flapped in the wind: DANGER - NO ENTRY. Quinn hit the fence seconds later, gripping the cold metal, rain stinging her face. He was already vanishing down cracked steps slick with moss, the satchel's strap glinting." | | 8 | "She vaulted the fence, razor wire snagging her coat with a rip. No time for subtlety. The stairs plunged into shadow, air thickening with the metallic tang of rust and something earthier—decay, or worse. Her hand dropped to her holstered Glock, thumb flicking the safety. Torch beam from her phone cut the dark, revealing graffiti-smeared walls pulsing with moisture. Footsteps echoed below, splashing through shallow water." | | 9 | "\"Herrera!\" Echoes bounced back mockingly. The steps bottomed out into a tiled platform, abandoned tracks stretching into blackness. Puddles gleamed like oil slicks under her light, reflecting faded ads for Bovril and forgotten cigarettes. This was no tourist ghost station; it reeked of secrets, the air humming with a low vibration she felt in her teeth." | | 10 | "A scuffle ahead—Herrera scrambling over rubble, toward a rusted door half-ajar at the platform's end. Quinn sprinted, boots slipping on tiles, torch beam jerking wildly. She hit the door as it groaned wider, slamming it open with her shoulder. Beyond lay a tunnel mouth, bricked up but cracked, vines snaking through like veins. No— not vines. Roots? The air shifted, warmer, laced with incense and ozone." | | 11 | "Herrera twisted, fumbling in his pocket. A small bone token materialized in his scarred hand—yellowed, carved with spirals that seemed to writhe in her light. He slapped it against a concealed panel in the brick, and with a grind like bones shifting, a section swung inward. A waft of voices, muffled laughter, the clink of glass. He dove through, the panel starting to seal." | | 12 | "The Veil Market unfolded like a fever dream. Dim lanterns swung from arched ceilings—once Tube vaults, now strung with cobwebs heavy with glowing motes. Stalls crammed the platforms: rickety tables laden with jars of writhing shadows, blades that hummed faintly, potions bubbling in hues no chemist brewed. Figures moved in the gloom—cloaked humans rubbing shoulders with... things. A woman with eyes like polished opals hawking fangs that elongated before retracting. A hulking brute with scales haggling over a cage of chittering imps. The air thrummed with power, unnatural, the kind that had torn Morris apart." | | 13 | "Herrera melted into the crowd, satchel clutched tight, heading for a far stall piled with alchemical vials. Voices hissed in tongues Quinn half-recognized—Latin? Aramaic?—and eyes turned her way, gleaming with predatory curiosity. No badges here meant safety; her coat screamed outsider." | | 14 | "Her watch read 12:13 AM. Backup wouldn't find her down here; phones died in the damp, signals choked. Duty screamed follow—collar him, crack the clique. But Morris's ghost whispered caution: this was the unexplained, the supernatural she'd buried under case files. One wrong step, and she'd be the next unexplained circumstance." | | 15 | "Pulse thundering, Quinn drew her Glock low, thumb on the decocker. The crowd parted slightly, sensing predator versus prey. Herrera glanced back, vanishing behind a curtain of hanging herbs that sparked like fireflies. A vendor—a gaunt man with slits for nostrils—grinned at her, teeth filed to points. \"First time, copper?" | | 16 | "She ignored him, slipping into the throng. Bodies pressed close, scents assaulting: blood-iron, sulfur-sweet, rot masked by jasmine. A hand brushed her arm—clawed?—and she jerked away, gun hand twitching. Deeper in, the market sprawled: tunnels branching to side bazaars, one echoing with chants, another with moans that raised neck hairs." | | 17 | "Herrera darted left, into a shadowed alcove. Quinn pursued, torch off now to blend, eyes adjusting to the bioluminescent haze. Her sharp jaw clenched; precision demanded assessment. Armed? Yes, but numbers favored them. Backup? Hours away. Intel? Zero on this pit." | | 18 | "Herrera bucked, knee driving for her gut. She absorbed it, twisting his wrist until the satchel spilled: vials of shimmering blue, labels in runes. One rolled toward a boot—clawed, booted in hide." | | 19 | "Panic clawed Quinn's gut. Abort? Radio silence up top meant isolation. But retreat was surrender, Morris's death unavenged. Her watch ticked—12:19. Full moon tomorrow; whispers said markets like this shifted then." | | 20 | "A shadow loomed—a brute twice her size, scales rippling. \"Token, outsider." | | 21 | "Herrera twisted free, bolting anew toward a glowing archway—exit? Auction pit? She decided in a heartbeat: follow. Into the viper's nest. Precision over fear. She plunged after, the market swallowing them both in its throbbing heart." | | 22 | "The chase twisted through sub-tunnels, stalls blurring into a kaleidoscope of horror. Herrera panted, clutching a vial like salvation, his medallion a silver blur. Quinn's coat tore further on jagged stalactites, blood mixing with rain. Voices swelled—a chant rising, rhythmic, pulling at her skull." | | 23 | "Quinn fired a warning shot—crack!—ceiling crumbling dust. Panic erupted: screams, stalls overturning, shadows fleeing. She gained, slamming into his back at the ladder. They grappled, fists flying, her precision against his desperation." | | 24 | "She kneed his scar, eliciting a howl. \"Better than running.\" Zip-ties snapped from her pocket—backup's gift—binding his wrists. Satchel secured, she hauled him up the ladder, market howling below." | | 25 | "Surface air hit like salvation, rain cleansing the grime. Sirens wailed distant—backup. Quinn shoved Herrera face-down in mud, knee in his spine. \"Game over, Tommy.\"" |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 396 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 11 | | adverbRatio | 0.027777777777777776 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.010101010101010102 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 55 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 55 | | mean | 31.22 | | std | 21.52 | | cv | 0.689 | | sampleLengths | | 0 | 23 | | 1 | 22 | | 2 | 30 | | 3 | 26 | | 4 | 12 | | 5 | 26 | | 6 | 22 | | 7 | 15 | | 8 | 23 | | 9 | 18 | | 10 | 16 | | 11 | 21 | | 12 | 30 | | 13 | 21 | | 14 | 19 | | 15 | 14 | | 16 | 14 | | 17 | 41 | | 18 | 79 | | 19 | 71 | | 20 | 52 | | 21 | 3 | | 22 | 83 | | 23 | 66 | | 24 | 56 | | 25 | 66 | | 26 | 64 | | 27 | 35 | | 28 | 95 | | 29 | 41 | | 30 | 51 | | 31 | 50 | | 32 | 4 | | 33 | 50 | | 34 | 41 | | 35 | 25 | | 36 | 9 | | 37 | 3 | | 38 | 30 | | 39 | 4 | | 40 | 17 | | 41 | 1 | | 42 | 32 | | 43 | 31 | | 44 | 11 | | 45 | 4 | | 46 | 22 | | 47 | 36 | | 48 | 44 | | 49 | 25 |
| |
| 80.00% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.4909090909090909 | | totalSentences | 55 | | uniqueOpeners | 27 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 51 | | matches | (empty) | | ratio | 0 | |
| 94.51% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 16 | | totalSentences | 51 | | matches | | 0 | "She sprinted through the downpour," | | 1 | "He was fast for a" | | 2 | "Her worn leather watch ticked" | | 3 | "Her shout cut through the" | | 4 | "She'd been staking it out" | | 5 | "He burst onto Charing Cross" | | 6 | "He vaulted a construction barrier," | | 7 | "He shot a glance back," | | 8 | "She vaulted the fence, razor" | | 9 | "Her watch read 12:13 AM." | | 10 | "She ignored him, slipping into" | | 11 | "He rounded a pillar etched" | | 12 | "He spun, eyes wild, medallion" | | 13 | "She tackled him into the" | | 14 | "he gasped, elbow cracking her" | | 15 | "She kneed his scar, eliciting" |
| | ratio | 0.314 | |
| 48.24% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 42 | | totalSentences | 51 | | matches | | 0 | "She sprinted through the downpour," | | 1 | "Tomás Herrera—Tommy to his mates," | | 2 | "He was fast for a" | | 3 | "Quinn's lungs burned, but her" | | 4 | "Her worn leather watch ticked" | | 5 | "Partner gone three years now—DS" | | 6 | "Her shout cut through the" | | 7 | "A black cab swerved, horn" | | 8 | "Quinn followed, boots splashing ankle-deep" | | 9 | "She'd been staking it out" | | 10 | "Herrera had slipped out the" | | 11 | "He burst onto Charing Cross" | | 12 | "Quinn shoved past a cluster" | | 13 | "Pain flared in her shoulder," | | 14 | "He vaulted a construction barrier," | | 15 | "Camden Lock materialized through the" | | 16 | "He shot a glance back," | | 17 | "She vaulted the fence, razor" | | 18 | "Echoes bounced back mockingly. The" | | 19 | "A scuffle ahead—Herrera scrambling over" |
| | ratio | 0.824 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 51 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 34 | | technicalSentenceCount | 9 | | matches | | 0 | "Rain hammered the Soho pavements like a thousand tiny fists, turning the gutters into raging torrents that snatched at Detective Harlow Quinn's boots." | | 1 | "Quinn followed, boots splashing ankle-deep puddles that mirrored the green neon haze from The Raven's Nest sign flickering two blocks back." | | 2 | "Herrera had slipped out the hidden back room—bookshelf ajar just long enough for her trained eye—clutching a satchel that bulged suspiciously." | | 3 | "North they raced, the chase pulling them from Soho's velvet underbelly toward Camden's edgier sprawl. Rain sheeted off shop awnings, blurring the glow of kebab …" | | 4 | "He vaulted a construction barrier, dropping into a service lane littered with sodden cardboard. Quinn hurdled it without breaking stride, landing in a skid that…" | | 5 | "He shot a glance back, warm brown eyes wide with feral calculation, then ducked under a chain-link fence bordering an abandoned stretch of the Tube. The North L…" | | 6 | "Herrera twisted, fumbling in his pocket. A small bone token materialized in his scarred hand—yellowed, carved with spirals that seemed to writhe in her light. H…" | | 7 | "The Veil Market unfolded like a fever dream. Dim lanterns swung from arched ceilings—once Tube vaults, now strung with cobwebs heavy with glowing motes. Stalls …" | | 8 | "She ignored him, slipping into the throng. Bodies pressed close, scents assaulting: blood-iron, sulfur-sweet, rot masked by jasmine. A hand brushed her arm—claw…" |
| |
| 13.89% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 2 | | matches | | 0 | "The word cracked like, her bearing unyielding" | | 1 | "he gasped, elbow cracking her ribs" |
| |
| 54.76% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 2 | | fancyTags | | 0 | "Her shout (shout)" | | 1 | "he gasped (gasp)" |
| | dialogueSentences | 21 | | tagDensity | 0.095 | | leniency | 0.19 | | rawRatio | 1 | | effectiveRatio | 0.19 | |