| 88.89% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 1 | | adverbTags | | 0 | "A guttural response rumbled back [back]" |
| | dialogueSentences | 15 | | tagDensity | 0.6 | | leniency | 1 | | rawRatio | 0.111 | | effectiveRatio | 0.111 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1960 | | 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) | |
| 84.69% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1960 | | totalAiIsms | 6 | | found | | | highlights | | 0 | "clandestine" | | 1 | "warmth" | | 2 | "glint" | | 3 | "etched" | | 4 | "fleeting" | | 5 | "glinting" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "blood ran cold" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 73 | | matches | | |
| 45.01% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 4 | | hedgeCount | 1 | | narrationSentences | 73 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 79 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 68 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1915 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 19 | | unquotedAttributions | 1 | | matches | | 0 | "She noted every detail: the way he kept his hand in his parka pocket (a switchblade, she guessed), the frayed edge of hi…" |
| |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 73 | | wordCount | 1675 | | uniqueNames | 18 | | maxNameDensity | 1.07 | | worstName | "Harlow" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Harlow" | | discoveredNames | | Harlow | 18 | | Soho | 2 | | Morris | 10 | | Raven | 3 | | Nest | 3 | | Thames | 1 | | Jax | 8 | | Camden | 3 | | Tube | 1 | | Veil | 4 | | Market | 4 | | Saint | 2 | | Christopher | 2 | | Herrera | 1 | | Seville | 2 | | London | 1 | | Tomás | 7 | | Quinn | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Morris" | | 2 | "Jax" | | 3 | "Market" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "Herrera" | | 7 | "Tomás" | | 8 | "Quinn" |
| | places | | 0 | "Soho" | | 1 | "Thames" | | 2 | "Camden" | | 3 | "Seville" | | 4 | "London" |
| | globalScore | 0.963 | | windowScore | 0.833 | |
| 75.37% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 67 | | glossingSentenceCount | 2 | | matches | | 0 | "as if following a pre-plotted route" | | 1 | "quite name (one had antlers sprouting from their head, another’s skin glowed like bioluminescent algae" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1915 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 79 | | matches | (empty) | |
| 69.27% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 17 | | mean | 112.65 | | std | 44.21 | | cv | 0.392 | | sampleLengths | | 0 | 198 | | 1 | 131 | | 2 | 115 | | 3 | 202 | | 4 | 153 | | 5 | 154 | | 6 | 102 | | 7 | 73 | | 8 | 64 | | 9 | 105 | | 10 | 95 | | 11 | 103 | | 12 | 94 | | 13 | 21 | | 14 | 81 | | 15 | 110 | | 16 | 114 |
| |
| 95.65% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 73 | | matches | | 0 | "was found" | | 1 | "been fired" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 268 | | matches | | 0 | "was waiting" | | 1 | "was disappearing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 29 | | semicolonCount | 2 | | flaggedSentences | 23 | | totalSentences | 79 | | ratio | 0.291 | | matches | | 0 | "Her worn leather watch—scuffed at the lugs from three years of gripping Morris’s service weapon at crime scenes—ticked against her left wrist: 1:17 a.m.—a steady metronome for the three hours she’d staked The Raven’s Nest." | | 1 | "Through the fogged window, she’d mapped every crevice of the dim interior: a frayed 1920s map of the Thames peeling from the north wall, its edges blackened by cigarette smoke; black-and-white photos of long-dead sailors nailed crookedly beside it, some clutching strange amulets she’d never seen in museum exhibits; the hush of clandestine conversations that made her skin prickle like Morris’s final radio call had." | | 2 | "Three years ago, he’d been staking this same bar when he’d radioed in a garbled cry about “a market of shadows” before his body was found in a nearby alley—no wounds, no signs of struggle, just his eyes wide with unnameable terror." | | 3 | "Then he emerged: Jax, the clique enforcer she’d been tracking for six weeks, his torn black parka hood pulled low but not low enough to hide the faint glint of a silver ring etched with a raven—clique insignia she’d seen on the pocket of Morris’s last case file." | | 4 | "She scooped the torn scarf edge into her coat pocket—a small trophy, a link to the case that had consumed her since Morris’s death." | | 5 | "By the time they reached Camden, the rain had softened to a drizzle, but the air smelled of damp concrete and rot—fitting for the abandoned Tube station she’d dug up in her late-night file searches, the current home of the Veil Market." | | 6 | "Jax darted down an alley choked with discarded mattresses and broken glass, his parka slipping off one shoulder to reveal a gnarled tattoo of a veil on his bicep—another clique marker, one she’d never seen in any official report." | | 7 | "The alley ended at a rusted metal door set into a brick wall—she recognized the faint scratch marks around the handle, the telltale sign of the Veil Market’s doorman’s clawed fingers." | | 8 | "She hesitated, her leather watch ticking louder in her ears—what if this was the same thing that had snuffed out Morris’s life without a trace?" | | 9 | "Jax’s voice cut through the hum: “Bone token for entry—here to drop off the shipment of wisp powder.” A guttural response rumbled back—too deep for a human throat, Harlow thought—and then the scrape of the door opening." | | 10 | "She peeked around the corner just in time to see Jax press a small, yellowed bone token into a doorman’s palm—an old man with skin like cracked earth, his eyes milky white but sharp enough to pin Jax with a glare that made the enforcer flinch." | | 11 | "The Veil Market’s entry requirement was non-negotiable, according to her fleeting intel—no bone token, no entry." | | 12 | "Harlow’s gaze darted to his left forearm—there it was, the thin scar running along the length of it, a knife wound from a clique dispute she’d noted in his file (he’d been defending a supernatural patient from a group of thugs outside a Camden café)." | | 13 | "Former NHS paramedic, born in Seville, who’d moved to London to care for his ailing grandmother before losing his license after administering unauthorized treatments to that same supernatural patient—someone the NHS had refused to treat because they couldn’t explain their glowing blue bruises." | | 14 | "Tomás adjusted his medallion, his fingers brushing the scar as if it still ached, and pulled a small leather satchel from his shoulder—she guessed it held bandages soaked in moonwater and alchemical painkillers for the market’s patrons." | | 15 | "A plan sparked: distract him, steal whatever token he had, slip into the market before Jax could disappear with the wisp powder—a substance she’d found a trace of on Morris’s coat, a substance that could erase memories or kill, depending on its purity." | | 16 | "Tomás’s jaw tightened, and Harlow saw a flash of grief in his eyes—grief for his lost license, for his grandmother who’d died shortly after he’d been fired, for the patients he couldn’t help." | | 17 | "Tomás sighed, reaching into his satchel and pulling out a small bone token—carved with the face of Saint Christopher, probably matched to his medallion." | | 18 | "She glanced at her leather watch—1:43 a.m.—and thought of the 1920s map in The Raven’s Nest, of the sailors with strange amulets, of the wisp powder that had haunted her for three years." | | 19 | "He thought of his abuela’s words—help the ones who can’t help themselves—and pressed the token into her palm." | | 20 | "He turned and rapped on the metal door three times—two short, one long—a code Harlow made a mental note of." | | 21 | "She rapped on the door three times—two short, one long—and when the doorman’s milky eyes locked on her, she pulled out the bone token and held it up." | | 22 | "And Harlow Quinn, military-trained detective with 18 years of decorated service, was finally going to find it—even if it killed her." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1717 | | adjectiveStacks | 1 | | stackExamples | | 0 | "same supernatural patient—someone" |
| | adverbCount | 37 | | adverbRatio | 0.021549213744903904 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.0052417006406523005 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 79 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 79 | | mean | 24.24 | | std | 13.03 | | cv | 0.538 | | sampleLengths | | 0 | 31 | | 1 | 35 | | 2 | 25 | | 3 | 65 | | 4 | 42 | | 5 | 17 | | 6 | 25 | | 7 | 15 | | 8 | 48 | | 9 | 26 | | 10 | 20 | | 11 | 24 | | 12 | 47 | | 13 | 24 | | 14 | 42 | | 15 | 39 | | 16 | 16 | | 17 | 31 | | 18 | 16 | | 19 | 25 | | 20 | 33 | | 21 | 25 | | 22 | 37 | | 23 | 46 | | 24 | 10 | | 25 | 16 | | 26 | 19 | | 27 | 4 | | 28 | 29 | | 29 | 45 | | 30 | 2 | | 31 | 43 | | 32 | 31 | | 33 | 37 | | 34 | 22 | | 35 | 43 | | 36 | 15 | | 37 | 17 | | 38 | 20 | | 39 | 21 | | 40 | 9 | | 41 | 20 | | 42 | 12 | | 43 | 23 | | 44 | 33 | | 45 | 11 | | 46 | 61 | | 47 | 4 | | 48 | 28 | | 49 | 27 |
| |
| 51.48% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.35443037974683544 | | totalSentences | 79 | | uniqueOpeners | 28 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 71 | | matches | | 0 | "Then he emerged: Jax, the" | | 1 | "Then she saw him." | | 2 | "Somewhere in the crowd, Jax" | | 3 | "Somewhere in the shadows, the" |
| | ratio | 0.056 | |
| 67.89% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 27 | | totalSentences | 71 | | matches | | 0 | "Her worn leather watch—scuffed at" | | 1 | "She’d tucked her badge into" | | 2 | "His boots sloshed through the" | | 3 | "She noted every detail: the" | | 4 | "She scooped the torn scarf" | | 5 | "She hesitated, her leather watch" | | 6 | "She pressed her ear to" | | 7 | "She peeked around the corner" | | 8 | "She’d spent months trying to" | | 9 | "She’d tracked his ties to" | | 10 | "He glanced at his phone," | | 11 | "he said, his Seville accent" | | 12 | "she said, her voice steady" | | 13 | "he said, his gaze flicking" | | 14 | "She thought of Morris’s empty" | | 15 | "She thought of her worn" | | 16 | "she said, her voice cracking" | | 17 | "he said, but he didn’t" | | 18 | "She could turn back, file" | | 19 | "She could go home, make" |
| | ratio | 0.38 | |
| 44.51% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 59 | | totalSentences | 71 | | matches | | 0 | "The rain lashed Harlow’s closely" | | 1 | "Her worn leather watch—scuffed at" | | 2 | "The bar’s distinctive green neon" | | 3 | "Harlow’s military training kept her" | | 4 | "She’d tucked her badge into" | | 5 | "The bar’s door creaked open," | | 6 | "His boots sloshed through the" | | 7 | "The chase stretched through Soho’s" | | 8 | "Harlow matched his pace, her" | | 9 | "She noted every detail: the" | | 10 | "She scooped the torn scarf" | | 11 | "Jax darted down an alley" | | 12 | "Harlow skidded to a halt" | | 13 | "The alley ended at a" | | 14 | "Morris had mentioned a door" | | 15 | "She hesitated, her leather watch" | | 16 | "She pressed her ear to" | | 17 | "Jax’s voice cut through the" | | 18 | "She peeked around the corner" | | 19 | "The door closed behind him," |
| | ratio | 0.831 | |
| 70.42% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 71 | | matches | | 0 | "By the time they reached" |
| | ratio | 0.014 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 57 | | technicalSentenceCount | 15 | | matches | | 0 | "The bar’s distinctive green neon sign bleeded into the downpour, turning the puddles at her feet to murky lime that sloshed over her scuffed boots." | | 1 | "Through the fogged window, she’d mapped every crevice of the dim interior: a frayed 1920s map of the Thames peeling from the north wall, its edges blackened by …" | | 2 | "The chase stretched through Soho’s narrow streets, rain turning the pavements to glass that made Jax’s steps slip and stutter." | | 3 | "She noted every detail: the way he kept his hand in his parka pocket (a switchblade, she guessed), the frayed edge of his red scarf catching on a metal bus stop…" | | 4 | "She scooped the torn scarf edge into her coat pocket—a small trophy, a link to the case that had consumed her since Morris’s death." | | 5 | "She hesitated, her leather watch ticking louder in her ears—what if this was the same thing that had snuffed out Morris’s life without a trace?" | | 6 | "She peeked around the corner just in time to see Jax press a small, yellowed bone token into a doorman’s palm—an old man with skin like cracked earth, his eyes …" | | 7 | "Former NHS paramedic, born in Seville, who’d moved to London to care for his ailing grandmother before losing his license after administering unauthorized treat…" | | 8 | "Tomás adjusted his medallion, his fingers brushing the scar as if it still ached, and pulled a small leather satchel from his shoulder—she guessed it held banda…" | | 9 | "A plan sparked: distract him, steal whatever token he had, slip into the market before Jax could disappear with the wisp powder—a substance she’d found a trace …" | | 10 | "Tomás’s jaw tightened, and Harlow saw a flash of grief in his eyes—grief for his lost license, for his grandmother who’d died shortly after he’d been fired, for…" | | 11 | "She thought of her worn leather watch, which he’d given her for her 38th birthday, saying it would keep her on time for the cases that mattered." | | 12 | "He thought of his abuela’s words—help the ones who can’t help themselves—and pressed the token into her palm." | | 13 | "Harlow stepped through, her boots hitting a stone floor that smelled of ancient dirt and burnt alchemical substances." | | 14 | "The Veil Market stretched out before her: stalls lit by flickering torchlight, their vendors selling enchanted herbs and banned alchemical potions, their patron…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 3 | | matches | | 0 | "she said, her voice steady despite the hammering of her heart" | | 1 | "he said, his gaze flicking to the metal door" | | 2 | "she said, her voice cracking just a little" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 15 | | tagDensity | 0.467 | | leniency | 0.933 | | rawRatio | 0 | | effectiveRatio | 0 | |