| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 12 | | tagDensity | 0.417 | | leniency | 0.833 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 89.06% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1371 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "sharply" | | 1 | "slightly" | | 2 | "very" |
| |
| 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) | |
| 30.71% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1371 | | totalAiIsms | 19 | | found | | | highlights | | 0 | "calculating" | | 1 | "rhythmic" | | 2 | "footsteps" | | 3 | "echoing" | | 4 | "familiar" | | 5 | "silence" | | 6 | "standard" | | 7 | "weight" | | 8 | "scanning" | | 9 | "gloom" | | 10 | "glint" | | 11 | "raced" | | 12 | "chaotic" | | 13 | "tapestry" | | 14 | "predictable" | | 15 | "silk" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "air was thick with" | | count | 1 |
|
| | highlights | | 0 | "The air was thick with" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 85 | | matches | (empty) | |
| 58.82% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 4 | | narrationSentences | 85 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 92 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 43 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1363 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 33 | | wordCount | 1270 | | uniqueNames | 13 | | maxNameDensity | 1.02 | | worstName | "Quinn" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Quinn" | | discoveredNames | | Soho | 1 | | Harlow | 1 | | Quinn | 13 | | London | 3 | | Morris | 3 | | Saint | 1 | | Christopher | 1 | | Tomas | 1 | | Veil | 2 | | Market | 2 | | Camden | 1 | | Metropolitan | 2 | | Police | 2 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Morris" | | 3 | "Saint" | | 4 | "Christopher" | | 5 | "Tomas" | | 6 | "Market" | | 7 | "Police" |
| | places | | | globalScore | 0.988 | | windowScore | 0.833 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 67 | | glossingSentenceCount | 6 | | matches | | 0 | "looked like a yawning throat of darkness" | | 1 | "looked like it had been earned in a fight" | | 2 | "as if sensing her intent" | | 3 | "herbs that seemed to twitch in the draft" | | 4 | "shadows that seemed to possess more mass than the bodies casting them" | | 5 | "felt like a hand reaching for her, ever" | | 6 | "felt like a conspiracy directed at her" |
| |
| 53.26% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.467 | | wordCount | 1363 | | matches | | 0 | "not just the usual London crowds, but figures draped in heavy silks, individuals with eyes" | | 1 | "not out of respect, but as if she were a stone being washed around by a stream" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 92 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 32 | | mean | 42.59 | | std | 22.09 | | cv | 0.519 | | sampleLengths | | 0 | 72 | | 1 | 51 | | 2 | 68 | | 3 | 14 | | 4 | 53 | | 5 | 66 | | 6 | 58 | | 7 | 39 | | 8 | 63 | | 9 | 29 | | 10 | 13 | | 11 | 52 | | 12 | 15 | | 13 | 18 | | 14 | 5 | | 15 | 32 | | 16 | 70 | | 17 | 3 | | 18 | 17 | | 19 | 47 | | 20 | 17 | | 21 | 77 | | 22 | 58 | | 23 | 15 | | 24 | 62 | | 25 | 70 | | 26 | 36 | | 27 | 36 | | 28 | 67 | | 29 | 40 | | 30 | 57 | | 31 | 43 |
| |
| 92.88% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 85 | | matches | | 0 | "been cordoned" | | 1 | "been earned" | | 2 | "been erected" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 209 | | matches | | 0 | "wasn't running" | | 1 | "was waiting" | | 2 | "was hunting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 2 | | flaggedSentences | 8 | | totalSentences | 92 | | ratio | 0.087 | | matches | | 0 | "The rain didn't just fall in Soho; it hammered, turning the neon glow of the city into a smeared, kaleidoscopic mess of light and shadow." | | 1 | "The suspect was fast—unnaturally so." | | 2 | "The air grew warmer here, thick with the smell of damp concrete and something else—a metallic, ozone scent that prickled the hair on her arms." | | 3 | "As she descended, the familiar sounds of the street—the distant sirens, the hum of buses, the muffled bass from a nearby club—faded, replaced by a heavy, expectant silence." | | 4 | "The name sounded familiar—she’d seen it in files, linked to unauthorized medical treatments, to people who existed in the margins of the law." | | 5 | "If this was the connection to the things that had taken Morris—the things she still couldn't name, the things that lived in the periphery of her vision during those final, frantic moments in the warehouse—she had to follow." | | 6 | "People moved through the aisles—not just the usual London crowds, but figures draped in heavy silks, individuals with eyes that caught the light in ways no human eye should, and shadows that seemed to possess more mass than the bodies casting them." | | 7 | "She was no longer just chasing a criminal; she was hunting a mystery that had already taken everything from her." |
| |
| 88.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1283 | | adjectiveStacks | 2 | | stackExamples | | 0 | "short, curly dark hair" | | 1 | "ancient, leather-bound books." |
| | adverbCount | 30 | | adverbRatio | 0.02338269680436477 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.004676539360872954 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 92 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 92 | | mean | 14.82 | | std | 8.89 | | cv | 0.6 | | sampleLengths | | 0 | 25 | | 1 | 24 | | 2 | 23 | | 3 | 5 | | 4 | 17 | | 5 | 29 | | 6 | 12 | | 7 | 5 | | 8 | 30 | | 9 | 21 | | 10 | 14 | | 11 | 5 | | 12 | 21 | | 13 | 10 | | 14 | 17 | | 15 | 13 | | 16 | 25 | | 17 | 28 | | 18 | 8 | | 19 | 18 | | 20 | 10 | | 21 | 22 | | 22 | 15 | | 23 | 9 | | 24 | 8 | | 25 | 4 | | 26 | 3 | | 27 | 16 | | 28 | 4 | | 29 | 17 | | 30 | 26 | | 31 | 9 | | 32 | 20 | | 33 | 7 | | 34 | 6 | | 35 | 5 | | 36 | 3 | | 37 | 26 | | 38 | 18 | | 39 | 12 | | 40 | 3 | | 41 | 18 | | 42 | 5 | | 43 | 5 | | 44 | 13 | | 45 | 14 | | 46 | 3 | | 47 | 23 | | 48 | 6 | | 49 | 38 |
| |
| 34.06% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 17 | | diversityRatio | 0.31521739130434784 | | totalSentences | 92 | | uniqueOpeners | 29 | |
| 40.16% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 83 | | matches | | 0 | "Instead, the suspect veered sharply" |
| | ratio | 0.012 | |
| 46.51% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 36 | | totalSentences | 83 | | matches | | 0 | "She adjusted the worn leather" | | 1 | "He moved with a frantic," | | 2 | "He was a shadow draped" | | 3 | "She didn't call for backup." | | 4 | "She hadn't called for backup" | | 5 | "She moved with military precision," | | 6 | "she shouted, her voice cutting" | | 7 | "She burst onto the sidewalk" | | 8 | "She followed, her heavy footsteps" | | 9 | "They were dim, amber glows," | | 10 | "She slowed her pace, her" | | 11 | "She saw him stop near" | | 12 | "He wasn't running anymore." | | 13 | "He was waiting." | | 14 | "He wasn't the suspect." | | 15 | "He was taller, with olive" | | 16 | "He wore a simple medical" | | 17 | "His voice was calm, possessed" | | 18 | "He looked tired." | | 19 | "He stepped slightly to the" |
| | ratio | 0.434 | |
| 26.27% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 72 | | totalSentences | 83 | | matches | | 0 | "The rain didn't just fall" | | 1 | "Detective Harlow Quinn pressed her" | | 2 | "She adjusted the worn leather" | | 3 | "The suspect was fast—unnaturally so." | | 4 | "He moved with a frantic," | | 5 | "He was a shadow draped" | | 6 | "Quinn pushed off the wall," | | 7 | "She didn't call for backup." | | 8 | "She hadn't called for backup" | | 9 | "She moved with military precision," | | 10 | "she shouted, her voice cutting" | | 11 | "The figure didn't even flinch." | | 12 | "Quinn sprinted, her lungs burning" | | 13 | "She burst onto the sidewalk" | | 14 | "She followed, her heavy footsteps" | | 15 | "The air grew warmer here," | | 16 | "The station wasn't empty, but" | | 17 | "They were dim, amber glows," | | 18 | "The suspect was still ahead," | | 19 | "Quinn drew her service weapon," |
| | ratio | 0.867 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 83 | | matches | | 0 | "If this was the connection" | | 1 | "If she turned back now," |
| | ratio | 0.024 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 54 | | technicalSentenceCount | 11 | | matches | | 0 | "He moved with a frantic, low-center-of-gravity sprint that bypassed the usual stumbles people made on slick cobblestones." | | 1 | "He was a shadow draped in a heavy charcoal coat, weaving through the late-night revelers with the predatory grace of something that didn't belong in a crowded L…" | | 2 | "She moved with military precision, cutting through a service entrance to shave the distance, her mind calculating angles and exit points." | | 3 | "The air grew warmer here, thick with the smell of damp concrete and something else—a metallic, ozone scent that prickled the hair on her arms." | | 4 | "He was taller, with olive skin and short, curly dark hair that looked damp from the humidity." | | 5 | "His voice was calm, possessed of a soothing quality that felt entirely out of place in a derelict tube station." | | 6 | "The name sounded familiar—she’d seen it in files, linked to unauthorized medical treatments, to people who existed in the margins of the law." | | 7 | "If this was the connection to the things that had taken Morris—the things she still couldn't name, the things that lived in the periphery of her vision during t…" | | 8 | "Vendors stood behind tables laden with objects that defied logic: jars of swirling, iridescent liquids, rusted blades that hummed with a low frequency, and bund…" | | 9 | "People moved through the aisles—not just the usual London crowds, but figures draped in heavy silks, individuals with eyes that caught the light in ways no huma…" | | 10 | "She was no longer just chasing a criminal; she was hunting a mystery that had already taken everything from her." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 2 | | matches | | 0 | "she shouted, her voice cutting through the rhythmic drumming of the rain" | | 1 | "Quinn snapped, her sharp jawline tightening" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 2 | | fancyTags | | 0 | "she shouted (shout)" | | 1 | "Quinn snapped (snap)" |
| | dialogueSentences | 12 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0.5 | | effectiveRatio | 0.333 | |