| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 8 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 11 | | tagDensity | 0.727 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 93.95% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1654 | | 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) | |
| 60.70% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1654 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "glint" | | 1 | "weight" | | 2 | "beacon" | | 3 | "scanning" | | 4 | "flickered" | | 5 | "echoing" | | 6 | "gloom" | | 7 | "silk" | | 8 | "flicked" | | 9 | "otherworldly" | | 10 | "glinting" | | 11 | "resolve" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 62 | | matches | | |
| 50.69% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 2 | | narrationSentences | 62 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 66 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 48 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1624 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 13 | | unquotedAttributions | 0 | | matches | (empty) | |
| 97.48% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 58 | | wordCount | 1428 | | uniqueNames | 26 | | maxNameDensity | 1.05 | | worstName | "Harlow" | | maxWindowNameDensity | 2 | | worstWindowName | "Harlow" | | discoveredNames | | Harlow | 15 | | Soho | 3 | | Morris | 7 | | Christmases | 1 | | Union | 1 | | Jack | 1 | | Raven | 1 | | Nest | 1 | | Thames | 1 | | Scottish | 1 | | Highlands | 1 | | Silas | 1 | | British | 1 | | Isles | 1 | | Tube | 1 | | Camden | 1 | | Northern | 1 | | Line | 1 | | Veil | 2 | | Market | 2 | | Tomás | 5 | | Herrera | 1 | | Seville | 1 | | Saint | 3 | | Christopher | 3 | | Spanish | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Morris" | | 2 | "Union" | | 3 | "Jack" | | 4 | "Raven" | | 5 | "Silas" | | 6 | "Camden" | | 7 | "Tomás" | | 8 | "Herrera" | | 9 | "Saint" | | 10 | "Christopher" |
| | places | | 0 | "Soho" | | 1 | "Thames" | | 2 | "Highlands" | | 3 | "Market" | | 4 | "Seville" | | 5 | "Spanish" |
| | globalScore | 0.975 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 57 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1624 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 66 | | matches | (empty) | |
| 71.92% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 16 | | mean | 101.5 | | std | 40.77 | | cv | 0.402 | | sampleLengths | | 0 | 134 | | 1 | 152 | | 2 | 103 | | 3 | 155 | | 4 | 123 | | 5 | 154 | | 6 | 144 | | 7 | 146 | | 8 | 65 | | 9 | 51 | | 10 | 77 | | 11 | 49 | | 12 | 60 | | 13 | 43 | | 14 | 76 | | 15 | 92 |
| |
| 76.97% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 62 | | matches | | 0 | "were crammed" | | 1 | "was gone" | | 2 | "been told" | | 3 | "been marked" | | 4 | "were frayed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 237 | | matches | | 0 | "was standing" | | 1 | "was kneeling" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 18 | | semicolonCount | 2 | | flaggedSentences | 16 | | totalSentences | 66 | | ratio | 0.242 | | matches | | 0 | "She leaned against a rain-slicked brick wall in Soho, her left wrist throbbing where her worn leather watch dug into the skin—a gift from DS Morris, three Christmases before he vanished into the unexplained dark of a case she still couldn’t close." | | 1 | "She’d seen the glint of a glass vial through the fabric earlier, a hint of the banned alchemical substances she’d linked to the clique’s trafficking ring—the same ring she suspected had gotten Morris killed." | | 2 | "Harlow tensed, her military precision kicking in—shoulders back, weight shifted to her balls of her feet, hand hovering near the baton at her belt." | | 3 | "Her legs burned—18 years on the force had kept her fit, but the rain slowed her, and he gained a step when he skidded around a corner." | | 4 | "Harlow recognized it immediately—her files on the clique were thick with notes about Silas’ bar, the hidden back room accessible through a bookshelf, the old maps and black-and-white photographs lining the walls." | | 5 | "She’d staked it out twice before, but never managed to get past the bartender—a burly man with a scar across his cheek who’d threatened to call the boys if she didn’t leave." | | 6 | "Two other men at the bar—clique members, by the way they tensed, their hands resting on hidden blades at their belts—glanced at her, but she ignored them, her eyes scanning the room." | | 7 | "Black-and-white photographs stared down from the rafters—Soho gangsters from the 1950s, their faces hard with menace; a group of women in flapper dresses, laughing at a table; a young Silas, standing behind the bar with a cigar in his hand." | | 8 | "Harlow hesitated for half a second—her training screamed caution, but the ghost of Morris’s face flickered in her mind, his last words a garbled warning about “things that don’t belong” before he died in her arms, his skin cold and clammy despite the summer heat." | | 9 | "The courier’s footprints were visible in the mud, leading deeper into the tunnel, and she followed them for ten minutes until the tunnel opened into an abandoned Tube station—Camden’s old Northern Line stop, according to the chipped sign above the platform." | | 10 | "Harlow pressed herself against a pillar, watching as he pulled out a small, yellowed bone token—the entry requirement, she’d been told, carved from the bone of a supernatural creature." | | 11 | "Harlow’s heart sank—she didn’t have a token, couldn’t get in without one, and if she turned back now, the courier would vanish with the vial in his coat, and Morris’s case would remain unsolved." | | 12 | "It was Tomás Herrera—she’d memorized his file: former NHS paramedic, born in Seville, lost his license for unauthorized treatments to supernatural patients, Saint Christopher medallion around his neck, scar running along his left forearm from a knife attack he’d received while protecting a vampire from a mob." | | 13 | "The fairy under the blanket whimpered, and Tomás whispered a prayer in Spanish—a plea to Saint Christopher to protect the creature—before turning back to Harlow." | | 14 | "She thought of the risk—of the supernatural creatures that would see her as prey, of the clique members that would try to kill her, of the possibility that she’d end up like Morris, cold and dead in a dark tunnel." | | 15 | "Then she stepped through—into the dark, unknown heart of the Veil Market, her baton ready, her resolve unbroken, the faint murmur of supernatural bartering rising to greet her like a warning." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 494 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 10 | | adverbRatio | 0.020242914979757085 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.008097165991902834 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 66 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 66 | | mean | 24.61 | | std | 11.4 | | cv | 0.463 | | sampleLengths | | 0 | 21 | | 1 | 42 | | 2 | 37 | | 3 | 34 | | 4 | 12 | | 5 | 24 | | 6 | 38 | | 7 | 20 | | 8 | 31 | | 9 | 27 | | 10 | 30 | | 11 | 32 | | 12 | 32 | | 13 | 9 | | 14 | 11 | | 15 | 22 | | 16 | 32 | | 17 | 27 | | 18 | 40 | | 19 | 23 | | 20 | 34 | | 21 | 21 | | 22 | 45 | | 23 | 23 | | 24 | 22 | | 25 | 27 | | 26 | 41 | | 27 | 39 | | 28 | 25 | | 29 | 15 | | 30 | 29 | | 31 | 38 | | 32 | 34 | | 33 | 26 | | 34 | 2 | | 35 | 12 | | 36 | 45 | | 37 | 47 | | 38 | 17 | | 39 | 25 | | 40 | 9 | | 41 | 16 | | 42 | 40 | | 43 | 7 | | 44 | 16 | | 45 | 28 | | 46 | 7 | | 47 | 17 | | 48 | 20 | | 49 | 33 |
| |
| 43.94% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.25757575757575757 | | totalSentences | 66 | | uniqueOpeners | 17 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 60 | | matches | | 0 | "Then she saw it: a" | | 1 | "Then she thought of Morris’s" | | 2 | "Then she stepped through—into the" |
| | ratio | 0.05 | |
| 46.67% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 26 | | totalSentences | 60 | | matches | | 0 | "She leaned against a rain-slicked" | | 1 | "It was 2:17 AM, according" | | 2 | "She’d seen the glint of" | | 3 | "Her legs burned—18 years on" | | 4 | "He skidded to a halt" | | 5 | "She’d staked it out twice" | | 6 | "She moved silently, her fingers" | | 7 | "She tugged it, and the" | | 8 | "She descended, her flashlight cutting" | | 9 | "She’d heard rumors of fairies" | | 10 | "He flicked it at a" | | 11 | "She thought of the way" | | 12 | "She turned her flashlight beam," | | 13 | "It was Tomás Herrera—she’d memorized" | | 14 | "He looked up, his warm" | | 15 | "he said, his voice low" | | 16 | "He tucked the Saint Christopher" | | 17 | "He glanced at the fairy," | | 18 | "he said, stepping forward to" | | 19 | "She’d spent three years chasing" |
| | ratio | 0.433 | |
| 10.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 54 | | totalSentences | 60 | | matches | | 0 | "The rain came down in" | | 1 | "She leaned against a rain-slicked" | | 2 | "It was 2:17 AM, according" | | 3 | "She’d seen the glint of" | | 4 | "The courier’s head snapped up," | | 5 | "Harlow tensed, her military precision" | | 6 | "Harlow gave chase, her brown" | | 7 | "The rain muffled the sound" | | 8 | "Her legs burned—18 years on" | | 9 | "He skidded to a halt" | | 10 | "Harlow recognized it immediately—her files" | | 11 | "She’d staked it out twice" | | 12 | "The courier wrenched open the" | | 13 | "Harlow followed, her boots thudding" | | 14 | "The air reeked of whiskey" | | 15 | "The walls were crammed with" | | 16 | "The courier was gone, but" | | 17 | "She moved silently, her fingers" | | 18 | "She tugged it, and the" | | 19 | "Harlow hesitated for half a" |
| | ratio | 0.9 | |
| 83.33% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 60 | | matches | | 0 | "Before she could move, he" |
| | ratio | 0.017 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 11 | | matches | | 0 | "The courier’s head snapped up, his eyes flicking to her hiding spot." | | 1 | "Before she could move, he bolted, his boots squelching on the cobblestones as he cut between a kebab cart (its metal sides steaming despite the rain) and a clos…" | | 2 | "Two other men at the bar—clique members, by the way they tensed, their hands resting on hidden blades at their belts—glanced at her, but she ignored them, her e…" | | 3 | "She descended, her flashlight cutting through the dark as she took each step slowly, her hand resting on the baton at her belt." | | 4 | "Harlow’s boots splashed in puddles of rainwater that had seeped through the ceiling, and she pulled her flashlight from her belt, its beam cutting through the g…" | | 5 | "This was the Veil Market’s current location, she’d learned from her investigations: an underground supernatural black market that moved with every full moon, se…" | | 6 | "He flicked it at a shadowy figure standing by the ticket barriers, a woman with eyes that glowed with a faint red light, and the figure nodded, stepping aside t…" | | 7 | "She turned her flashlight beam, and her breath caught: a man with olive skin and short curly dark brown hair was kneeling beside a figure wrapped in a tattered …" | | 8 | "She reached down, tucking it into her pocket, her fingers closing around the smooth, yellowed surface." | | 9 | "She thought of the risk—of the supernatural creatures that would see her as prey, of the clique members that would try to kill her, of the possibility that she’…" | | 10 | "Harlow paused for a second, her hand hovering over the barrier, the worn leather watch on her left wrist ticking like a countdown in her ear." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 8 | | uselessAdditionCount | 2 | | matches | | 0 | "he said, his voice low and wary" | | 1 | "he said, his voice urgent" |
| |
| 66.67% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 1 | | fancyTags | | 0 | "Harlow hesitated (hesitate)" |
| | dialogueSentences | 11 | | tagDensity | 0.545 | | leniency | 1 | | rawRatio | 0.167 | | effectiveRatio | 0.167 | |