| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 1 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 90.19% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2039 | | totalAiIsmAdverbs | 4 | | 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) | |
| 70.57% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2039 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "echoing" | | 1 | "flicked" | | 2 | "etched" | | 3 | "glint" | | 4 | "oppressive" | | 5 | "silence" | | 6 | "tracing" | | 7 | "encounter" | | 8 | "warmth" | | 9 | "database" |
| |
| 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 | 135 | | matches | | |
| 47.62% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 7 | | hedgeCount | 2 | | narrationSentences | 135 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 135 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 54 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2004 | | ratio | 0 | | matches | (empty) | |
| 97.22% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 1 | | matches | | 0 | "Cardiac arrest, they said." |
| |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 111 | | wordCount | 2003 | | uniqueNames | 20 | | maxNameDensity | 1.05 | | worstName | "Harlow" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Harlow" | | discoveredNames | | Camden | 2 | | Tube | 1 | | Veil | 13 | | Market | 10 | | Morris | 8 | | Metropolitan | 2 | | Police | 2 | | Eva | 19 | | Compass | 5 | | Shade | 6 | | Oxford-annotated | 1 | | British | 3 | | Museum | 5 | | Harlow | 21 | | Latin | 1 | | Fahrenheit | 1 | | Compasses | 2 | | Hackney | 3 | | Kael | 3 | | Bring | 3 |
| | persons | | 0 | "Market" | | 1 | "Morris" | | 2 | "Police" | | 3 | "Eva" | | 4 | "Compass" | | 5 | "Museum" | | 6 | "Harlow" |
| | places | | 0 | "Veil" | | 1 | "Oxford-annotated" | | 2 | "British" | | 3 | "Hackney" |
| | globalScore | 0.976 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 107 | | glossingSentenceCount | 2 | | matches | | 0 | "felt like a trail, not a dead end" | | 1 | "felt like she was going to get answers—" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 2004 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 135 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 61 | | mean | 32.85 | | std | 29.27 | | cv | 0.891 | | sampleLengths | | 0 | 179 | | 1 | 115 | | 2 | 112 | | 3 | 10 | | 4 | 18 | | 5 | 6 | | 6 | 31 | | 7 | 10 | | 8 | 87 | | 9 | 29 | | 10 | 43 | | 11 | 26 | | 12 | 19 | | 13 | 21 | | 14 | 49 | | 15 | 27 | | 16 | 35 | | 17 | 5 | | 18 | 37 | | 19 | 25 | | 20 | 79 | | 21 | 6 | | 22 | 35 | | 23 | 23 | | 24 | 38 | | 25 | 3 | | 26 | 34 | | 27 | 16 | | 28 | 24 | | 29 | 23 | | 30 | 31 | | 31 | 22 | | 32 | 42 | | 33 | 13 | | 34 | 21 | | 35 | 23 | | 36 | 51 | | 37 | 4 | | 38 | 26 | | 39 | 17 | | 40 | 26 | | 41 | 18 | | 42 | 24 | | 43 | 27 | | 44 | 32 | | 45 | 4 | | 46 | 52 | | 47 | 22 | | 48 | 57 | | 49 | 20 |
| |
| 87.07% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 7 | | totalSentences | 135 | | matches | | 0 | "was perched" | | 1 | "been boarded" | | 2 | "were emptied" | | 3 | "are supposed" | | 4 | "crafted" | | 5 | "tampered" | | 6 | "been abandoned" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 355 | | matches | | 0 | "was wrestling" | | 1 | "was trying were doing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 22 | | semicolonCount | 2 | | flaggedSentences | 19 | | totalSentences | 135 | | ratio | 0.141 | | matches | | 0 | "This was The Veil Market’s last known haunt—before the full moon’s rise had forced vendors to pack their enchanted trinkets and banned alchemical vials into unmarked crates and vanish to a new hidden spot." | | 1 | "The Market’s residual scent clung to every crevice: burnt myrrh that stung the back of her throat, rust from a hundred discarded metal charms, and a faint, sickly sweet tang she’d come to associate with supernatural residue—same as the tang that had clung to her partner DS Morris’s body three years prior." | | 2 | "Her sharp jaw tightened; she tapped the worn leather watch on her left wrist, the tick-tick-tick marking the three minutes she’d spent staring at evidence that refused to cohere into anything the Metropolitan Police’s rulebook could classify." | | 3 | "Beside his outstretched hand lay a small brass compass, its casing coated in a verdigris patina so thick it dulled the protective sigils etched into its face—she’d seen a similar compass in Eva’s occult research books, labeled a Veil Compass, crafted by Shade artisans to point toward the nearest supernatural rift or portal." | | 4 | "She tucked a strand of hair behind her left ear—her nervous habit, one Harlow had come to recognize as a signal she was wrestling with a puzzle her academic training hadn’t fully prepared her for—round glasses slipping down her freckled nose as she squinted at a dog-eared book in her lap." | | 5 | "She carefully lifted the Veil Compass by its thin brass chain, her fingers avoiding the sigils—she’d learned the hard way that supernatural objects could leave burns if handled without caution, a lesson she’d picked up after grazing a cursed amulet during a case six months prior." | | 6 | "No rift map—his tipster said he’d been haggling over a rare one with a Shade artisan the night before he died." | | 7 | "She pointed to a faint, glowing silver scratch on one of the barrier’s metal slats—something that didn’t match the rough, brown scratch marks left by broken tile." | | 8 | "That’s a sign someone was trying to force it open—someone who didn’t know what they were doing." | | 9 | "The coroner had called his death “unexplained” and closed the case, but Harlow had never let it rest—she’d spent every spare hour hunting for clues, until a chance encounter with Eva at the British Museum’s restricted archives had led her to The Veil Market’s existence." | | 10 | "Eva’s green eyes softened for a split second— a rare show of sympathy, one Harlow had only seen twice before—before she tucked another strand of hair behind her left ear and refocused on the compass." | | 11 | "She pulled a magnifying glass from her satchel—one of the many tools she kept for examining ancient manuscripts—and held it over the sigil." | | 12 | "Eva pulled a digital thermometer from her satchel—another archive tool—and pressed it to the victim’s neck." | | 13 | "It was a Veil Market entry token— a carved raven’s talon, the same type she’d used to get into the station that morning." | | 14 | "She spotted a faint, ink-stained fingerprint on one of the planks—something that didn’t belong in a station that had been abandoned for decades." | | 15 | "Eva pulled a fingerprint kit from her satchel— a favor Harlow had done for the British Museum’s security team had earned her the tool— and carefully lifted the print." | | 16 | "Eva’s green eyes lit up— a sign she’d found a piece of the puzzle." | | 17 | "She’d spent three years chasing the ghost of Morris’s death; now, she had a name, a location, and a physical clue." | | 18 | "Harlow tapped her watch again, the tick-tick-tick marking the moment she finally felt like she was going to get answers—answers for Morris, answers for the vendor, answers for every unsolved supernatural death the Metropolitan Police had swept under the rug." |
| |
| 76.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 2038 | | adjectiveStacks | 4 | | stackExamples | | 0 | "faint, sickly sweet tang" | | 1 | "thick, dust-mottled dark" | | 2 | "small, bone-colored token" | | 3 | "faint, ink-stained fingerprint" |
| | adverbCount | 42 | | adverbRatio | 0.020608439646712464 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.005397448478900883 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 135 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 135 | | mean | 14.84 | | std | 11.5 | | cv | 0.775 | | sampleLengths | | 0 | 29 | | 1 | 34 | | 2 | 52 | | 3 | 27 | | 4 | 37 | | 5 | 26 | | 6 | 36 | | 7 | 53 | | 8 | 22 | | 9 | 39 | | 10 | 51 | | 11 | 10 | | 12 | 18 | | 13 | 2 | | 14 | 4 | | 15 | 12 | | 16 | 19 | | 17 | 5 | | 18 | 5 | | 19 | 17 | | 20 | 46 | | 21 | 24 | | 22 | 5 | | 23 | 21 | | 24 | 3 | | 25 | 16 | | 26 | 27 | | 27 | 10 | | 28 | 7 | | 29 | 9 | | 30 | 5 | | 31 | 14 | | 32 | 9 | | 33 | 7 | | 34 | 5 | | 35 | 22 | | 36 | 27 | | 37 | 5 | | 38 | 4 | | 39 | 18 | | 40 | 19 | | 41 | 16 | | 42 | 2 | | 43 | 3 | | 44 | 27 | | 45 | 10 | | 46 | 1 | | 47 | 7 | | 48 | 17 | | 49 | 34 |
| |
| 42.59% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.25925925925925924 | | totalSentences | 135 | | uniqueOpeners | 35 | |
| 77.52% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 129 | | matches | | 0 | "Instead of repelling rift energy," | | 1 | "Instead, it dragged a portal" | | 2 | "Maybe he knew he was" |
| | ratio | 0.023 | |
| 71.16% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 48 | | totalSentences | 129 | | matches | | 0 | "She flicked her flashlight beam" | | 1 | "Her sharp jaw tightened; she" | | 2 | "Her worn leather satchel, stuffed" | | 3 | "She tucked a strand of" | | 4 | "She tucked another strand of" | | 5 | "They didn’t smell the residue." | | 6 | "They didn’t see the compass." | | 7 | "She carefully lifted the Veil" | | 8 | "She leaned over the compass," | | 9 | "You can’t enter The Veil" | | 10 | "He couldn’t have come here" | | 11 | "She tapped her watch again," | | 12 | "She pointed to a faint," | | 13 | "It’s rift residue scarring." | | 14 | "She spotted two more scars," | | 15 | "She translated under her breath," | | 16 | "They’re crafted to keep the" | | 17 | "She spotted a faint, deep" | | 18 | "She pulled a magnifying glass" | | 19 | "She tapped her watch again," |
| | ratio | 0.372 | |
| 53.02% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 105 | | totalSentences | 129 | | matches | | 0 | "Harlow’s boot crunched broken terracotta" | | 1 | "This was The Veil Market’s" | | 2 | "The Market’s residual scent clung" | | 3 | "She flicked her flashlight beam" | | 4 | "Her sharp jaw tightened; she" | | 5 | "The body was a Veil" | | 6 | "Eva was perched on a" | | 7 | "Her worn leather satchel, stuffed" | | 8 | "She tucked a strand of" | | 9 | "The coroner’s office faxed their" | | 10 | "Harlow’s flashlight beam snapped to" | | 11 | "Eva slammed the book shut," | | 12 | "She tucked another strand of" | | 13 | "They didn’t smell the residue." | | 14 | "They didn’t see the compass." | | 15 | "Harlow knelt, her knee sinking" | | 16 | "She carefully lifted the Veil" | | 17 | "The compass’s needle twitched once," | | 18 | "The victim’s pockets were emptied." | | 19 | "Eva stood, her book still" |
| | ratio | 0.814 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 129 | | matches | | 0 | "Either the attacker took it," | | 1 | "Whoever did this reversed the" | | 2 | "Whoever did this is either" |
| | ratio | 0.023 | |
| 29.62% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 82 | | technicalSentenceCount | 13 | | matches | | 0 | "The Market’s residual scent clung to every crevice: burnt myrrh that stung the back of her throat, rust from a hundred discarded metal charms, and a faint, sick…" | | 1 | "Her sharp jaw tightened; she tapped the worn leather watch on her left wrist, the tick-tick-tick marking the three minutes she’d spent staring at evidence that …" | | 2 | "The body was a Veil Market vendor, she’d learned from a reluctant tipster who’d traded the information for a promised reprieve from a minor theft charge." | | 3 | "No cuts marred his weathered hands, no bruises bloomed on his neck, but his eyes were frozen wide, pupils dilated to pinpricks as if he’d stared into something …" | | 4 | "Her worn leather satchel, stuffed to bursting with Oxford-annotated ancient history tomes and British Museum restricted archive manuscripts, propped open at her…" | | 5 | "She pointed to a faint, glowing silver scratch on one of the barrier’s metal slats—something that didn’t match the rough, brown scratch marks left by broken til…" | | 6 | "Eva flipped her book open again, turning to a marked page that featured a diagram of the same silver scars, paired with a paragraph in faded Latin." | | 7 | "She spotted a faint, deep scratch across one of the largest sigils, a scratch that had reversed the sigil’s curved line into a sharp angle." | | 8 | "She pointed to a passage that described the side effects: instant cardiac arrest, pupils dilated to pinpricks, no physical wounds." | | 9 | "She’d felt the same cold on Morris’s cheek, the same lack of warmth that had made her realize something was drastically wrong, even before the coroner’s report …" | | 10 | "She pointed to a passage that forbade the sale of tampered Veil Compasses." | | 11 | "She spotted a faint, ink-stained fingerprint on one of the planks—something that didn’t belong in a station that had been abandoned for decades." | | 12 | "Harlow’s military bearing sharpened, every muscle in her body coiling into a state of readiness." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 1 | | fancyTags | | 0 | "The coroner had (have)" |
| | dialogueSentences | 1 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 1 | | effectiveRatio | 1 | |