| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 2 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1262 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 64.34% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1262 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "glinting" | | 1 | "flickered" | | 2 | "standard" | | 3 | "shattered" | | 4 | "etched" | | 5 | "vibrated" | | 6 | "footsteps" | | 7 | "measured" |
| |
| 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 | 50 | | matches | | |
| 85.71% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 50 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 51 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 47 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1257 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 50 | | wordCount | 1251 | | uniqueNames | 21 | | maxNameDensity | 0.88 | | worstName | "Harlow" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Harlow" | | discoveredNames | | Soho | 2 | | Harlow | 11 | | Quinn | 1 | | Raven | 1 | | Nest | 1 | | Tomás | 11 | | Herrera | 1 | | Saint | 1 | | Christopher | 1 | | Old | 1 | | Compton | 1 | | Street | 1 | | Camden | 2 | | Market | 3 | | Tube | 3 | | Veil | 2 | | Morris | 3 | | Metropolitan | 1 | | Police | 1 | | English | 1 | | Spanish | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Raven" | | 3 | "Nest" | | 4 | "Tomás" | | 5 | "Herrera" | | 6 | "Saint" | | 7 | "Christopher" | | 8 | "Market" | | 9 | "Morris" | | 10 | "Police" |
| | places | | 0 | "Soho" | | 1 | "Old" | | 2 | "Compton" | | 3 | "Street" |
| | globalScore | 1 | | windowScore | 0.833 | |
| 50.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 50 | | glossingSentenceCount | 2 | | matches | | 0 | "smelled like burnt cedar" | | 1 | "smelled like damp earth, incense, and some" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1257 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 51 | | matches | | |
| 68.75% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 14 | | mean | 89.79 | | std | 35.07 | | cv | 0.391 | | sampleLengths | | 0 | 119 | | 1 | 86 | | 2 | 1 | | 3 | 127 | | 4 | 102 | | 5 | 123 | | 6 | 76 | | 7 | 81 | | 8 | 70 | | 9 | 132 | | 10 | 79 | | 11 | 81 | | 12 | 130 | | 13 | 50 |
| |
| 91.23% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 50 | | matches | | 0 | "been turned" | | 1 | "were plastered" | | 2 | "been found" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 211 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 51 | | ratio | 0.078 | | matches | | 0 | "The Raven’s Nest’s green neon sign flickered behind her, half-obscured by a steaming manhole cover as she rounded the alley mouth—she’d been watching Tomás slip out of the Soho bar ten minutes prior, knowing he’d lead her straight to the clique he ran with." | | 1 | "He glanced back over his shoulder, his warm brown eyes wide with panic, his olive skin pale under the streetlights, and his left forearm scar—thin, silvery, running from his wrist to his elbow—glinted in the streetlight when he swung his arm to dodge a puddle." | | 2 | "That thought sent a sharp jolt through her—Tomás was a member of that clique." | | 3 | "She didn’t call out a warning, didn’t waste time yelling for Tomás to stop—she knew he wouldn’t stop for a police officer, not when he was this close to the market." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1267 | | adjectiveStacks | 1 | | stackExamples | | 0 | "old leather-bound books" |
| | adverbCount | 27 | | adverbRatio | 0.021310181531176007 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.0055248618784530384 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 51 | | echoCount | 0 | | echoWords | (empty) | |
| 87.10% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 51 | | mean | 24.65 | | std | 9.06 | | cv | 0.368 | | sampleLengths | | 0 | 20 | | 1 | 26 | | 2 | 29 | | 3 | 44 | | 4 | 37 | | 5 | 17 | | 6 | 32 | | 7 | 1 | | 8 | 10 | | 9 | 16 | | 10 | 45 | | 11 | 20 | | 12 | 21 | | 13 | 15 | | 14 | 24 | | 15 | 20 | | 16 | 33 | | 17 | 25 | | 18 | 34 | | 19 | 27 | | 20 | 24 | | 21 | 38 | | 22 | 22 | | 23 | 19 | | 24 | 21 | | 25 | 14 | | 26 | 32 | | 27 | 22 | | 28 | 27 | | 29 | 20 | | 30 | 29 | | 31 | 21 | | 32 | 16 | | 33 | 23 | | 34 | 17 | | 35 | 8 | | 36 | 42 | | 37 | 26 | | 38 | 11 | | 39 | 12 | | 40 | 25 | | 41 | 31 | | 42 | 27 | | 43 | 27 | | 44 | 27 | | 45 | 34 | | 46 | 39 | | 47 | 25 | | 48 | 32 | | 49 | 25 |
| |
| 58.82% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.4117647058823529 | | totalSentences | 51 | | uniqueOpeners | 21 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 50 | | matches | (empty) | | ratio | 0 | |
| 52.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 21 | | totalSentences | 50 | | matches | | 0 | "She’d been tailing Tomás Herrera" | | 1 | "Her voice carried over the" | | 2 | "She didn’t hold back the" | | 3 | "He glanced back over his" | | 4 | "She recognized that scar, from" | | 5 | "He’d stabbed a suspect who’d" | | 6 | "He rounded the corner of" | | 7 | "They ran past a kebab" | | 8 | "He spotted her, and his" | | 9 | "It moved locations every full" | | 10 | "Its entry required a bone" | | 11 | "It was a small, polished" | | 12 | "She froze for a split" | | 13 | "She was a detective with" | | 14 | "Her military precision drilled into" | | 15 | "It didn’t account for the" | | 16 | "She’d spent three years chasing" | | 17 | "She pulled her service weapon" | | 18 | "She didn’t call out a" | | 19 | "She stepped forward, placing her" |
| | ratio | 0.42 | |
| 30.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 43 | | totalSentences | 50 | | matches | | 0 | "Detective Harlow Quinn’s boots squelched" | | 1 | "The leather watch strap on" | | 2 | "The Raven’s Nest’s green neon" | | 3 | "She’d been tailing Tomás Herrera" | | 4 | "The tip had mentioned bite" | | 5 | "Her voice carried over the" | | 6 | "She didn’t hold back the" | | 7 | "He glanced back over his" | | 8 | "She recognized that scar, from" | | 9 | "He’d stabbed a suspect who’d" | | 10 | "The vial had shattered, and" | | 11 | "He rounded the corner of" | | 12 | "Harlow ducked around them, ignoring" | | 13 | "They ran past a kebab" | | 14 | "The rain only got worse," | | 15 | "Tomás slowed for half a" | | 16 | "He spotted her, and his" | | 17 | "A hand-painted sign nailed to" | | 18 | "Harlow had memorized every file" | | 19 | "It moved locations every full" |
| | ratio | 0.86 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 50 | | matches | | 0 | "Now she had him, darting" | | 1 | "By the time she reached" |
| | ratio | 0.04 | |
| 23.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 8 | | matches | | 0 | "She’d been tailing Tomás Herrera for three weeks, ever since an anonymous tip landed in her MET inbox about a former paramedic running off-the-books medical car…" | | 1 | "The tip had mentioned bite marks, weird bruises, things that didn’t line up with standard emergency care." | | 2 | "She recognized that scar, from the police report filed after the knife attack that had cost him his paramedic license." | | 3 | "Tomás fumbled in his jacket pocket, his hands shaking so badly that he dropped the item he pulled out for a second, bending down to grab it before Harlow could …" | | 4 | "The grate let out a low, thrumming hum that vibrated through Harlow’s boots, and then the grate slid sideways, revealing a narrow, stone staircase that descende…" | | 5 | "The air that billowed out of the staircase smelled like damp earth, incense, and something metallic, like blood and old iron." | | 6 | "She stepped forward, placing her boot on the first stone step of the staircase, and then the second, her boots slipping a little on the damp stone." | | 7 | "Harlow peeked out from behind the pillar, her heart hammering in her chest, and listened to their conversation, her ears straining to catch every word." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |