| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 25 | | adverbTagCount | 2 | | adverbTags | | 0 | "Herrera’s face softened fractionally. [fractionally]" | | 1 | "Herrera’s shoulders relaxed minutely. [minutely]" |
| | dialogueSentences | 28 | | tagDensity | 0.893 | | leniency | 1 | | rawRatio | 0.08 | | effectiveRatio | 0.08 | |
| 91.06% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2238 | | totalAiIsmAdverbs | 4 | | found | | 0 | | | 1 | | adverb | "reluctantly" | | count | 1 |
| | 2 | | | 3 | |
| | highlights | | 0 | "tightly" | | 1 | "reluctantly" | | 2 | "really" | | 3 | "slowly" |
| |
| 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) | |
| 55.32% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2238 | | totalAiIsms | 20 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | |
| | highlights | | 0 | "shattered" | | 1 | "weight" | | 2 | "etched" | | 3 | "footsteps" | | 4 | "echoed" | | 5 | "chaotic" | | 6 | "shimmered" | | 7 | "scanned" | | 8 | "clenching" | | 9 | "charged" | | 10 | "scanning" | | 11 | "whisper" | | 12 | "flicked" | | 13 | "wavered" | | 14 | "raced" | | 15 | "could feel" | | 16 | "pounding" | | 17 | "flickered" | | 18 | "absolutely" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 1 | | found | | 0 | | label | "blood ran cold" | | count | 1 |
| | 1 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | 0 | "blood ran cold" | | 1 | "eyes widened" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 137 | | matches | (empty) | |
| 80.29% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 3 | | narrationSentences | 137 | | filterMatches | | | hedgeMatches | | 0 | "began to" | | 1 | "happened to" | | 2 | "tried to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 137 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 72 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 1 | | totalWords | 2223 | | ratio | 0 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 18 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 101 | | wordCount | 2054 | | uniqueNames | 28 | | maxNameDensity | 1.22 | | worstName | "Quinn" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Herrera" | | discoveredNames | | Soho | 1 | | Harlow | 2 | | Quinn | 25 | | Tomás | 2 | | Herrera | 20 | | Spaniard | 1 | | Saint | 2 | | Christopher | 2 | | Raven | 4 | | Nest | 4 | | Morris | 10 | | Charing | 1 | | Cross | 1 | | Road | 1 | | Camden | 1 | | Town | 1 | | Underground | 2 | | Northern | 1 | | Tube | 1 | | Victorian | 1 | | London | 1 | | Veil | 2 | | Market | 2 | | Spanish | 2 | | Detective | 3 | | Bone | 2 | | Scribe | 3 | | Silas | 3 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Tomás" | | 3 | "Herrera" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "Raven" | | 7 | "Nest" | | 8 | "Morris" | | 9 | "Scribe" | | 10 | "Silas" |
| | places | | 0 | "Soho" | | 1 | "Charing" | | 2 | "Cross" | | 3 | "Road" | | 4 | "Camden" | | 5 | "Town" | | 6 | "Underground" | | 7 | "London" | | 8 | "Market" |
| | globalScore | 0.891 | | windowScore | 0.833 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 105 | | glossingSentenceCount | 7 | | matches | | 0 | "looked like bone—and press it against a h" | | 1 | "looked like preserved dragonfly wings" | | 2 | "something between fear and resignation. He said" | | 3 | "looked like an old train carriage convert" | | 4 | "sounded like breaking glass. Herrera’s fac" | | 5 | "seemed more skeleton than man, writing in a ledger with a quill that dripped silver" | | 6 | "looked like fossilised bone. Behind it sa" | | 7 | "looked like dried skin. On it was written" | | 8 | "seemed impossibly far away, and that the answers she’d sought for three years waited somewhere in the shadows of this underground world" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 2223 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 137 | | matches | | 0 | "knew that backup" | | 1 | "was that the" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 63 | | mean | 35.29 | | std | 21.04 | | cv | 0.596 | | sampleLengths | | 0 | 74 | | 1 | 16 | | 2 | 85 | | 3 | 65 | | 4 | 34 | | 5 | 62 | | 6 | 47 | | 7 | 46 | | 8 | 44 | | 9 | 41 | | 10 | 48 | | 11 | 43 | | 12 | 32 | | 13 | 3 | | 14 | 89 | | 15 | 73 | | 16 | 55 | | 17 | 45 | | 18 | 30 | | 19 | 4 | | 20 | 6 | | 21 | 49 | | 22 | 42 | | 23 | 3 | | 24 | 47 | | 25 | 3 | | 26 | 71 | | 27 | 19 | | 28 | 39 | | 29 | 21 | | 30 | 31 | | 31 | 23 | | 32 | 27 | | 33 | 40 | | 34 | 34 | | 35 | 7 | | 36 | 38 | | 37 | 20 | | 38 | 14 | | 39 | 53 | | 40 | 58 | | 41 | 6 | | 42 | 13 | | 43 | 54 | | 44 | 19 | | 45 | 14 | | 46 | 29 | | 47 | 31 | | 48 | 47 | | 49 | 55 |
| |
| 95.02% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 137 | | matches | | 0 | "been found" | | 1 | "been carved" | | 2 | "been turned" | | 3 | "was written" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 366 | | matches | | 0 | "was heading" | | 1 | "was already swinging" | | 2 | "was seeing" | | 3 | "was speaking" | | 4 | "were watching" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 15 | | semicolonCount | 1 | | flaggedSentences | 13 | | totalSentences | 137 | | ratio | 0.095 | | matches | | 0 | "Her brown eyes locked on the figure twenty metres ahead—Tomás Herrera, the Spaniard with the Saint Christopher medallion she’d glimpsed swinging from his neck as he’d bolted from the side door of The Raven’s Nest." | | 1 | "Quinn followed, drawing her baton but not her firearm—not yet." | | 2 | "Herrera was heading for the Northern line platform, but instead of boarding a train he veered toward a service door marked “Staff Only.” Quinn watched him produce something small and pale from his pocket—looked like bone—and press it against a hidden sensor." | | 3 | "The air smelled of damp concrete and something sharper—incense, sulphur, old blood." | | 4 | "Hundreds of figures moved between the stalls—some human, many clearly not." | | 5 | "There—twenty metres down, near a stall selling what looked like preserved dragonfly wings." | | 6 | "The crowd parted reluctantly. Someone hissed at her—literally, a forked tongue flicking between sharp teeth. She didn’t slow. Her watch caught on a protruding nail from a stall and tore, but she barely noticed. The scar on Herrera’s forearm flashed in her memory; she’d seen the medical reports. Former paramedic. Lost his licence treating things that shouldn’t need treating. If anyone knew what had really happened to Morris, it was him." | | 7 | "The people who killed him—they’re still looking for the ones who helped him." | | 8 | "Quinn’s mind raced. The market’s strange energy pressed against her skin like static before a storm. She could feel eyes on her from every shadow. The smart move was to retreat, regroup, come back with proper preparation. But Morris’s face kept flashing behind her eyes—his final days in that hospital bed, whispering about things that should not be." | | 9 | "The tunnel twisted and turned, ancient bricks giving way to rough-hewn stone. Strange roots grew from the ceiling, pulsing with faint inner light. Quinn’s breath came in ragged gasps. She could hear pursuit now—multiple sets of footsteps, some of them wrong, too many legs or too few." | | 10 | "The chase reversed now—Quinn fleeing through the impossible market, heart pounding against her ribs, the taste of iron and fear thick in her throat. She no longer knew if she was the hunter or the hunted. All she knew was that the rain-soaked streets above seemed impossibly far away, and that the answers she’d sought for three years waited somewhere in the shadows of this underground world." | | 11 | "Detective Harlow Quinn ran deeper into the dark, toward whatever truth—or damnation—lay waiting at the heart of the Veil Market. The rain above could not reach her here, but the storm inside her had only just begun." | | 12 | "The market’s green lights flickered behind her like dying stars as she plunged onward, baton in one hand, truth in the other, and absolutely no intention of stopping until she dragged the darkness into the light—or it swallowed her whole." |
| |
| 98.72% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1230 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 51 | | adverbRatio | 0.041463414634146344 | | lyAdverbCount | 18 | | lyAdverbRatio | 0.014634146341463415 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 137 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 137 | | mean | 16.23 | | std | 13.2 | | cv | 0.814 | | sampleLengths | | 0 | 18 | | 1 | 21 | | 2 | 35 | | 3 | 10 | | 4 | 6 | | 5 | 3 | | 6 | 25 | | 7 | 17 | | 8 | 13 | | 9 | 27 | | 10 | 19 | | 11 | 19 | | 12 | 17 | | 13 | 10 | | 14 | 14 | | 15 | 10 | | 16 | 10 | | 17 | 15 | | 18 | 8 | | 19 | 2 | | 20 | 18 | | 21 | 19 | | 22 | 14 | | 23 | 11 | | 24 | 22 | | 25 | 42 | | 26 | 4 | | 27 | 8 | | 28 | 5 | | 29 | 21 | | 30 | 8 | | 31 | 2 | | 32 | 7 | | 33 | 10 | | 34 | 12 | | 35 | 12 | | 36 | 19 | | 37 | 18 | | 38 | 6 | | 39 | 5 | | 40 | 18 | | 41 | 14 | | 42 | 3 | | 43 | 8 | | 44 | 17 | | 45 | 15 | | 46 | 3 | | 47 | 25 | | 48 | 14 | | 49 | 11 |
| |
| 59.12% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.3722627737226277 | | totalSentences | 137 | | uniqueOpeners | 51 | |
| 51.28% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 130 | | matches | | 0 | "Too late for that." | | 1 | "Especially ones who come without" |
| | ratio | 0.015 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 36 | | totalSentences | 130 | | matches | | 0 | "Her brown eyes locked on" | | 1 | "she bellowed, voice raw against" | | 2 | "Her words dissolved in the" | | 3 | "He darted between late-night revellers" | | 4 | "She still needed answers, not" | | 5 | "She took the stairs three" | | 6 | "Her heart hammered harder than" | | 7 | "She knew about the rumours." | | 8 | "She’d dismissed most of it" | | 9 | "She slipped through into a" | | 10 | "Her breath began to fog." | | 11 | "She’d seen marks like these" | | 12 | "Her eyes scanned the crowd" | | 13 | "He was speaking urgently to" | | 14 | "She could walk away now." | | 15 | "She thought of Morris’s last" | | 16 | "She kept her shoulders squared," | | 17 | "She moved through the crowd," | | 18 | "He’d spotted her." | | 19 | "Their eyes met across twenty" |
| | ratio | 0.277 | |
| 60.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 104 | | totalSentences | 130 | | matches | | 0 | "The rain hammered down in" | | 1 | "Detective Harlow Quinn sprinted through" | | 2 | "Her brown eyes locked on" | | 3 | "she bellowed, voice raw against" | | 4 | "Her words dissolved in the" | | 5 | "Herrera didn’t slow." | | 6 | "He darted between late-night revellers" | | 7 | "Quinn’s lungs burned, but she" | | 8 | "The weight of her warrant" | | 9 | "Quinn had smelled the same" | | 10 | "The same unnatural scent that" | | 11 | "Herrera cut left onto a" | | 12 | "Quinn followed, drawing her baton" | | 13 | "She still needed answers, not" | | 14 | "The alley emptied onto Charing" | | 15 | "Herrera vaulted the barrier and" | | 16 | "Quinn cursed and plunged after" | | 17 | "She took the stairs three" | | 18 | "The station was still open" | | 19 | "A lone cleaner pushed a" |
| | ratio | 0.8 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 130 | | matches | | 0 | "By the time she reached" | | 1 | "If I’m seen helping" | | 2 | "Before Quinn could respond, the" |
| | ratio | 0.023 | |
| 5.87% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 73 | | technicalSentenceCount | 14 | | matches | | 0 | "The rain hammered down in sheets, turning the Soho pavements into black mirrors that shattered every neon reflection." | | 1 | "Quinn’s lungs burned, but she kept pace, boots splashing through puddles that soaked her to the ankles." | | 2 | "Quinn cursed and plunged after him, narrowly avoiding a double-decker that sent a wall of spray over her." | | 3 | "Whispers in her old informant network about an underground market that moved with the full moon, selling things that shouldn’t exist." | | 4 | "Herrera’s footsteps echoed ahead, fading down a metal staircase that spiralled deeper than any legitimate Tube line should go." | | 5 | "Ahead, the tunnel opened into a vast underground cavern that had once been an abandoned station platform." | | 6 | "File a report that would be dismissed as stress-related after Morris’s death." | | 7 | "The crowd parted reluctantly. Someone hissed at her—literally, a forked tongue flicking between sharp teeth. She didn’t slow. Her watch caught on a protruding n…" | | 8 | "The interior was larger than physics allowed, wood-panelled and lit by oil lamps that burned with blue flame. A dozen beings looked up from their drinks. Herrer…" | | 9 | "Quinn took another step. The other patrons were watching with predatory interest. A thing that might once have been human licked its lips with a black tongue." | | 10 | "Same smell that was on you tonight outside The Raven’s Nest." | | 11 | "Quinn’s mind raced. The market’s strange energy pressed against her skin like static before a storm. She could feel eyes on her from every shadow. The smart mov…" | | 12 | "She burst into a small chamber where dozens of black banners hung from the low ceiling like funeral shrouds. At the centre stood a stall made of what looked lik…" | | 13 | "The creature smiled with too many teeth. It reached beneath the counter and produced a single sheet of parchment that looked like dried skin. On it was written …" |
| |
| 25.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 4 | | matches | | 0 | "she bellowed, voice raw against the storm" | | 1 | "she said, voice low and hard" | | 2 | "she said, but her voice wavered for the first time" | | 3 | "Quinn said, voice steadier than she felt" |
| |
| 78.57% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 2 | | fancyTags | | 0 | "she bellowed (bellow)" | | 1 | "he muttered (mutter)" |
| | dialogueSentences | 28 | | tagDensity | 0.286 | | leniency | 0.571 | | rawRatio | 0.25 | | effectiveRatio | 0.143 | |