| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 7 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 15 | | tagDensity | 0.467 | | leniency | 0.933 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 96.92% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1626 | | totalAiIsmAdverbs | 1 | | 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) | |
| 66.17% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1626 | | totalAiIsms | 11 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | word | "down her spine" | | count | 1 |
|
| | highlights | | 0 | "etched" | | 1 | "rhythmic" | | 2 | "glint" | | 3 | "reverberated" | | 4 | "echo" | | 5 | "chilled" | | 6 | "velvet" | | 7 | "porcelain" | | 8 | "tension" | | 9 | "measured" | | 10 | "down her spine" |
| |
| 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 | 1 | | narrationSentences | 96 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 96 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 104 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 46 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 3 | | totalWords | 1618 | | ratio | 0.002 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 50.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 54 | | wordCount | 1464 | | uniqueNames | 19 | | maxNameDensity | 1.23 | | worstName | "Harlow" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Herrera" | | discoveredNames | | Camden | 2 | | High | 1 | | Street | 1 | | Quinn | 1 | | Tomás | 2 | | Herrera | 16 | | Seville | 1 | | Harlow | 18 | | Morris | 2 | | Glock | 1 | | London | 1 | | Underground | 1 | | Saint | 1 | | Christopher | 1 | | Northern | 1 | | Veil | 1 | | Market | 1 | | Spanish | 1 | | Thames | 1 |
| | persons | | 0 | "Quinn" | | 1 | "Tomás" | | 2 | "Herrera" | | 3 | "Harlow" | | 4 | "Morris" | | 5 | "Saint" | | 6 | "Christopher" | | 7 | "Market" |
| | places | | 0 | "Camden" | | 1 | "High" | | 2 | "Street" | | 3 | "Seville" | | 4 | "London" | | 5 | "Veil" | | 6 | "Thames" |
| | globalScore | 0.885 | | windowScore | 0.5 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 83 | | glossingSentenceCount | 1 | | matches | | 0 | "sounded like grinding stones and dry leave" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1618 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 104 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 40 | | mean | 40.45 | | std | 25.97 | | cv | 0.642 | | sampleLengths | | 0 | 63 | | 1 | 63 | | 2 | 117 | | 3 | 19 | | 4 | 54 | | 5 | 16 | | 6 | 27 | | 7 | 68 | | 8 | 50 | | 9 | 50 | | 10 | 8 | | 11 | 52 | | 12 | 57 | | 13 | 18 | | 14 | 43 | | 15 | 14 | | 16 | 6 | | 17 | 103 | | 18 | 11 | | 19 | 94 | | 20 | 20 | | 21 | 51 | | 22 | 8 | | 23 | 13 | | 24 | 44 | | 25 | 49 | | 26 | 29 | | 27 | 50 | | 28 | 41 | | 29 | 44 | | 30 | 27 | | 31 | 41 | | 32 | 28 | | 33 | 61 | | 34 | 29 | | 35 | 3 | | 36 | 47 | | 37 | 23 | | 38 | 60 | | 39 | 17 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 96 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 239 | | matches | | 0 | "was breathing" | | 1 | "was looking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 2 | | flaggedSentences | 6 | | totalSentences | 104 | | ratio | 0.058 | | matches | | 0 | "Beneath his cuff, when he reached up to pull his hood lower against the deluge, Harlow caught the pale flash of the long scar running along his left forearm—the knife wound from his time on the trauma beat, or so the official report claimed." | | 1 | "He threw a terrified glance over his shoulder—warm brown eyes widening in the dim glow of a flickering streetlamp—and broke into a full sprint." | | 2 | "A faint glint of silver caught the streetlight from beneath his shirt collar—a Saint Christopher medallion swinging wildly as he dropped to the ground on the far side and vanished into the mouth of the station." | | 3 | "Water trickled down the tiled walls, carrying the stench of wet rot, ancient coal dust, and something else—something warm and metallic, like static electricity before a thunderstorm." | | 4 | "Harlow’s eyes darted frantically, trying to process the impossible: a woman with skin like cracked porcelain selling bone-carved whistles; an old man tossing shimmering dust into a brazier that burned with a violet flame; vials of dark, thick liquids labeled in scripts she couldn't read." | | 5 | "Dozens of eyes—some yellow, some milky white, some reflecting the torchlight like a cat's—fixed upon her high-visibility coat and her service weapon." |
| |
| 76.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1489 | | adjectiveStacks | 4 | | stackExamples | | 0 | "heavy, iron-gray sheets" | | 1 | "short curly dark hair," | | 2 | "tight two-handed grip" | | 3 | "small, white polished object" |
| | adverbCount | 28 | | adverbRatio | 0.01880456682337139 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.007387508394895903 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 104 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 104 | | mean | 15.56 | | std | 8.98 | | cv | 0.577 | | sampleLengths | | 0 | 22 | | 1 | 25 | | 2 | 16 | | 3 | 4 | | 4 | 32 | | 5 | 27 | | 6 | 11 | | 7 | 16 | | 8 | 44 | | 9 | 6 | | 10 | 40 | | 11 | 19 | | 12 | 28 | | 13 | 9 | | 14 | 2 | | 15 | 15 | | 16 | 16 | | 17 | 3 | | 18 | 24 | | 19 | 21 | | 20 | 13 | | 21 | 18 | | 22 | 16 | | 23 | 14 | | 24 | 36 | | 25 | 7 | | 26 | 25 | | 27 | 18 | | 28 | 8 | | 29 | 11 | | 30 | 14 | | 31 | 27 | | 32 | 18 | | 33 | 18 | | 34 | 4 | | 35 | 3 | | 36 | 14 | | 37 | 18 | | 38 | 4 | | 39 | 9 | | 40 | 13 | | 41 | 17 | | 42 | 14 | | 43 | 6 | | 44 | 14 | | 45 | 10 | | 46 | 5 | | 47 | 9 | | 48 | 23 | | 49 | 13 |
| |
| 45.19% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.34615384615384615 | | totalSentences | 104 | | uniqueOpeners | 36 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 94 | | matches | (empty) | | ratio | 0 | |
| 66.81% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 36 | | totalSentences | 94 | | matches | | 0 | "Her eyes, dark brown and" | | 1 | "It was Tomás Herrera." | | 2 | "She’d spent three weeks memorizing" | | 3 | "He moved fast for a" | | 4 | "He cut through the pedestrian" | | 5 | "She hadn't bought official reports" | | 6 | "She checked the time out" | | 7 | "She picked up her pace," | | 8 | "she shouted, her voice cutting" | | 9 | "He didn't stop." | | 10 | "He threw a terrified glance" | | 11 | "She hoisted her five-foot-nine frame" | | 12 | "She drew her flashlight with" | | 13 | "Her beam carved through the" | | 14 | "She knew this area." | | 15 | "She had hunted suspects in" | | 16 | "She stepped into a vaulted" | | 17 | "It wasn't a subway platform" | | 18 | "Her heart hammered against her" | | 19 | "She stepped off the last" |
| | ratio | 0.383 | |
| 7.87% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 85 | | totalSentences | 94 | | matches | | 0 | "Rain fell in heavy, iron-gray" | | 1 | "Harlow Quinn adjusted the collar" | | 2 | "Her eyes, dark brown and" | | 3 | "It was Tomás Herrera." | | 4 | "She’d spent three weeks memorizing" | | 5 | "A disgraced former paramedic with" | | 6 | "He moved fast for a" | | 7 | "He cut through the pedestrian" | | 8 | "Harlow didn't buy the official" | | 9 | "She hadn't bought official reports" | | 10 | "Herrera veered abruptly to the" | | 11 | "Harlow reached into her coat," | | 12 | "She checked the time out" | | 13 | "She picked up her pace," | | 14 | "she shouted, her voice cutting" | | 15 | "He didn't stop." | | 16 | "He threw a terrified glance" | | 17 | "Harlow rounded the corner just" | | 18 | "The fence bordered the dark," | | 19 | "The council had boarded it" |
| | ratio | 0.904 | |
| 53.19% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 94 | | matches | | 0 | "Yet, the air growing warmer" |
| | ratio | 0.011 | |
| 86.17% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 63 | | technicalSentenceCount | 5 | | matches | | 0 | "She’d spent three weeks memorizing his file, staring at his NHS mugshot until the details were etched into her eyelids: twenty-nine years old, olive skin, short…" | | 1 | "She hadn't bought official reports since the night DS Morris died three years ago in a warehouse that smelled of ozone and scorched copper, leaving behind an em…" | | 2 | "Harlow reached into her coat, her hand brushing the cold steel of her Glock before resting on the worn leather strap of the watch on her left wrist." | | 3 | "He was looking at her gun as if it were a toy, and looking at the shadows behind her as if they were lethal." | | 4 | "She kept running, her leather watch ticking quietly on her wrist, driving her forward into the dark." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 7 | | uselessAdditionCount | 3 | | matches | | 0 | "she shouted, her voice cutting through the hiss of the downpour" | | 1 | "Herrera said, his voice carrying a thick Spanish cadence, strained and low" | | 2 | "figure rasped, his voice vibrating in Harlow's teeth" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 4 | | fancyTags | | 0 | "she shouted (shout)" | | 1 | "Herrera snapped (snap)" | | 2 | "Harlow growled (growl)" | | 3 | "Harlow barked (bark)" |
| | dialogueSentences | 15 | | tagDensity | 0.4 | | leniency | 0.8 | | rawRatio | 0.667 | | effectiveRatio | 0.533 | |