| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 1 | | adverbTags | | 0 | "Her radio crackled faintly— [faintly]" |
| | dialogueSentences | 26 | | tagDensity | 0.577 | | leniency | 1 | | rawRatio | 0.067 | | effectiveRatio | 0.067 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1712 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 21.14% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1712 | | totalAiIsms | 27 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | | | 19 | | | 20 | | | 21 | |
| | highlights | | 0 | "flickered" | | 1 | "glinting" | | 2 | "gloom" | | 3 | "loomed" | | 4 | "pulse" | | 5 | "chilled" | | 6 | "echoing" | | 7 | "footsteps" | | 8 | "treacherous" | | 9 | "raced" | | 10 | "churning" | | 11 | "shattered" | | 12 | "thundered" | | 13 | "electric" | | 14 | "crystallized" | | 15 | "etched" | | 16 | "shimmered" | | 17 | "echoed" | | 18 | "tension" | | 19 | "jaw clenched" | | 20 | "scanning" | | 21 | "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 | 2 | | narrationSentences | 70 | | matches | | 0 | "e with panic" | | 1 | "d with fear" |
| |
| 20.41% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 6 | | hedgeCount | 0 | | narrationSentences | 70 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 73 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 82 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 4 | | totalWords | 1661 | | ratio | 0.002 | | matches | | 0 | "Join us. Forget. Understand." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 19 | | unquotedAttributions | 1 | | matches | | 0 | "Tomás vanished behind a curtain of beads, the hooded ally melting away. She lunged after, Glock barking a warning shot i…" |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 89 | | wordCount | 1488 | | uniqueNames | 30 | | maxNameDensity | 0.87 | | worstName | "Tomás" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Harlow" | | discoveredNames | | Soho | 2 | | Harlow | 12 | | Quinn | 1 | | Raven | 3 | | Nest | 1 | | Tomás | 13 | | Herrera | 5 | | Seville | 2 | | London | 1 | | Military | 2 | | Wardour | 1 | | Street | 3 | | Saint | 2 | | Christopher | 2 | | Camden | 4 | | Oxford | 1 | | Morris | 5 | | Regent | 1 | | Euston | 2 | | Road | 1 | | Spanish | 1 | | Lock | 1 | | Veil | 2 | | Market | 5 | | Glock | 5 | | Tube | 1 | | Laughter | 1 | | Rain | 3 | | You | 3 | | Whispers | 3 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Raven" | | 3 | "Tomás" | | 4 | "Herrera" | | 5 | "Military" | | 6 | "Saint" | | 7 | "Christopher" | | 8 | "Camden" | | 9 | "Morris" | | 10 | "Lock" | | 11 | "Market" | | 12 | "Glock" | | 13 | "Laughter" | | 14 | "Rain" | | 15 | "You" | | 16 | "Whispers" |
| | places | | 0 | "Soho" | | 1 | "Seville" | | 2 | "London" | | 3 | "Wardour" | | 4 | "Street" | | 5 | "Oxford" | | 6 | "Regent" | | 7 | "Euston" | | 8 | "Road" | | 9 | "Spanish" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 55 | | glossingSentenceCount | 1 | | matches | | 0 | "not quite yet, but close" |
| |
| 79.59% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.204 | | wordCount | 1661 | | matches | | 0 | "not quite yet, but close" | | 1 | "not sewer stench, but a spiral stair plunging into abyss" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 73 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 49 | | mean | 33.9 | | std | 19.85 | | cv | 0.585 | | sampleLengths | | 0 | 72 | | 1 | 73 | | 2 | 61 | | 3 | 62 | | 4 | 80 | | 5 | 54 | | 6 | 48 | | 7 | 44 | | 8 | 51 | | 9 | 9 | | 10 | 47 | | 11 | 55 | | 12 | 33 | | 13 | 52 | | 14 | 51 | | 15 | 22 | | 16 | 19 | | 17 | 38 | | 18 | 52 | | 19 | 25 | | 20 | 15 | | 21 | 56 | | 22 | 27 | | 23 | 38 | | 24 | 56 | | 25 | 9 | | 26 | 12 | | 27 | 27 | | 28 | 39 | | 29 | 6 | | 30 | 36 | | 31 | 66 | | 32 | 21 | | 33 | 23 | | 34 | 15 | | 35 | 24 | | 36 | 20 | | 37 | 21 | | 38 | 23 | | 39 | 34 | | 40 | 28 | | 41 | 27 | | 42 | 18 | | 43 | 8 | | 44 | 25 | | 45 | 9 | | 46 | 9 | | 47 | 12 | | 48 | 9 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 70 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 320 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 32 | | semicolonCount | 9 | | flaggedSentences | 30 | | totalSentences | 73 | | ratio | 0.411 | | matches | | 0 | "The bar's sign flickered above the entrance, casting erratic shadows on the wet brick walls lined with old maps and faded photographs—relics of a city that hid more secrets than it revealed." | | 1 | "Military precision guided her stride—shoulders squared, sharp jaw set like flint." | | 2 | "He was fast for a healer—5'10\" of lean muscle honed from hauling stretchers and dodging knives. That scar on his left forearm flashed white as he shoved past a overflowing dumpster, the jagged line a souvenir from some street brawl." | | 3 | "Harlow followed, vaulting a crate of sodden cardboard. Her lungs burned, but she pushed harder, coat flapping like a sodden cape. The alley narrowed, reeking of piss and rotting takeaway. He was heading north—toward Camden, away from the Thames' glow. Why? What was in that bag? Drugs? Stolen meds for his supernatural side-hustle patients? Her mind flashed to DS Morris, swallowed by shadows three years ago on a case that defied logic. Unexplained. Supernatural, though she'd never admit it aloud." | | 4 | "A car horn blared as they burst onto Oxford Street. Traffic snarled, headlights slicing yellow beams through the sheets of rain. Tomás weaved between stalled taxis, his breath ragged gasps she could almost hear. He glanced back—warm brown eyes wide with panic—and shoved a pedestrian aside. The man yelped, umbrella spinning into the road." | | 5 | "Out of the way!\" Tires screeched as she crossed against the lights. A bus loomed, wipers thrashing; she hurled herself forward, boot skidding on oil-slick asphalt. Heart slamming, she regained footing and plunged into the crowd on the far side." | | 6 | "He was a shadow now, merging with the late-night stragglers under umbrellas. Soho's pulse faded behind them—pubs spilling laughter, the Raven's green sign a distant memory. Rain chilled her to the bone, but adrenaline fired her veins. She couldn't lose him. Not like Morris." | | 7 | "They hit Regent Street, then veered into quieter backstreets, the city compressing into wet concrete canyons. Tomás's pace faltered; he clutched his side, medallion bouncing against his chest. Good—former paramedic or not, he wasn't built for marathons. Harlow closed the gap to twenty yards, her breaths syncing with the rain's rhythm." | | 8 | "Tomás emerged onto the Euston fringes, then north again—Camden's markets loomed in the distance, shuttered stalls ghostly under sodium lights. The rain eased to a relentless drizzle, but the streets grew treacherous: cobbles slick from canal overflow, bike lanes flooded. He stumbled, righting himself with a curse in Spanish—something about saints and madre de dios." | | 9 | "Harlow's watch read 12:09. Sweat mixed with rain under her collar. Her mind raced: backup? Radio silent in the storm, signal jammed by the weather. Solo pursuit—stupid, but instinct overrode protocol. Always had." | | 10 | "Camden Lock appeared, locks swollen and churning black water. Tomás scrambled over a low railing, dropping to a service path along the canal towpath. Moonlight pierced the clouds, full and bloated—not quite yet, but close. The Veil Market's cycle, she'd heard rumors in dive bars. Superstitious bollocks, or so she'd told herself." | | 11 | "She mirrored his descent, fence wire snagging her coat. The path was mud-slick, narrow, flanked by graffiti-tagged walls. Barges rocked violently; a loose mooring rope whipped like a serpent. Tomás slipped ahead, splashing knee-deep into a puddle that hid a pothole. He yelped, twisting his ankle, but pressed on, limping now." | | 12 | "His accent thickened with fear—Seville roots surfacing. He veered right, away from the canal, into Camden's underbelly: abandoned industrial yards, chain-link fences sagging under ivy. The air thickened, carrying a metallic tang beneath the rain—ozone, or something fouler." | | 13 | "They rounded a derelict warehouse, its windows shattered eyes staring blind. Tomás halted at a rusted manhole cover half-hidden by pallets, breath heaving. He yanked a small bone token from his pocket—yellowed, carved with runes that gleamed unnaturally. With a grunt, he pried the cover, muscles straining, scar livid against his skin." | | 14 | "The cover grated open, revealing not sewer stench, but a spiral stair plunging into abyss. Faint glows emanated from below—torchlight? Candles? Voices murmured, exotic and layered, like a bazaar from hell. The Veil Market. She'd chased leads here before, but never entered. Whispers of enchanted blades that whispered lies, potions that twisted flesh, brokers peddling souls." | | 15 | "Tomás dropped the satchel in first—clink of vials—then descended, token clutched like a talisman. His medallion caught the eerie light, Saint Christopher warding against what lurked below." | | 16 | "Harlow's pulse thundered. Morris's face flashed—pale, eyes vacant, body found twisted in ways physics denied. Supernatural origins. She didn't understand it then; still didn't. But this clique... they danced on that edge. Herrera was key: healer for monsters." | | 17 | "Follow him? Into the unknown, where her badge meant nothing, where shadows moved with intent. No backup, no light, just her service weapon and grit. The stairwell exhaled cool, fetid air—spice and blood and something electric. Shouts rose from below: haggling in tongues she half-recognized from old case files. Demons? Fae? Bollocks, but her skin crawled." | | 18 | "Her radio crackled faintly—storm breaking? \"Control to Quinn, status?\"" | | 19 | "Harlow holstered her radio, drew her Glock. Military bearing locked in: precise, unyielding. She glanced at her watch—12:24—then stepped to the edge. The bone token lay discarded; she snatched it, runes warm against her palm, pulsing like a heartbeat." | | 20 | "The stairs spiraled tight, iron rungs slick with condensation. Torchlight grew brighter, walls shifting from concrete to rough-hewn stone etched with sigils that shimmered. Air hummed, thick with incense and murmurs. Her boots echoed wrong—amplified, mocking." | | 21 | "At the bottom, the abandoned Tube platform sprawled: a cavernous bazaar under vaulted arches. Stalls crammed every inch—tattered awnings fluttering in unseen drafts. Vendors hawked glowing orbs that whispered prophecies, vials bubbling with liquid starlight, blades that sang when drawn. Patrons slithered through: scaled hides, elongated limbs, eyes like polished jet. A woman with ram's horns bartered fangs; a man whose shadow moved independently tallied coins." | | 22 | "Harlow gripped the token tighter, Glock low and ready. Whispers turned heads—human intruder. A growl rippled from a nearby stall, claws scraping stone." | | 23 | "Tension coiled as a hooded figure blocked Tomás's path, gesturing urgently. Herrera nodded, slipping a vial from the bag—payment? The figure's eyes gleamed inhuman." | | 24 | "Eyes tracked her—predatory, amused. A voice slithered from the shadows: \"Fresh meat, detective?" | | 25 | "Laughter bubbled like boiling tar. The chase had ended; the real hunt began. Harlow's sharp jaw clenched, brown eyes scanning for exits that might not exist. The token burned in her fist—key or curse?" | | 26 | "Tomás vanished behind a curtain of beads, the hooded ally melting away. She lunged after, Glock barking a warning shot into the vaulted ceiling. Sparks rained; screams erupted." | | 27 | "Chaos bloomed. Stalls overturned, potions shattering in coruscating sprays. A tentacled merchant lunged; she sidestepped, pistol-whipping its appendage. Pain flared in her side—claws raking coat, drawing blood." | | 28 | "They're not criminals—they're survivors.\"" | | 29 | "The wall pulsed. Eyes opened in the stone—watching. Judging." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 291 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 4 | | adverbRatio | 0.013745704467353952 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.01718213058419244 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 73 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 73 | | mean | 22.75 | | std | 18.17 | | cv | 0.799 | | sampleLengths | | 0 | 17 | | 1 | 23 | | 2 | 32 | | 3 | 17 | | 4 | 23 | | 5 | 21 | | 6 | 12 | | 7 | 11 | | 8 | 11 | | 9 | 16 | | 10 | 17 | | 11 | 6 | | 12 | 22 | | 13 | 40 | | 14 | 80 | | 15 | 54 | | 16 | 8 | | 17 | 40 | | 18 | 44 | | 19 | 51 | | 20 | 2 | | 21 | 7 | | 22 | 47 | | 23 | 55 | | 24 | 33 | | 25 | 52 | | 26 | 51 | | 27 | 17 | | 28 | 3 | | 29 | 2 | | 30 | 19 | | 31 | 38 | | 32 | 52 | | 33 | 23 | | 34 | 2 | | 35 | 11 | | 36 | 4 | | 37 | 56 | | 38 | 27 | | 39 | 38 | | 40 | 56 | | 41 | 9 | | 42 | 7 | | 43 | 1 | | 44 | 4 | | 45 | 27 | | 46 | 39 | | 47 | 6 | | 48 | 36 | | 49 | 66 |
| |
| 83.11% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.5068493150684932 | | totalSentences | 73 | | uniqueOpeners | 37 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 64 | | matches | (empty) | | ratio | 0 | |
| 88.75% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 21 | | totalSentences | 64 | | matches | | 0 | "She'd been watching the place" | | 1 | "He'd slipped out the back," | | 2 | "Her worn leather watch on" | | 3 | "He was fast for a" | | 4 | "He was a shadow now," | | 5 | "They hit Regent Street, then" | | 6 | "He didn't stop, ducking into" | | 7 | "She mirrored his descent, fence" | | 8 | "she called, using the alias" | | 9 | "He shot her a feral" | | 10 | "His accent thickened with fear—Seville" | | 11 | "They rounded a derelict warehouse," | | 12 | "He met her eyes, warm" | | 13 | "Her radio crackled faintly—storm breaking?" | | 14 | "She thumbed it." | | 15 | "she muttered, and descended" | | 16 | "Her watch ticked: 12:28. Morris's" | | 17 | "You don't get it." | | 18 | "They're not criminals—they're" | | 19 | "She leveled the Glock, rain-slick" |
| | ratio | 0.328 | |
| 38.13% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 54 | | totalSentences | 64 | | matches | | 0 | "Detective Harlow Quinn sprinted through" | | 1 | "The bar's sign flickered above" | | 2 | "She'd been watching the place" | | 3 | "Tonight, her gut had screamed" | | 4 | "He'd slipped out the back," | | 5 | "Harlow bellowed, her voice slicing" | | 6 | "Military precision guided her stride—shoulders" | | 7 | "Water streamed down her closely" | | 8 | "Her worn leather watch on" | | 9 | "Tomás darted left into an" | | 10 | "He was fast for a" | | 11 | "Harlow followed, vaulting a crate" | | 12 | "A car horn blared as" | | 13 | "Harlow shouldered past, flashing her" | | 14 | "He was a shadow now," | | 15 | "They hit Regent Street, then" | | 16 | "He didn't stop, ducking into" | | 17 | "Tomás emerged onto the Euston" | | 18 | "Harlow's watch read 12:09. Sweat" | | 19 | "Camden Lock appeared, locks swollen" |
| | ratio | 0.844 | |
| 78.13% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 64 | | matches | | 0 | "Now he was her suspect," |
| | ratio | 0.016 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 40 | | technicalSentenceCount | 11 | | matches | | 0 | "Detective Harlow Quinn sprinted through the downpour, her boots splashing through puddles that reflected the garish green neon glow of The Raven's Nest." | | 1 | "The bar's sign flickered above the entrance, casting erratic shadows on the wet brick walls lined with old maps and faded photographs—relics of a city that hid …" | | 2 | "He'd slipped out the back, clutching a satchel that bulged suspiciously, his short curly dark hair plastered to his olive-skinned forehead." | | 3 | "They hit Regent Street, then veered into quieter backstreets, the city compressing into wet concrete canyons. Tomás's pace faltered; he clutched his side, medal…" | | 4 | "She mirrored his descent, fence wire snagging her coat. The path was mud-slick, narrow, flanked by graffiti-tagged walls. Barges rocked violently; a loose moori…" | | 5 | "They rounded a derelict warehouse, its windows shattered eyes staring blind. Tomás halted at a rusted manhole cover half-hidden by pallets, breath heaving. He y…" | | 6 | "The cover grated open, revealing not sewer stench, but a spiral stair plunging into abyss. Faint glows emanated from below—torchlight? Candles? Voices murmured,…" | | 7 | "Harlow holstered her radio, drew her Glock. Military bearing locked in: precise, unyielding. She glanced at her watch—12:24—then stepped to the edge. The bone t…" | | 8 | "The stairs spiraled tight, iron rungs slick with condensation. Torchlight grew brighter, walls shifting from concrete to rough-hewn stone etched with sigils tha…" | | 9 | "At the bottom, the abandoned Tube platform sprawled: a cavernous bazaar under vaulted arches. Stalls crammed every inch—tattered awnings fluttering in unseen dr…" | | 10 | "Tension coiled as a hooded figure blocked Tomás's path, gesturing urgently. Herrera nodded, slipping a vial from the bag—payment? The figure's eyes gleamed inhu…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 2 | | matches | | 0 | "Harlow bellowed, her voice slicing through the storm's roar" | | 1 | "she hissed, badge flashing futilely" |
| |
| 73.08% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 2 | | fancyTags | | 0 | "Harlow bellowed (bellow)" | | 1 | "she muttered (mutter)" |
| | dialogueSentences | 26 | | tagDensity | 0.115 | | leniency | 0.231 | | rawRatio | 0.667 | | effectiveRatio | 0.154 | |