| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 7 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 11 | | tagDensity | 0.636 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1481 | | 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) | |
| 69.62% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1481 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "calculated" | | 1 | "scanned" | | 2 | "glinting" | | 3 | "clandestine" | | 4 | "vibrated" | | 5 | "reminder" | | 6 | "whisper" | | 7 | "raced" | | 8 | "shimmered" |
| |
| 33.33% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 3 | | maxInWindow | 3 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
| | 1 | | label | "air was thick with" | | count | 1 |
| | 2 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | 0 | "eyes narrowed" | | 1 | "The air was thick with" | | 2 | "hung in the air" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 54 | | matches | | |
| 10.58% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 4 | | hedgeCount | 1 | | narrationSentences | 54 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 58 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 62 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1447 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 1 | | matches | | 0 | "For a long moment, he said nothing, and Harlow tensed, her hand again hovering over her baton." |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 49 | | wordCount | 1307 | | uniqueNames | 17 | | maxNameDensity | 0.84 | | worstName | "Harlow" | | maxWindowNameDensity | 2 | | worstWindowName | "Tomás" | | discoveredNames | | Harlow | 11 | | Soho | 3 | | Dean | 1 | | Street | 1 | | Raven | 2 | | Nest | 2 | | Morris | 9 | | Thames | 1 | | Tomás | 7 | | Herrera | 2 | | Saint | 1 | | Christopher | 1 | | London | 1 | | Tube | 2 | | Camden | 1 | | Veil | 2 | | Market | 2 |
| | persons | | 0 | "Harlow" | | 1 | "Raven" | | 2 | "Nest" | | 3 | "Morris" | | 4 | "Tomás" | | 5 | "Herrera" | | 6 | "Saint" | | 7 | "Christopher" |
| | places | | 0 | "Soho" | | 1 | "Dean" | | 2 | "Street" | | 3 | "Thames" | | 4 | "London" | | 5 | "Veil" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 50 | | 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 | 1447 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 58 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 18 | | mean | 80.39 | | std | 40.46 | | cv | 0.503 | | sampleLengths | | 0 | 141 | | 1 | 86 | | 2 | 157 | | 3 | 40 | | 4 | 37 | | 5 | 35 | | 6 | 74 | | 7 | 52 | | 8 | 74 | | 9 | 60 | | 10 | 102 | | 11 | 82 | | 12 | 18 | | 13 | 115 | | 14 | 106 | | 15 | 69 | | 16 | 45 | | 17 | 154 |
| |
| 98.77% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 54 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 218 | | matches | | 0 | "was kneeling" | | 1 | "wasn’t leaving" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 19 | | semicolonCount | 1 | | flaggedSentences | 14 | | totalSentences | 58 | | ratio | 0.241 | | matches | | 0 | "The suspect—a man in a frayed charcoal wool coat, his gloved left hand clamped around a bulging leather satchel—darted around a corner of Soho’s Dean Street, his steps faltering as he skidded on a slick patch of asphalt." | | 1 | "She scanned the room—old maps of the Thames estuary tacked to plaster walls, black-and-white shots of 1950s Soho jazz clubs lining the bar—and spotted him immediately: Tomás Herrera, his short curly dark brown hair matted at the temples, his olive skin flushed from the heat of a kerosene lamp." | | 2 | "The scar running along Tomás’s own left forearm (a knife attack from a supernatural patient, she’d learned in her research) was visible beneath the cuff of his frayed flannel shirt, and he squirted a dollop of unlabeled ointment onto the teen’s wound—unauthorized treatment, the kind that cost him his NHS license after he’d tended to clique members with glowing, unclassifiable injuries." | | 3 | "He’d heard about Morris’s death—everyone in the clique’s orbit had, the unsolved supernatural edge a warning to stay quiet." | | 4 | "Before she could press him further, the suspect pushed a leather-bound map of 18th-century London on the bookshelf, and the entire unit swung inward with a low creak— the hidden back room she’d suspected existed but never confirmed, the one for clandestine clique meetings." | | 5 | "She slipped into the back room—small, windowless, the smell of damp earth clinging to the walls—and spotted a trapdoor in the floor, its hinges still swinging." | | 6 | "She descended, her boots scraping against the stone, until she reached a landing that opened into an abandoned Tube station—Camden, by the look of the faded “Camden Town” sign peeling from a concrete pillar." | | 7 | "The hooded figure nodded, and the suspect stepped through a shimmering curtain of blue light— the entrance to the Veil Market, Harlow realized, the hidden supernatural black market that sold enchanted goods and banned alchemical substances." | | 8 | "She’d come this far—chased the suspect through rain-soaked streets, confronted Herrera, descended into a forgotten Tube station— but this was the threshold." | | 9 | "The supernatural was no longer a whisper in Morris’s case file; it was a shimmering curtain of light, a hooded guardian demanding a bone token." | | 10 | "She checked her watch—its hands ticking steadily, the leather strap worn thin from three years of constant wear—and thought of the clique’s missing victims, of the answers she’d been chasing for so long that they’d become a part of her." | | 11 | "Harlow’s military training kicked in—she didn’t run from fights, didn’t back down from the unknown." | | 12 | "Beyond the curtain, the air hummed with magic— the scent of alchemical herbs (sage mixed with something acrid and unknown), the clink of enchanted glass vials, the murmur of voices speaking in languages she didn’t recognize." | | 13 | "She didn’t know what she’d find inside—enchanted weapons, banned potions, answers about Morris’s death—but she knew one thing: she wasn’t leaving without the truth, even if it cost her her badge, her sanity, or her life." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1339 | | adjectiveStacks | 1 | | stackExamples | | 0 | "underground supernatural black market" |
| | adverbCount | 23 | | adverbRatio | 0.01717699775952203 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.004480955937266617 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 58 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 58 | | mean | 24.95 | | std | 13.69 | | cv | 0.549 | | sampleLengths | | 0 | 27 | | 1 | 28 | | 2 | 38 | | 3 | 48 | | 4 | 3 | | 5 | 31 | | 6 | 32 | | 7 | 20 | | 8 | 20 | | 9 | 49 | | 10 | 27 | | 11 | 61 | | 12 | 26 | | 13 | 14 | | 14 | 21 | | 15 | 16 | | 16 | 5 | | 17 | 30 | | 18 | 14 | | 19 | 60 | | 20 | 3 | | 21 | 19 | | 22 | 30 | | 23 | 6 | | 24 | 24 | | 25 | 44 | | 26 | 27 | | 27 | 26 | | 28 | 7 | | 29 | 16 | | 30 | 19 | | 31 | 34 | | 32 | 33 | | 33 | 29 | | 34 | 36 | | 35 | 17 | | 36 | 14 | | 37 | 4 | | 38 | 6 | | 39 | 22 | | 40 | 25 | | 41 | 22 | | 42 | 40 | | 43 | 10 | | 44 | 56 | | 45 | 40 | | 46 | 16 | | 47 | 15 | | 48 | 23 | | 49 | 15 |
| |
| 39.08% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.3275862068965517 | | totalSentences | 58 | | uniqueOpeners | 19 | |
| 61.73% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 54 | | matches | | 0 | "Then he nodded, a slow," |
| | ratio | 0.019 | |
| 49.63% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 23 | | totalSentences | 54 | | matches | | 0 | "Her scuffed steel-toe boots splashed" | | 1 | "She’d staked out the dim" | | 2 | "She paused for half a" | | 3 | "She scanned the room—old maps" | | 4 | "He was kneeling beside a" | | 5 | "she said, her voice sharp" | | 6 | "She stepped closer, her trench" | | 7 | "He’d heard about Morris’s death—everyone" | | 8 | "She’d heard whispers of an" | | 9 | "She slipped into the back" | | 10 | "She knelt, lifted the trapdoor," | | 11 | "She descended, her boots scraping" | | 12 | "he said, his voice a" | | 13 | "She’d come this far—chased the" | | 14 | "She hesitated, her hand hovering" | | 15 | "She’d found it clutched in" | | 16 | "She pulled it out, the" | | 17 | "She checked her watch—its hands" | | 18 | "She thought of Tomás’s warning," | | 19 | "She held out the bone" |
| | ratio | 0.426 | |
| 6.30% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 49 | | totalSentences | 54 | | matches | | 0 | "The rain lashed Harlow’s closely" | | 1 | "Her scuffed steel-toe boots splashed" | | 2 | "The suspect—a man in a" | | 3 | "Harlow’s military precision kicked in:" | | 4 | "The Raven’s Nest." | | 5 | "She’d staked out the dim" | | 6 | "She paused for half a" | | 7 | "The door jingled as the" | | 8 | "The air hit her like" | | 9 | "She scanned the room—old maps" | | 10 | "He was kneeling beside a" | | 11 | "The scar running along Tomás’s" | | 12 | "The suspect slipped past the" | | 13 | "Harlow moved to intercept, but" | | 14 | "she said, her voice sharp" | | 15 | "Tomás’s warm brown eyes narrowed." | | 16 | "She stepped closer, her trench" | | 17 | "The name Morris hung in" | | 18 | "Tomás’s jaw tightened." | | 19 | "He’d heard about Morris’s death—everyone" |
| | ratio | 0.907 | |
| 92.59% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 54 | | matches | | 0 | "Before she could press him" |
| | ratio | 0.019 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 42 | | technicalSentenceCount | 11 | | matches | | 0 | "Her scuffed steel-toe boots splashed through a puddle of rainwater and discarded fish-and-chips grease, the impact sending a spray that dotted the cuffs of her …" | | 1 | "He was kneeling beside a teen slumped in a booth, the Saint Christopher medallion around his neck glinting as he adjusted a bandage on the teen’s forearm." | | 2 | "The scar running along Tomás’s own left forearm (a knife attack from a supernatural patient, she’d learned in her research) was visible beneath the cuff of his …" | | 3 | "Harlow shoved Tomás aside, his shoulder slamming into a wall of maps and sending a framed black-and-white photo clattering to the floor, and darted for the shel…" | | 4 | "Stone stairs spiraled downward, their steps slick with moss and rainwater that had seeped through the Raven’s Nest’s foundation." | | 5 | "The hooded figure nodded, and the suspect stepped through a shimmering curtain of blue light— the entrance to the Veil Market, Harlow realized, the hidden super…" | | 6 | "Memories flooded her: Morris laughing as he gave her the leather watch, his voice cracking as he told her he was scared of the case they’d stumbled on (a clique…" | | 7 | "She checked her watch—its hands ticking steadily, the leather strap worn thin from three years of constant wear—and thought of the clique’s missing victims, of …" | | 8 | "She thought of Tomás’s warning, of the full moon’s impending turn that would move the market, and knew this was her only chance." | | 9 | "She spotted the suspect’s frayed charcoal coat vanishing into a crowd of figures: some with horns curling from their heads, some with wings folded against their…" | | 10 | "She adjusted her leather watch, squared her shoulders (her military bearing a shield against the unknown), and followed, her boots clicking against the cold sto…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 7 | | uselessAdditionCount | 2 | | matches | | 0 | "She stepped, her trench coat dripping rain onto the wooden floor" | | 1 | "he said, his voice a gurgle like water through a clogged pipe" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 11 | | tagDensity | 0.182 | | leniency | 0.364 | | rawRatio | 0 | | effectiveRatio | 0 | |