| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 2 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 3 | | tagDensity | 0.667 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 86.61% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1494 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "slightly" | | 1 | "utterly" | | 2 | "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) | |
| 43.11% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1494 | | totalAiIsms | 17 | | found | | | highlights | | 0 | "chill" | | 1 | "unravel" | | 2 | "shattered" | | 3 | "familiar" | | 4 | "pounding" | | 5 | "depths" | | 6 | "silence" | | 7 | "rhythmic" | | 8 | "intricate" | | 9 | "hulking" | | 10 | "cataloged" | | 11 | "echoing" | | 12 | "vibrated" | | 13 | "mechanical" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 103 | | matches | (empty) | |
| 87.38% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 2 | | narrationSentences | 103 | | 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 | 0 | | markdownWords | 0 | | totalWords | 1486 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 3 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 58 | | wordCount | 1452 | | uniqueNames | 24 | | maxNameDensity | 1.03 | | worstName | "Harlow" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Herrera" | | discoveredNames | | London | 3 | | Soho | 2 | | Harlow | 15 | | Quinn | 1 | | Tomás | 1 | | Herrera | 11 | | Whitechapel | 1 | | Metropolitan | 2 | | Police | 2 | | Morris | 4 | | Raven | 1 | | Nest | 1 | | North | 1 | | Camden | 1 | | Marlow | 1 | | Saint | 1 | | Christopher | 1 | | Tube | 1 | | Transport | 1 | | Northern | 1 | | Line | 1 | | Veil | 2 | | Market | 2 | | Swiss | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Tomás" | | 3 | "Herrera" | | 4 | "Police" | | 5 | "Morris" | | 6 | "Raven" | | 7 | "Marlow" | | 8 | "Saint" | | 9 | "Christopher" | | 10 | "Veil" | | 11 | "Market" | | 12 | "Swiss" |
| | places | | 0 | "London" | | 1 | "Soho" | | 2 | "Whitechapel" |
| | globalScore | 0.983 | | windowScore | 0.833 | |
| 92.53% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 87 | | glossingSentenceCount | 2 | | matches | | 0 | "sounded like scraping slate and rushing wa" | | 1 | "weapons that seemed to absorb the dim light rather than reflect it" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1486 | | 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 | 38 | | mean | 39.11 | | std | 27.33 | | cv | 0.699 | | sampleLengths | | 0 | 55 | | 1 | 34 | | 2 | 132 | | 3 | 53 | | 4 | 102 | | 5 | 5 | | 6 | 31 | | 7 | 12 | | 8 | 6 | | 9 | 13 | | 10 | 67 | | 11 | 47 | | 12 | 45 | | 13 | 52 | | 14 | 41 | | 15 | 6 | | 16 | 40 | | 17 | 37 | | 18 | 13 | | 19 | 68 | | 20 | 87 | | 21 | 8 | | 22 | 38 | | 23 | 62 | | 24 | 31 | | 25 | 8 | | 26 | 28 | | 27 | 43 | | 28 | 20 | | 29 | 57 | | 30 | 49 | | 31 | 11 | | 32 | 41 | | 33 | 37 | | 34 | 48 | | 35 | 15 | | 36 | 14 | | 37 | 30 |
| |
| 91.64% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 103 | | matches | | 0 | "was scratched" | | 1 | "been closed" | | 2 | "was faded" | | 3 | "been boarded" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 237 | | matches | | 0 | "wasn’t running" | | 1 | "was frantically digging" | | 2 | "were drawing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 3 | | flaggedSentences | 8 | | totalSentences | 104 | | ratio | 0.077 | | matches | | 0 | "It was the same watch she had wore the night she lost her partner, DS Morris, in an alleyway that smelled of ozone and burnt copper—a case that had been closed as an accidental fire, a lie she had spent three years trying to unravel." | | 1 | "As he crossed beneath a flickering streetlamp, Marlow caught a glimpse of silver catching the light at his throat—the Saint Christopher medallion he always wore, swinging like a pendulum." | | 2 | "A draft rolled up from the dark, carrying the scent of damp earth, old iron, and something utterly foreign—sweet, cloying, like burnt lavender and copper." | | 3 | "She didn’t have a firearm—not on a simple surveillance detail—but she had her wits, her training, and a burning, unresolved grief that acted as a compass." | | 4 | "The sounds of the surface world—the distant hiss of traffic, the hum of the city—evaporated, replaced by a heavy, pressurized silence." | | 5 | "It wasn't the rumble of the Northern Line; it was too irregular, like a collective heartbeat." | | 6 | "On the tables, Harlow saw things that defied the clean, logical world she swore to protect: jars of shimmering, viscous liquids that moved against gravity; dried roots that twitched like severed fingers; and weapons that seemed to absorb the dim light rather than reflect it." | | 7 | "He pulled out a small, yellowed object—a bone token, carved with intricate, swirling runes." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 260 | | adjectiveStacks | 1 | | stackExamples | | 0 | "heavy, grease-slicked mist" |
| | adverbCount | 2 | | adverbRatio | 0.007692307692307693 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.007692307692307693 | |
| 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 | 14.29 | | std | 8.54 | | cv | 0.597 | | sampleLengths | | 0 | 36 | | 1 | 19 | | 2 | 4 | | 3 | 30 | | 4 | 15 | | 5 | 15 | | 6 | 2 | | 7 | 6 | | 8 | 16 | | 9 | 19 | | 10 | 14 | | 11 | 45 | | 12 | 11 | | 13 | 11 | | 14 | 31 | | 15 | 3 | | 16 | 20 | | 17 | 14 | | 18 | 7 | | 19 | 29 | | 20 | 29 | | 21 | 5 | | 22 | 6 | | 23 | 3 | | 24 | 22 | | 25 | 3 | | 26 | 4 | | 27 | 5 | | 28 | 6 | | 29 | 13 | | 30 | 9 | | 31 | 16 | | 32 | 15 | | 33 | 27 | | 34 | 8 | | 35 | 19 | | 36 | 20 | | 37 | 25 | | 38 | 20 | | 39 | 16 | | 40 | 6 | | 41 | 17 | | 42 | 13 | | 43 | 15 | | 44 | 26 | | 45 | 6 | | 46 | 19 | | 47 | 21 | | 48 | 9 | | 49 | 12 |
| |
| 40.71% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 11 | | diversityRatio | 0.3076923076923077 | | totalSentences | 104 | | uniqueOpeners | 32 | |
| 32.68% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 102 | | matches | | 0 | "Just ahead of her, Herrera" |
| | ratio | 0.01 | |
| 74.90% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 37 | | totalSentences | 102 | | matches | | 0 | "It was Tomás Herrera." | | 1 | "She had been tracking the" | | 2 | "He kept his head down," | | 3 | "He didn't know she was" | | 4 | "She reached down with her" | | 5 | "It was the same watch" | | 6 | "They passed the distinctive green" | | 7 | "She didn't freeze." | | 8 | "She simply kept walking, her" | | 9 | "He knew her face." | | 10 | "He knew what she represented." | | 11 | "He broke into a dead" | | 12 | "She surged forward, her boots" | | 13 | "She halted at the top" | | 14 | "It was the same smell" | | 15 | "Her instinct, honed by nearly" | | 16 | "She didn’t have a firearm—not" | | 17 | "She went down into the" | | 18 | "It wasn't the rumble of" | | 19 | "She turned a corner where" |
| | ratio | 0.363 | |
| 38.43% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 86 | | totalSentences | 102 | | matches | | 0 | "The rain in London did" | | 1 | "Detective Harlow Quinn adjusted the" | | 2 | "It was Tomás Herrera." | | 3 | "She had been tracking the" | | 4 | "Herrera moved with a hurried," | | 5 | "He kept his head down," | | 6 | "He didn't know she was" | | 7 | "Harlow kept her pace steady," | | 8 | "She reached down with her" | | 9 | "The glass was scratched, a" | | 10 | "It was the same watch" | | 11 | "They passed the distinctive green" | | 12 | "The glow painted the wet" | | 13 | "Harlow pressed on." | | 14 | "The chase led them North," | | 15 | "The air grew colder, thick" | | 16 | "Herrera pulled his coat tighter" | | 17 | "Herrera glanced over his shoulder." | | 18 | "Harlow didn't duck into a" | | 19 | "She didn't freeze." |
| | ratio | 0.843 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 102 | | matches | | 0 | "By the time Harlow rounded" | | 1 | "To its left, a small" | | 2 | "If she wanted to find" |
| | ratio | 0.029 | |
| 45.45% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 66 | | technicalSentenceCount | 9 | | matches | | 0 | "The rain in London did not fall so much as it drifted, a heavy, grease-slicked mist that clung to the streetlamps of Soho and turned the asphalt into a mirror o…" | | 1 | "Harlow kept her pace steady, her boots clicking in a rhythm that matched her military precision." | | 2 | "It was the same watch she had wore the night she lost her partner, DS Morris, in an alleyway that smelled of ozone and burnt copper—a case that had been closed …" | | 3 | "Under his sleeve, she knew, was the jagged scar from a knife attack, a souvenir from his days patching up people who didn't exist on any official medical regist…" | | 4 | "By the time Harlow rounded the bend, she saw him disappearing down a set of concrete stairs that led into the mouth of a long-abandoned Tube station." | | 5 | "The dispatcher would send two local beat officers who would find nothing but an empty, boarded-up platform." | | 6 | "She didn’t have a firearm—not on a simple surveillance detail—but she had her wits, her training, and a burning, unresolved grief that acted as a compass." | | 7 | "On the tables, Harlow saw things that defied the clean, logical world she swore to protect: jars of shimmering, viscous liquids that moved against gravity; drie…" | | 8 | "It held the casing to its ear, listening to the steady, mechanical tick-tick-tick of the gears inside." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 2 | | uselessAdditionCount | 1 | | matches | | 0 | "Harlow said, her voice steady, echoing slightly in the damp tunnel" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 3 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0 | | effectiveRatio | 0 | |