| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 1 | | adverbTags | | 0 | "Quinn stepped around [around]" |
| | dialogueSentences | 32 | | tagDensity | 0.281 | | leniency | 0.563 | | rawRatio | 0.111 | | effectiveRatio | 0.063 | |
| 97.48% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1983 | | 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) | |
| 49.57% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1983 | | totalAiIsms | 20 | | found | | | highlights | | 0 | "scanning" | | 1 | "pumping" | | 2 | "raced" | | 3 | "footsteps" | | 4 | "flickered" | | 5 | "shimmered" | | 6 | "resolve" | | 7 | "stomach" | | 8 | "pulse" | | 9 | "silence" | | 10 | "weight" | | 11 | "scanned" | | 12 | "velvet" | | 13 | "fractured" | | 14 | "measured" | | 15 | "hulking" |
| |
| 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 | 190 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 190 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 213 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 36 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2007 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 82 | | wordCount | 1802 | | uniqueNames | 27 | | maxNameDensity | 1.66 | | worstName | "Quinn" | | maxWindowNameDensity | 3 | | worstWindowName | "Quinn" | | discoveredNames | | Quinn | 30 | | Saint | 2 | | Christopher | 2 | | Brixton | 1 | | Herrera | 21 | | Major | 1 | | Crimes | 1 | | London | 1 | | Covent | 1 | | Garden | 1 | | Grimes | 1 | | Seven | 1 | | Dials | 1 | | Neal | 1 | | Street | 3 | | Earlham | 1 | | Monmouth | 1 | | Shaftesbury | 2 | | Avenue | 2 | | Tube | 1 | | Northern | 1 | | Line | 1 | | Spanish | 1 | | Seville | 1 | | Silas | 1 | | Veil | 1 | | Market | 1 |
| | persons | | 0 | "Quinn" | | 1 | "Saint" | | 2 | "Christopher" | | 3 | "Herrera" | | 4 | "Major" | | 5 | "Crimes" | | 6 | "Silas" |
| | places | | 0 | "London" | | 1 | "Covent" | | 2 | "Garden" | | 3 | "Seven" | | 4 | "Neal" | | 5 | "Street" | | 6 | "Earlham" | | 7 | "Monmouth" | | 8 | "Shaftesbury" | | 9 | "Avenue" | | 10 | "Seville" |
| | globalScore | 0.668 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 121 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.498 | | wordCount | 2007 | | matches | | 0 | "not from Herrera, but from the market itself" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 213 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 61 | | mean | 32.9 | | std | 28.04 | | cv | 0.852 | | sampleLengths | | 0 | 4 | | 1 | 79 | | 2 | 119 | | 3 | 49 | | 4 | 65 | | 5 | 69 | | 6 | 5 | | 7 | 30 | | 8 | 3 | | 9 | 59 | | 10 | 44 | | 11 | 2 | | 12 | 59 | | 13 | 82 | | 14 | 4 | | 15 | 63 | | 16 | 55 | | 17 | 23 | | 18 | 49 | | 19 | 49 | | 20 | 57 | | 21 | 12 | | 22 | 6 | | 23 | 82 | | 24 | 6 | | 25 | 79 | | 26 | 92 | | 27 | 48 | | 28 | 9 | | 29 | 39 | | 30 | 4 | | 31 | 8 | | 32 | 21 | | 33 | 12 | | 34 | 36 | | 35 | 8 | | 36 | 37 | | 37 | 10 | | 38 | 5 | | 39 | 1 | | 40 | 69 | | 41 | 28 | | 42 | 19 | | 43 | 17 | | 44 | 6 | | 45 | 14 | | 46 | 55 | | 47 | 9 | | 48 | 35 | | 49 | 10 |
| |
| 99.72% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 190 | | matches | | 0 | "been repurposed" | | 1 | "been erected" | | 2 | "is pointed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 323 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 23 | | semicolonCount | 0 | | flaggedSentences | 18 | | totalSentences | 213 | | ratio | 0.085 | | matches | | 0 | "She'd been staring at that still frame for four hours when her phone buzzed with the patrol unit's update — a match on facial recognition from the Brixton stabbing two weeks prior." | | 1 | "She checked her watch — 11:47 PM — and felt the worn leather band flex against her wrist." | | 2 | "Her informant — a twitchy dealer named Grimes who sold information instead of product — had texted forty minutes ago: Herrera booked it toward Seven Dials." | | 3 | "A figure in a dark jacket — olive skin, compact build, moving with the quick efficiency of someone who knew these alleys — ducking between two dumpsters outside a shuttered kebab shop." | | 4 | "Recognition hit them both at the same moment — his widened, hers narrowed." | | 5 | "The main road was alive even at midnight — black cabs sliding through the rain, a cluster of theatre-goers huddled under umbrellas outside a restaurant." | | 6 | "The air that rose from below carried smells she didn't expect — herbs, ozone, something chemical and sweet, like burning sage laced with acetone." | | 7 | "The stairs opened into a tunnel — old, curved, tiled in cream and green." | | 8 | "Quinn's torch was unnecessary here — someone had strung hundreds of lights along the ceiling, a constellation of bare bulbs and colored LEDs that turned the old platform into something luminous." | | 9 | "The station name — BRITISH MUSEUM, she read from the faded ceramic tiles on the walls — had been repurposed." | | 10 | "The lighting caught strange objects — glass jars containing substances that shimmered wrong, bundles of dried plants that hung from hooks like dead birds, racks of vials filled with liquids in colors Quinn's eyes couldn't properly resolve." | | 11 | "No — two arms and something else, something shadowy and secondary that moved independently behind him." | | 12 | "She looked Quinn up and down — the soaked coat, the torch, the holster." | | 13 | "Quinn felt the weight of dozens of eyes — human, and otherwise — settling on her." | | 14 | "His expression wasn't frightened — it was wary, the way a person looks at a loaded gun they haven't decided is pointed at them." | | 15 | "His accent was Spanish — Seville, she'd read in the file." | | 16 | "Quinn became aware of figures closing in at the periphery — not approaching, just watching." | | 17 | "She heard the threat underneath the words — not from Herrera, but from the market itself." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1796 | | adjectiveStacks | 1 | | stackExamples | | 0 | "visible under fluorescent parking" |
| | adverbCount | 24 | | adverbRatio | 0.013363028953229399 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.0033407572383073497 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 213 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 213 | | mean | 9.42 | | std | 7 | | cv | 0.743 | | sampleLengths | | 0 | 21 | | 1 | 17 | | 2 | 32 | | 3 | 2 | | 4 | 11 | | 5 | 20 | | 6 | 19 | | 7 | 18 | | 8 | 4 | | 9 | 5 | | 10 | 25 | | 11 | 13 | | 12 | 8 | | 13 | 7 | | 14 | 10 | | 15 | 9 | | 16 | 26 | | 17 | 4 | | 18 | 9 | | 19 | 13 | | 20 | 19 | | 21 | 12 | | 22 | 12 | | 23 | 12 | | 24 | 32 | | 25 | 11 | | 26 | 2 | | 27 | 12 | | 28 | 5 | | 29 | 4 | | 30 | 11 | | 31 | 13 | | 32 | 2 | | 33 | 3 | | 34 | 12 | | 35 | 14 | | 36 | 8 | | 37 | 14 | | 38 | 11 | | 39 | 7 | | 40 | 10 | | 41 | 9 | | 42 | 3 | | 43 | 15 | | 44 | 2 | | 45 | 3 | | 46 | 1 | | 47 | 19 | | 48 | 9 | | 49 | 6 |
| |
| 45.38% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.3004694835680751 | | totalSentences | 213 | | uniqueOpeners | 64 | |
| 40.16% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 166 | | matches | | 0 | "Somewhere above, a loose tarp" | | 1 | "Then the murmur of trade" |
| | ratio | 0.012 | |
| 92.29% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 53 | | totalSentences | 166 | | matches | | 0 | "She'd been staring at that" | | 1 | "She pulled on her coat" | | 2 | "She checked her watch —" | | 3 | "Her unmarked sedan idled at" | | 4 | "She tapped the steering wheel," | | 5 | "Her informant — a twitchy" | | 6 | "She moved down Neal Street" | | 7 | "She kept her right hand" | | 8 | "She broke into a run." | | 9 | "She risked a misstep on" | | 10 | "She corrected without breaking stride," | | 11 | "He gained ground." | | 12 | "She could see his breath" | | 13 | "He glanced back." | | 14 | "His foot caught a raised" | | 15 | "He caught it against his" | | 16 | "Her legs screamed." | | 17 | "He threaded through them like" | | 18 | "She shouldered through, muttering apologies" | | 19 | "He staggered but didn't fall." |
| | ratio | 0.319 | |
| 26.27% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 144 | | totalSentences | 166 | | matches | | 0 | "# THE RAIN CHASE The" | | 1 | "The figure entering the warehouse" | | 2 | "She'd been staring at that" | | 3 | "She pulled on her coat" | | 4 | "The rain had been hammering" | | 5 | "She checked her watch —" | | 6 | "The time meant nothing." | | 7 | "Every full moon cycle, someone" | | 8 | "Her unmarked sedan idled at" | | 9 | "She tapped the steering wheel," | | 10 | "Her informant — a twitchy" | | 11 | "Quinn killed the engine and" | | 12 | "Water hit her like a" | | 13 | "She moved down Neal Street" | | 14 | "The neon signs of closed" | | 15 | "She kept her right hand" | | 16 | "The first glimpse came as" | | 17 | "A figure in a dark" | | 18 | "Herrera's left hand held something" | | 19 | "Quinn recognized the shape of" |
| | ratio | 0.867 | |
| 30.12% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 166 | | matches | | 0 | "If she waited, he'd be" |
| | ratio | 0.006 | |
| 87.20% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 77 | | technicalSentenceCount | 6 | | matches | | 0 | "Her informant — a twitchy dealer named Grimes who sold information instead of product — had texted forty minutes ago: Herrera booked it toward Seven Dials." | | 1 | "A figure in a dark jacket — olive skin, compact build, moving with the quick efficiency of someone who knew these alleys — ducking between two dumpsters outside…" | | 2 | "She could see his breath coming in white bursts, the medallion swinging at his throat." | | 3 | "A taxi honked and swerved, its tires throwing a sheet of water that caught Herrera mid-stride." | | 4 | "Quinn's torch was unnecessary here — someone had strung hundreds of lights along the ceiling, a constellation of bare bulbs and colored LEDs that turned the old…" | | 5 | "The lighting caught strange objects — glass jars containing substances that shimmered wrong, bundles of dried plants that hung from hooks like dead birds, racks…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 1 | | fancyTags | | 0 | "Herrera repeated (repeat)" |
| | dialogueSentences | 32 | | tagDensity | 0.125 | | leniency | 0.25 | | rawRatio | 0.25 | | effectiveRatio | 0.063 | |