| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 86.24% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1090 | | totalAiIsmAdverbs | 3 | | 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) | |
| 35.78% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1090 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "chill" | | 1 | "navigating" | | 2 | "familiar" | | 3 | "measured" | | 4 | "flicked" | | 5 | "pumping" | | 6 | "silence" | | 7 | "vibrated" | | 8 | "constructed" | | 9 | "velvet" | | 10 | "pulse" | | 11 | "weight" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 0 | | maxInWindow | 0 | | found | (empty) | | highlights | (empty) | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 65 | | matches | (empty) | |
| 98.90% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 0 | | narrationSentences | 65 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 65 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 49 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 3 | | markdownWords | 7 | | totalWords | 1082 | | ratio | 0.006 | | matches | | 0 | "The Raven’s Nest." | | 1 | "Focus." | | 2 | "Closed - Inconclusive." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 0 | | unquotedAttributions | 0 | | matches | (empty) | |
| 99.17% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 44 | | wordCount | 1082 | | uniqueNames | 23 | | maxNameDensity | 1.02 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Shaftesbury | 1 | | Avenue | 1 | | Harlow | 1 | | Quinn | 11 | | November | 1 | | Metropolitan | 1 | | Police | 1 | | Tomás | 1 | | Herrera | 10 | | Seville | 1 | | Soho | 1 | | Morris | 3 | | Raven | 1 | | London | 1 | | Victorian | 1 | | Glock | 1 | | Tube | 1 | | Camden | 1 | | Veil | 1 | | Market | 1 | | Met | 1 | | Saint | 1 | | Christopher | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "November" | | 3 | "Police" | | 4 | "Tomás" | | 5 | "Herrera" | | 6 | "Morris" | | 7 | "Raven" | | 8 | "Victorian" | | 9 | "Glock" | | 10 | "Market" | | 11 | "Met" | | 12 | "Saint" | | 13 | "Christopher" |
| | places | | 0 | "Shaftesbury" | | 1 | "Avenue" | | 2 | "Seville" | | 3 | "Soho" | | 4 | "London" |
| | globalScore | 0.992 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 52 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 15.16% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.848 | | wordCount | 1082 | | matches | | 0 | "not cut, but sheared as if the metal had semplicemente forgotten how to h" | | 1 | "not cash, but a tiny, smooth fragment of ivory" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 65 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 26 | | mean | 41.62 | | std | 26.33 | | cv | 0.633 | | sampleLengths | | 0 | 57 | | 1 | 15 | | 2 | 110 | | 3 | 70 | | 4 | 9 | | 5 | 58 | | 6 | 25 | | 7 | 9 | | 8 | 70 | | 9 | 17 | | 10 | 58 | | 11 | 24 | | 12 | 8 | | 13 | 65 | | 14 | 3 | | 15 | 55 | | 16 | 50 | | 17 | 52 | | 18 | 45 | | 19 | 69 | | 20 | 12 | | 21 | 34 | | 22 | 53 | | 23 | 33 | | 24 | 13 | | 25 | 68 |
| |
| 94.47% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 65 | | matches | | 0 | "was tucked" | | 1 | "was known" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 170 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 1 | | flaggedSentences | 11 | | totalSentences | 65 | | ratio | 0.169 | | matches | | 0 | "Detective Harlow Quinn checked the worn leather watch on her left wrist—11:42 p.m.—then adjusted the collar of her coat against the November chill." | | 1 | "Olive skin, short dark curls plastered to his forehead by the downpour, and a jagged white scar running down his left forearm—though tonight the arm was tucked deep into his heavy coat." | | 2 | "The heavy iron padlocks lay on the ground, snapped clean through—not cut, but sheared as if the metal had semplicemente forgotten how to hold together." | | 3 | "Fifty yards ahead, the tunnel opened into an impossibly vast subterranean cavern—the platform of a forgotten 19th-century line, now transformed into a sprawling, lawless bazaar." | | 4 | "She was an outsider here; every instinct honed over two decades warned her that the rules of the Met meant nothing beneath the street level." | | 5 | "He was moving with purpose, his head down, one hand clutching the collar of his shirt—no doubt resting against the Saint Christopher medallion he was known to wear." | | 6 | "Herrera offered something in exchange—not cash, but a tiny, smooth fragment of ivory that caught the lantern light." | | 7 | "As he moved, his coat parted, and Quinn caught a glimpse of his skin—pale as lard, with thin, violet veins pulsing rhythmically beneath his neck, far too fast for a human heart." | | 8 | "Herrera took the leather satchel, slung it over his shoulder, and turned toward the western exit of the platform—a narrow access corridor marked with faded red tiles that led deeper into the subterranean network." | | 9 | "She reached down, touched the worn leather strap of her watch, and thought of the rain-slicked pavement three years ago, the silence in the briefing room, and the file marked *Closed - Inconclusive.*" | | 10 | "The sounds of the market hit her in a wave—whispers in dead tongues, the clatter of iron scales, the sharp, pungent scent of alchemical sulfur." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1096 | | adjectiveStacks | 1 | | stackExamples | | 0 | "cold, sweat-slicked rebar," |
| | adverbCount | 21 | | adverbRatio | 0.01916058394160584 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.010036496350364963 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 65 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 65 | | mean | 16.65 | | std | 10.49 | | cv | 0.63 | | sampleLengths | | 0 | 17 | | 1 | 23 | | 2 | 17 | | 3 | 15 | | 4 | 6 | | 5 | 8 | | 6 | 32 | | 7 | 12 | | 8 | 26 | | 9 | 26 | | 10 | 23 | | 11 | 7 | | 12 | 2 | | 13 | 38 | | 14 | 9 | | 15 | 29 | | 16 | 29 | | 17 | 25 | | 18 | 4 | | 19 | 5 | | 20 | 18 | | 21 | 4 | | 22 | 3 | | 23 | 17 | | 24 | 28 | | 25 | 17 | | 26 | 4 | | 27 | 19 | | 28 | 14 | | 29 | 21 | | 30 | 10 | | 31 | 14 | | 32 | 4 | | 33 | 4 | | 34 | 25 | | 35 | 30 | | 36 | 10 | | 37 | 3 | | 38 | 19 | | 39 | 11 | | 40 | 25 | | 41 | 21 | | 42 | 1 | | 43 | 28 | | 44 | 10 | | 45 | 21 | | 46 | 18 | | 47 | 3 | | 48 | 7 | | 49 | 11 |
| |
| 42.05% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 11 | | diversityRatio | 0.35384615384615387 | | totalSentences | 65 | | uniqueOpeners | 23 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 62 | | matches | (empty) | | ratio | 0 | |
| 78.06% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 22 | | totalSentences | 62 | | matches | | 0 | "She kept her posture square," | | 1 | "Her precinct had him flagged" | | 2 | "She accelerated her pace, her" | | 3 | "She paused, taking a slow," | | 4 | "She flicked her penlight on," | | 5 | "She was sure of it." | | 6 | "Her sharp jaw tightened." | | 7 | "She drew her Glock, checked" | | 8 | "She descended thirty feet down" | | 9 | "She was standing in a" | | 10 | "She didn't need it." | | 11 | "She pulled her coat tight" | | 12 | "She was an outsider here;" | | 13 | "She caught a glimpse of" | | 14 | "He was moving with purpose," | | 15 | "He stopped at a booth" | | 16 | "He didn't walk so much" | | 17 | "She breathed through her mouth," | | 18 | "She reached down, touched the" | | 19 | "She stepped out of the" |
| | ratio | 0.355 | |
| 32.58% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 53 | | totalSentences | 62 | | matches | | 0 | "The rain off Shaftesbury Avenue" | | 1 | "Detective Harlow Quinn checked the" | | 2 | "She kept her posture square," | | 3 | "Quinn knew his file by" | | 4 | "Olive skin, short dark curls" | | 5 | "Her precinct had him flagged" | | 6 | "Herrera was the medic for" | | 7 | "The kind of people who" | | 8 | "Herrera turned down an alley" | | 9 | "*The Raven’s Nest.* Quinn knew" | | 10 | "She accelerated her pace, her" | | 11 | "She paused, taking a slow," | | 12 | "She flicked her penlight on," | | 13 | "The heavy iron padlocks lay" | | 14 | "Herrera was down there." | | 15 | "She was sure of it." | | 16 | "Quinn stood at the lip" | | 17 | "Her sharp jaw tightened." | | 18 | "Protocol demanded back-up." | | 19 | "Protocol demanded a radio call" |
| | ratio | 0.855 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 62 | | matches | | 0 | "If she stepped into the" | | 1 | "If she lost Herrera in" |
| | ratio | 0.032 | |
| 82.07% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 47 | | technicalSentenceCount | 4 | | matches | | 0 | "She paused, taking a slow, measured breath through her nose, smelling damp trash, exhaust, and an odd, ozone metallic bite that had no business resting in a Lon…" | | 1 | "The heavy iron padlocks lay on the ground, snapped clean through—not cut, but sheared as if the metal had semplicemente forgotten how to hold together." | | 2 | "The sound of rain on pavement faded, swallowed by a thick, heavy silence that felt pressed against her eardrums." | | 3 | "Herrera took the leather satchel, slung it over his shoulder, and turned toward the western exit of the platform—a narrow access corridor marked with faded red …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |