| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 7 | | tagDensity | 0.571 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 91.89% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1849 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "quickly" | | 1 | "perfectly" | | 2 | "softly" |
| |
| 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) | |
| 48.62% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1849 | | totalAiIsms | 19 | | found | | | highlights | | 0 | "fractured" | | 1 | "electric" | | 2 | "jaw clenched" | | 3 | "streaming" | | 4 | "footfall" | | 5 | "raced" | | 6 | "stomach" | | 7 | "gleaming" | | 8 | "pulse" | | 9 | "pulsed" | | 10 | "rhythmic" | | 11 | "echoed" | | 12 | "footsteps" | | 13 | "scanning" | | 14 | "weight" | | 15 | "shattered" | | 16 | "lurched" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
| | 1 | | label | "jaw/fists clenched" | | count | 1 |
|
| | highlights | | 0 | "eyes widened" | | 1 | "jaw clenched" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 155 | | matches | (empty) | |
| 96.77% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 3 | | narrationSentences | 155 | | filterMatches | | | hedgeMatches | | 0 | "seemed to" | | 1 | "try to" | | 2 | "tried to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 158 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 40 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1835 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 70 | | wordCount | 1781 | | uniqueNames | 29 | | maxNameDensity | 0.9 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Tomás" | | discoveredNames | | London | 1 | | Harlow | 2 | | Quinn | 16 | | Herrera | 1 | | Saint | 2 | | Christopher | 2 | | Raven | 2 | | Nest | 2 | | Soho | 1 | | Tomás | 12 | | Morris | 7 | | Electric | 1 | | Ballroom | 1 | | Chalk | 1 | | Farm | 1 | | Road | 1 | | Camden | 3 | | Tube | 1 | | Line | 1 | | Sixties | 1 | | Underground | 1 | | Glock | 2 | | Maglite | 1 | | English | 1 | | Latin | 1 | | Veil | 1 | | Market | 2 | | Persian | 1 | | Tile | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Herrera" | | 3 | "Saint" | | 4 | "Christopher" | | 5 | "Raven" | | 6 | "Tomás" | | 7 | "Morris" | | 8 | "Line" | | 9 | "Underground" | | 10 | "Market" |
| | places | | 0 | "London" | | 1 | "Soho" | | 2 | "Chalk" | | 3 | "Farm" | | 4 | "Road" |
| | globalScore | 1 | | windowScore | 1 | |
| 81.19% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 109 | | glossingSentenceCount | 3 | | matches | | 0 | "something like regret" | | 1 | "looked like finger bones notched with run" | | 2 | "looked like a beating heart" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.545 | | wordCount | 1835 | | matches | | 0 | "not her face but the hollow eyes of her dead partner" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 158 | | matches | | 0 | "knew that entrance" | | 1 | "screamed that she" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 34 | | mean | 53.97 | | std | 33.87 | | cv | 0.628 | | sampleLengths | | 0 | 84 | | 1 | 13 | | 2 | 114 | | 3 | 98 | | 4 | 105 | | 5 | 98 | | 6 | 89 | | 7 | 25 | | 8 | 79 | | 9 | 29 | | 10 | 60 | | 11 | 7 | | 12 | 74 | | 13 | 80 | | 14 | 65 | | 15 | 101 | | 16 | 67 | | 17 | 3 | | 18 | 93 | | 19 | 10 | | 20 | 55 | | 21 | 52 | | 22 | 86 | | 23 | 4 | | 24 | 28 | | 25 | 36 | | 26 | 48 | | 27 | 25 | | 28 | 17 | | 29 | 69 | | 30 | 37 | | 31 | 63 | | 32 | 13 | | 33 | 8 |
| |
| 98.47% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 155 | | matches | | 0 | "were shuttered" | | 1 | "been erected" | | 2 | "been torn" |
| |
| 73.82% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 317 | | matches | | 0 | "was heading" | | 1 | "was breathing" | | 2 | "was missing" | | 3 | "was watching" | | 4 | "was, breathing" | | 5 | "was heading" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 2 | | flaggedSentences | 12 | | totalSentences | 158 | | ratio | 0.076 | | matches | | 0 | "A skip blocked half the path; Tomás vaulted it without breaking stride." | | 1 | "Morris had been investigating something similar before the end—off-the-books clinics, symbols carved where they shouldn’t be, witnesses who vanished between one statement and the next." | | 2 | "Her own quiet digging had turned up stranger rumors—rumors she’d dismissed until tonight." | | 3 | "A smell drifted up—incense, iron, something sweet and chemical that made her sinuses burn." | | 4 | "At the bottom, a makeshift gate blocked the way—chain-link topped with razor wire, but the padlock hung open." | | 5 | "A sign bolted to it read, in careful hand-painted letters: VEIL MARKET—FULL MOON ONLY." | | 6 | "One was missing—Tomás’s doing, no doubt." | | 7 | "Vendors hawked their wares in low voices—glass vials of liquid that swirled with captive starlight, daggers whose blades reflected faces that weren’t there, bundles of dried herbs that screamed faintly when touched." | | 8 | "Quinn moved forward, using the crowd for cover—a tactic she’d learned chasing suspects through the actual Camden Market on summer weekends." | | 9 | "Warm brown eyes widened in recognition and something sharper—fear, perhaps, but not for himself." | | 10 | "A stall of hanging mirrors shattered as she brushed past; each fragment showed her running through different versions of the tunnel—some empty, some filled with flames, one where Morris stood at the far end reaching for her." | | 11 | "For a split second he looked back at her across the impossible bazaar—past the glowing vials and whispering shadows and things that should not exist in the city she had sworn to protect." |
| |
| 76.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1806 | | adjectiveStacks | 4 | | stackExamples | | 0 | "short curly dark hair" | | 1 | "earlier bouncing against his" | | 2 | "faint green light pulsed" | | 3 | "careful hand-painted letters:" |
| | adverbCount | 60 | | adverbRatio | 0.03322259136212625 | | lyAdverbCount | 19 | | lyAdverbRatio | 0.010520487264673311 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 158 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 158 | | mean | 11.61 | | std | 8.14 | | cv | 0.701 | | sampleLengths | | 0 | 18 | | 1 | 25 | | 2 | 2 | | 3 | 39 | | 4 | 9 | | 5 | 4 | | 6 | 2 | | 7 | 4 | | 8 | 28 | | 9 | 26 | | 10 | 21 | | 11 | 2 | | 12 | 17 | | 13 | 14 | | 14 | 11 | | 15 | 2 | | 16 | 20 | | 17 | 23 | | 18 | 12 | | 19 | 3 | | 20 | 12 | | 21 | 15 | | 22 | 7 | | 23 | 14 | | 24 | 19 | | 25 | 4 | | 26 | 7 | | 27 | 8 | | 28 | 17 | | 29 | 12 | | 30 | 2 | | 31 | 15 | | 32 | 7 | | 33 | 25 | | 34 | 6 | | 35 | 3 | | 36 | 20 | | 37 | 12 | | 38 | 7 | | 39 | 3 | | 40 | 15 | | 41 | 16 | | 42 | 18 | | 43 | 19 | | 44 | 3 | | 45 | 4 | | 46 | 3 | | 47 | 6 | | 48 | 7 | | 49 | 13 |
| |
| 60.76% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.379746835443038 | | totalSentences | 158 | | uniqueOpeners | 60 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 6 | | totalSentences | 142 | | matches | | 0 | "Of course he didn’t." | | 1 | "Especially nights like this, when" | | 2 | "Then he dove across a" | | 3 | "Just the slap of his" | | 4 | "Instead they sounded small, swallowed" | | 5 | "Then he was through the" |
| | ratio | 0.042 | |
| 98.87% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 43 | | totalSentences | 142 | | matches | | 0 | "she shouted, voice cutting through" | | 1 | "He’d slipped out the back" | | 2 | "She’d seen enough: hooded figures," | | 3 | "She still woke smelling the" | | 4 | "Her worn leather watch slapped" | | 5 | "He cut left down an" | | 6 | "She cleared it a heartbeat" | | 7 | "He was fast, but she" | | 8 | "Their eyes met across the" | | 9 | "His warm brown ones held" | | 10 | "Her mind raced ahead of" | | 11 | "She’d seen the photographs from" | | 12 | "He slowed for half a" | | 13 | "She knew that entrance." | | 14 | "Her own quiet digging had" | | 15 | "He disappeared down the stairs." | | 16 | "It reminded her of the" | | 17 | "Her right hand moved to" | | 18 | "She should call for backup." | | 19 | "she muttered, and started down" |
| | ratio | 0.303 | |
| 51.55% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 116 | | totalSentences | 142 | | matches | | 0 | "The rain lashed London like" | | 1 | "Detective Harlow Quinn ran with" | | 2 | "The former paramedic moved like" | | 3 | "she shouted, voice cutting through" | | 4 | "He’d slipped out the back" | | 5 | "Quinn had been watching the" | | 6 | "She’d seen enough: hooded figures," | | 7 | "Whatever they were, they stank" | | 8 | "She still woke smelling the" | | 9 | "Her worn leather watch slapped" | | 10 | "Camden was still ten minutes" | | 11 | "He cut left down an" | | 12 | "Quinn followed, sharp jaw clenched," | | 13 | "The alley narrowed." | | 14 | "A skip blocked half the" | | 15 | "She cleared it a heartbeat" | | 16 | "He was fast, but she" | | 17 | "Tomás glanced back once." | | 18 | "Their eyes met across the" | | 19 | "His warm brown ones held" |
| | ratio | 0.817 | |
| 35.21% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 142 | | matches | | 0 | "If he reached whatever passed" |
| | ratio | 0.007 | |
| 14.65% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 78 | | technicalSentenceCount | 14 | | matches | | 0 | "The former paramedic moved like a man who knew exactly how much trouble he was in, his short curly dark hair already soaked flat, the Saint Christopher medallio…" | | 1 | "He cut left down an alley behind the Electric Ballroom, trainers splashing through puddles that reflected the crimson tail lights of passing taxis." | | 2 | "Then he dove across a busy road, dodging a double-decker bus that blared its horn in protest." | | 3 | "Morris had been investigating something similar before the end—off-the-books clinics, symbols carved where they shouldn’t be, witnesses who vanished between one…" | | 4 | "And crime had rules, even if they bent in ways that made her stomach turn." | | 5 | "Something that made the hairs on her arms rise despite the cold rain soaking her collar." | | 6 | "Her boots rang on metal treads that grew strangely warm, as though something below was breathing." | | 7 | "The clang echoed down a tiled tunnel lined with flickering green lanterns that floated without any visible means of support." | | 8 | "Stalls had been erected from scaffolding and Persian rugs, their awnings heavy with rainwater that leaked through unseen grates above." | | 9 | "Vendors hawked their wares in low voices—glass vials of liquid that swirled with captive starlight, daggers whose blades reflected faces that weren’t there, bun…" | | 10 | "He was heading for a service door at the far end, one marked with fresh spray paint that formed a symbol she recognized from Morris’s crime scene photos." | | 11 | "For a split second he looked back at her across the impossible bazaar—past the glowing vials and whispering shadows and things that should not exist in the city…" | | 12 | "The green lanterns flared brighter as she passed beneath them, as though the underground itself had decided to light her way." | | 13 | "Her boots splashed through puddles that reflected not her face but the hollow eyes of her dead partner." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 3 | | matches | | 0 | "she shouted, voice cutting through the downpour" | | 1 | "she called, voice ringing off the curved Tile walls" | | 2 | "he called, voice carrying perfectly despite the distance" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 2 | | fancyTags | | 0 | "she shouted (shout)" | | 1 | "she muttered (mutter)" |
| | dialogueSentences | 7 | | tagDensity | 0.571 | | leniency | 1 | | rawRatio | 0.5 | | effectiveRatio | 0.5 | |