| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 13 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 33 | | tagDensity | 0.394 | | leniency | 0.788 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 94.54% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2749 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "slowly" | | 1 | "slightly" | | 2 | "completely" |
| |
| 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) | |
| 56.35% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2749 | | totalAiIsms | 24 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | |
| | highlights | | 0 | "scanning" | | 1 | "flicked" | | 2 | "thundered" | | 3 | "glint" | | 4 | "pulse" | | 5 | "treacherous" | | 6 | "could feel" | | 7 | "weight" | | 8 | "shimmered" | | 9 | "stomach" | | 10 | "chill" | | 11 | "echoes" | | 12 | "sense of" | | 13 | "familiar" | | 14 | "trembled" | | 15 | "footsteps" | | 16 | "echoed" | | 17 | "flicker" | | 18 | "quickened" |
| |
| 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 | 0 | | narrationSentences | 219 | | matches | (empty) | |
| 84.15% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 4 | | hedgeCount | 5 | | narrationSentences | 219 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 239 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 39 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2714 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 71 | | wordCount | 2503 | | uniqueNames | 17 | | maxNameDensity | 1.2 | | worstName | "Harlow" | | maxWindowNameDensity | 3 | | worstWindowName | "Harlow" | | discoveredNames | | Soho | 2 | | Harlow | 30 | | Quinn | 1 | | Raven | 1 | | Nest | 1 | | Metropolitan | 1 | | Police | 1 | | Tomás | 15 | | Herrera | 1 | | Saint | 2 | | Christopher | 2 | | Morris | 4 | | Camden | 2 | | Static | 1 | | Market | 2 | | Tube | 3 | | Veil | 2 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Raven" | | 3 | "Nest" | | 4 | "Police" | | 5 | "Tomás" | | 6 | "Herrera" | | 7 | "Saint" | | 8 | "Christopher" | | 9 | "Morris" | | 10 | "Static" | | 11 | "Veil" |
| | places | | 0 | "Soho" | | 1 | "Metropolitan" | | 2 | "Camden" | | 3 | "Market" |
| | globalScore | 0.901 | | windowScore | 0.667 | |
| 30.24% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 167 | | glossingSentenceCount | 8 | | matches | | 0 | "not quite a smile" | | 1 | "Not quite letters, not quite markings" | | 2 | "not quite markings" | | 3 | "tasted like old metal" | | 4 | "seemed deeper than the physical one" | | 5 | "as if responding to a cue Harlow couldn’t see" | | 6 | "looked like a deeper threshold—another la" | | 7 | "something like fear" | | 8 | "something like a veil, swallowing edges" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.368 | | wordCount | 2714 | | matches | | 0 | "not only soaked the surface but condensed into something with weight" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 239 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 90 | | mean | 30.16 | | std | 18.68 | | cv | 0.619 | | sampleLengths | | 0 | 54 | | 1 | 65 | | 2 | 57 | | 3 | 39 | | 4 | 43 | | 5 | 14 | | 6 | 18 | | 7 | 18 | | 8 | 80 | | 9 | 6 | | 10 | 23 | | 11 | 24 | | 12 | 47 | | 13 | 28 | | 14 | 7 | | 15 | 18 | | 16 | 44 | | 17 | 3 | | 18 | 30 | | 19 | 30 | | 20 | 11 | | 21 | 16 | | 22 | 36 | | 23 | 8 | | 24 | 87 | | 25 | 45 | | 26 | 35 | | 27 | 24 | | 28 | 36 | | 29 | 43 | | 30 | 42 | | 31 | 42 | | 32 | 54 | | 33 | 25 | | 34 | 50 | | 35 | 45 | | 36 | 32 | | 37 | 15 | | 38 | 3 | | 39 | 49 | | 40 | 12 | | 41 | 15 | | 42 | 62 | | 43 | 10 | | 44 | 6 | | 45 | 41 | | 46 | 29 | | 47 | 49 | | 48 | 15 | | 49 | 19 |
| |
| 97.25% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 219 | | matches | | 0 | "was connected" | | 1 | "been left" | | 2 | "been allowed" | | 3 | "been gone" | | 4 | "been trained" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 468 | | matches | | 0 | "was trying" | | 1 | "was submitting" | | 2 | "was going" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 34 | | semicolonCount | 6 | | flaggedSentences | 32 | | totalSentences | 239 | | ratio | 0.134 | | matches | | 0 | "Neon bled into puddles—green from the sign above the door, white from passing headlights—turning the pavement into a living collage of color and water." | | 1 | "The Raven’s Nest sat with its usual attitude—quiet, closed-mouth, dim." | | 2 | "A bartender wiped the same glass with the same towel; it sounded deliberate." | | 3 | "He was there—Tomás Herrera, olive-skinned and tired-eyed in a way that didn’t match his age." | | 4 | "She’d never managed to make her gut stop insisting he was connected to the clique she’d been tracking—those names that kept appearing in reports without substance, those faces that kept refusing to sit still when the net tightened." | | 5 | "The official files stopped there; the rest lived in whispers and the bruises of people who didn’t want witnesses." | | 6 | "Then he reached into his jacket—slowly—and pulled out a small scrap of paper, creased and dampened at the edges." | | 7 | "Enchanted in its own way—she could almost feel the pressure of it on her eyes." | | 8 | "When he passed, Harlow caught a brief glint near his belt—something pale and curved." | | 9 | "The man in the hood was already gone—slick footprints merging with the rain-slicked street." | | 10 | "Somewhere in her mind, memory tried to intrude—DS Morris, three years ago, disappearing on a case with supernatural origins she hadn’t been able to explain since." | | 11 | "They reached an area under construction—fencing bent and flapping." | | 12 | "That had always been her mistake in the past—assuming that because she’d never seen a thing, it couldn’t be real." | | 13 | "At its entrance, a thin barrier shimmered like heat on asphalt—no ropes, no bars, just a boundary that made the space behind it look wrong." | | 14 | "She had the token she’d found months ago in Morris’s seized effects—half-hidden beneath a false bottom in a lockbox she’d never been allowed to open." | | 15 | "The chase, the rain, the city above—it all fell away." | | 16 | "The Veil Market didn’t just sell enchanted goods; it ran on rules that didn’t care whether you survived them." | | 17 | "Three years ago, Morris had looked at something—at nothing—and then he’d been gone." | | 18 | "If she didn’t follow, the hooded man would reach the market, and whatever he carried—whatever he’d come to buy or deliver—would be gone before she could make sense of it." | | 19 | "Her fingers trembled once—only once—then steadied." | | 20 | "Sound carried differently too; her footsteps no longer echoed the way they should have." | | 21 | "Lamps burned with greenish light that didn’t flicker; they glowed as if fed by the darkness itself." | | 22 | "Signs hung from beams—simple shapes, not letters—indicating vendors, exits, exchanges." | | 23 | "Some wore ordinary clothes slick with rain despite the ceiling above them being dry; others wore things too precise, too strange." | | 24 | "A voice cut through the noise—soft, amused, not belonging to anyone she could see clearly." | | 25 | "Her flashlight beam snapped toward the source and caught only a figure partially obscured by hanging goods—bundles wrapped in oilcloth, jars that glimmered with something inside." | | 26 | "Her grip tightened on her token—now a useless weight in her pocket." | | 27 | "The archway ahead looked like a deeper threshold—another layer of the market, another set of rules." | | 28 | "Somewhere in the stalls, something glass chimed—delicate, like a bell rung for attention." | | 29 | "She saw hands passing objects—nothing she recognized as normal currency." | | 30 | "She saw a child—maybe a trick of shadow—stare at her with an expression too old." | | 31 | "She faced the archway and started forward, not running—advancing with control." |
| |
| 98.97% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 2550 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 105 | | adverbRatio | 0.041176470588235294 | | lyAdverbCount | 19 | | lyAdverbRatio | 0.007450980392156863 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 239 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 239 | | mean | 11.36 | | std | 7.2 | | cv | 0.634 | | sampleLengths | | 0 | 10 | | 1 | 20 | | 2 | 24 | | 3 | 22 | | 4 | 9 | | 5 | 13 | | 6 | 21 | | 7 | 10 | | 8 | 20 | | 9 | 13 | | 10 | 14 | | 11 | 5 | | 12 | 12 | | 13 | 22 | | 14 | 15 | | 15 | 5 | | 16 | 7 | | 17 | 16 | | 18 | 14 | | 19 | 13 | | 20 | 5 | | 21 | 7 | | 22 | 11 | | 23 | 4 | | 24 | 38 | | 25 | 9 | | 26 | 10 | | 27 | 19 | | 28 | 6 | | 29 | 18 | | 30 | 5 | | 31 | 19 | | 32 | 5 | | 33 | 2 | | 34 | 15 | | 35 | 19 | | 36 | 6 | | 37 | 5 | | 38 | 5 | | 39 | 2 | | 40 | 6 | | 41 | 15 | | 42 | 7 | | 43 | 7 | | 44 | 11 | | 45 | 17 | | 46 | 13 | | 47 | 14 | | 48 | 3 | | 49 | 3 |
| |
| 41.21% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 21 | | diversityRatio | 0.2928870292887029 | | totalSentences | 239 | | uniqueOpeners | 70 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 10 | | totalSentences | 209 | | matches | | 0 | "Closely cropped salt-and-pepper hair lay" | | 1 | "Somewhere in the back, a" | | 2 | "Then he reached into his" | | 3 | "Too strange for the paperwork." | | 4 | "Too heavy for a judge’s" | | 5 | "Somewhere in her mind, memory" | | 6 | "Instead, it opened into an" | | 7 | "Then she saw it: a" | | 8 | "Potentially dangerous territory." | | 9 | "Somewhere in the stalls, something" |
| | ratio | 0.048 | |
| 82.20% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 72 | | totalSentences | 209 | | matches | | 0 | "It ran in sheets off" | | 1 | "Her sharp jawline looked even" | | 2 | "She kept her left wrist" | | 3 | "She moved through the room" | | 4 | "He was there—Tomás Herrera, olive-skinned" | | 5 | "he said, voice kept low" | | 6 | "She’d never managed to make" | | 7 | "He offered off-the-books medical care," | | 8 | "He’d lost his license after" | | 9 | "He didn’t hand it to" | | 10 | "He held it between them." | | 11 | "He moved like he knew" | | 12 | "Her pulse tightened." | | 13 | "She’d seen them once in" | | 14 | "He didn’t need to." | | 15 | "He moved around it, toward" | | 16 | "She caught the door as" | | 17 | "She broke into a run," | | 18 | "Her breath came in harsh" | | 19 | "She’d seen things then that" |
| | ratio | 0.344 | |
| 55.69% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 169 | | totalSentences | 209 | | matches | | 0 | "It ran in sheets off" | | 1 | "Neon bled into puddles—green from" | | 2 | "Detective Harlow Quinn stepped under" | | 3 | "Her sharp jawline looked even" | | 4 | "She kept her left wrist" | | 5 | "The Raven’s Nest sat with" | | 6 | "A bartender wiped the same" | | 7 | "Harlow didn’t bother with pleasantries." | | 8 | "She moved through the room" | | 9 | "He was there—Tomás Herrera, olive-skinned" | | 10 | "A scar running along his" | | 11 | "A Saint Christopher medallion tucked" | | 12 | "he said, voice kept low" | | 13 | "Harlow stopped two steps away," | | 14 | "Tomás’s mouth twitched, not quite" | | 15 | "Harlow watched him closely." | | 16 | "She’d never managed to make" | | 17 | "He offered off-the-books medical care," | | 18 | "He’d lost his license after" | | 19 | "The official files stopped there;" |
| | ratio | 0.809 | |
| 71.77% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 209 | | matches | | 0 | "Either he didn’t care, or" | | 1 | "If she followed, she’d be" | | 2 | "If she didn’t follow, the" |
| | ratio | 0.014 | |
| 37.04% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 108 | | technicalSentenceCount | 16 | | matches | | 0 | "Detective Harlow Quinn stepped under the awning anyway, shoulders squared against the weather, as if she could order the elements into compliance." | | 1 | "Old maps and black-and-white photographs covered the walls as if someone had tried to wallpaper a crime story into respectability." | | 2 | "He was there—Tomás Herrera, olive-skinned and tired-eyed in a way that didn’t match his age." | | 3 | "She’d never managed to make her gut stop insisting he was connected to the clique she’d been tracking—those names that kept appearing in reports without substan…" | | 4 | "He moved around it, toward the front door, as if he’d already rehearsed the escape route through the rain." | | 5 | "He headed toward Camden with the stubborn certainty of someone who believed he could outrun consequences underground." | | 6 | "Instead, it opened into an abandoned Tube station beneath Camden, the kind of place that had been left behind by commuters and forgotten by planners." | | 7 | "The air down here felt different: thicker, as if the rain had not only soaked the surface but condensed into something with weight." | | 8 | "At its entrance, a thin barrier shimmered like heat on asphalt—no ropes, no bars, just a boundary that made the space behind it look wrong." | | 9 | "The hooded man vanished into the corridor the barrier opened, his hood disappearing into a darkness that seemed deeper than the physical one." | | 10 | "It rippled across the bone token and then across the space in front of her, parting with a quiet shiver that made her teeth ache." | | 11 | "It was sharper, laced with smells that didn’t belong together: incense and iron, wet stone and something sweet like bruised fruit." | | 12 | "Her flashlight beam snapped toward the source and caught only a figure partially obscured by hanging goods—bundles wrapped in oilcloth, jars that glimmered with…" | | 13 | "He looked wetter than he should have, rain clinging to his hair as though he’d just come from outside, but his expression was calm in a way that made her suspic…" | | 14 | "A ripple of movement surged in that direction, people parting as if responding to a cue Harlow couldn’t see." | | 15 | "The sound of the abandoned Tube station died completely, replaced by a new hush, as if the market itself had turned its face toward her." |
| |
| 9.62% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 13 | | uselessAdditionCount | 3 | | matches | | 0 | "he repeated, but the words carried less warning than warning used to" | | 1 | "he called, softer" | | 2 | "she said, voice steady even when fear tried to climb her ribs" |
| |
| 89.39% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 2 | | fancyTags | | 0 | "she barked (bark)" | | 1 | "he repeated (repeat)" |
| | dialogueSentences | 33 | | tagDensity | 0.242 | | leniency | 0.485 | | rawRatio | 0.25 | | effectiveRatio | 0.121 | |