| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 87.51% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1201 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "sharply" | | 1 | "truly" | | 2 | "suddenly" |
| |
| 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) | |
| 45.88% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1201 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "gloom" | | 1 | "rhythmic" | | 2 | "etched" | | 3 | "standard" | | 4 | "echoing" | | 5 | "silence" | | 6 | "magnetic" | | 7 | "pulse" | | 8 | "familiar" |
| |
| 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 | 0 | | narrationSentences | 94 | | matches | (empty) | |
| 51.67% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 4 | | narrationSentences | 94 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 94 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 39 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1190 | | ratio | 0 | | matches | (empty) | |
| 97.22% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 1 | | matches | | 0 | "The trajectory of the wound is consistent with a standard-issue 9mm, Detective, Eva said, her voice echoing too sharply …" |
| |
| 74.37% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 54 | | wordCount | 1190 | | uniqueNames | 13 | | maxNameDensity | 1.51 | | worstName | "Harlow" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Harlow" | | discoveredNames | | Tube | 1 | | Quinn | 3 | | Camden | 1 | | Harlow | 18 | | Veil | 3 | | Market | 3 | | London | 1 | | Underground | 1 | | Detective | 3 | | Eva | 12 | | Morris | 2 | | Compass | 1 | | You | 5 |
| | persons | | 0 | "Quinn" | | 1 | "Camden" | | 2 | "Harlow" | | 3 | "Market" | | 4 | "Eva" | | 5 | "Morris" | | 6 | "Compass" | | 7 | "You" |
| | places | | | globalScore | 0.744 | | windowScore | 0.833 | |
| 48.65% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 74 | | glossingSentenceCount | 3 | | matches | | 0 | "looked like they belonged in a museum cat" | | 1 | "felt like a countdown" | | 2 | "shadows that seemed to detach from the walls and stretch toward the center of the platform" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.84 | | wordCount | 1190 | | matches | | 0 | "not at the rift on the wall anymore, but at the woman standing three feet away" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 94 | | matches | (empty) | |
| 75.51% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 24 | | mean | 49.58 | | std | 20.54 | | cv | 0.414 | | sampleLengths | | 0 | 85 | | 1 | 60 | | 2 | 73 | | 3 | 43 | | 4 | 47 | | 5 | 73 | | 6 | 65 | | 7 | 40 | | 8 | 58 | | 9 | 39 | | 10 | 69 | | 11 | 8 | | 12 | 58 | | 13 | 10 | | 14 | 52 | | 15 | 45 | | 16 | 37 | | 17 | 58 | | 18 | 34 | | 19 | 59 | | 20 | 19 | | 21 | 68 | | 22 | 18 | | 23 | 72 |
| |
| 86.60% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 94 | | matches | | 0 | "was hollowed" | | 1 | "were splayed" | | 2 | "being traded" | | 3 | "been zipped" | | 4 | "exhausted" |
| |
| 75.97% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 215 | | matches | | 0 | "was watching" | | 1 | "were trying" | | 2 | "was trying" | | 3 | "was pointing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 1 | | flaggedSentences | 10 | | totalSentences | 94 | | ratio | 0.106 | | matches | | 0 | "She was watching the way the shadows clung to the walls—shifting, undulating in a way that defied the stagnant air." | | 1 | "But it was the satchel near the body that drew her attention—worn leather, its strap frayed, spilling out a collection of heavy, yellowed tomes." | | 2 | "She glanced at her own left wrist, checking the worn leather watch she’d carried since the day DS Morris vanished—the same case that still whispered at the back of her mind, a ghost story she refused to believe." | | 3 | "She moved toward the platform wall, where a faint, oscillating glimmer marked a breach in the reality of the station—a rift, barely visible to the untrained eye." | | 4 | "And this guy wasn't just some runner; he was a scholar." | | 5 | "Eva tucked a stray curl behind her left ear—a nervous habit that made Harlow’s eyes narrow—and checked her clipboard." | | 6 | "Eva stepped forward, her expression flickering for a fraction of a second—a shadow of recognition that vanished before Harlow could pin it down." | | 7 | "She recalled the night Morris disappeared—the way the air had hummed with this exact vibration before the world seemed to fold in on itself." | | 8 | "Someone tore him out of this reality, and they left a husk—or a body double—to distract us." | | 9 | "She tightened her hold on the brass compass, feeling the needle spin—not at the rift on the wall anymore, but at the woman standing three feet away." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1209 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 38 | | adverbRatio | 0.03143093465674111 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.010752688172043012 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 94 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 94 | | mean | 12.66 | | std | 7.97 | | cv | 0.629 | | sampleLengths | | 0 | 15 | | 1 | 19 | | 2 | 16 | | 3 | 15 | | 4 | 20 | | 5 | 16 | | 6 | 24 | | 7 | 20 | | 8 | 13 | | 9 | 14 | | 10 | 22 | | 11 | 24 | | 12 | 26 | | 13 | 17 | | 14 | 22 | | 15 | 2 | | 16 | 2 | | 17 | 10 | | 18 | 11 | | 19 | 3 | | 20 | 12 | | 21 | 20 | | 22 | 38 | | 23 | 8 | | 24 | 10 | | 25 | 11 | | 26 | 9 | | 27 | 27 | | 28 | 11 | | 29 | 4 | | 30 | 6 | | 31 | 10 | | 32 | 9 | | 33 | 10 | | 34 | 14 | | 35 | 6 | | 36 | 3 | | 37 | 11 | | 38 | 4 | | 39 | 10 | | 40 | 19 | | 41 | 9 | | 42 | 11 | | 43 | 4 | | 44 | 17 | | 45 | 12 | | 46 | 4 | | 47 | 3 | | 48 | 20 | | 49 | 9 |
| |
| 48.94% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 14 | | diversityRatio | 0.3829787234042553 | | totalSentences | 94 | | uniqueOpeners | 36 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 89 | | matches | | 0 | "Perhaps he was trying to" | | 1 | "Instead, it swung violently, vibrating" | | 2 | "Probably a chemical reaction from" | | 3 | "Just a neat, cauterized seam," |
| | ratio | 0.045 | |
| 49.21% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 38 | | totalSentences | 89 | | matches | | 0 | "She stepped over a rusted" | | 1 | "She was watching the way" | | 2 | "She stopped at the platform" | | 3 | "Her gaze swept over the" | | 4 | "She adjusted her round glasses," | | 5 | "We found a shell casing" | | 6 | "She reached out, her gloved" | | 7 | "She glanced at her own" | | 8 | "She turned her eyes back" | | 9 | "She stood up, her joints" | | 10 | "She moved toward the platform" | | 11 | "You’re looking at the wall" | | 12 | "You need to focus." | | 13 | "It’s an open-and-shut case of" | | 14 | "It’s too clean, Quinn countered," | | 15 | "She paced the length of" | | 16 | "They’re selling off-world goods here," | | 17 | "You know that." | | 18 | "She moved back to the" | | 19 | "She crouched again, pulling a" |
| | ratio | 0.427 | |
| 61.12% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 71 | | totalSentences | 89 | | matches | | 0 | "The damp air of the" | | 1 | "Harlow Quinn kept her flashlight" | | 2 | "She stepped over a rusted" | | 3 | "She was watching the way" | | 4 | "She stopped at the platform" | | 5 | "Tonight, the station was hollowed" | | 6 | "Detective Harlow Quinn knelt, her" | | 7 | "Her gaze swept over the" | | 8 | "The victim was young, pale," | | 9 | "Eva, the lead forensics analyst" | | 10 | "She adjusted her round glasses," | | 11 | "The trajectory of the wound" | | 12 | "We found a shell casing" | | 13 | "The victim clearly stumbled upon" | | 14 | "Harlow didn't respond." | | 15 | "She reached out, her gloved" | | 16 | "The man’s fingers were splayed," | | 17 | "She glanced at her own" | | 18 | "She turned her eyes back" | | 19 | "She stood up, her joints" |
| | ratio | 0.798 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 89 | | matches | | 0 | "If this was a standard" | | 1 | "Even at this distance, I" | | 2 | "If the ballistics came back" |
| | ratio | 0.034 | |
| 53.57% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 56 | | technicalSentenceCount | 7 | | matches | | 0 | "She was watching the way the shadows clung to the walls—shifting, undulating in a way that defied the stagnant air." | | 1 | "But it was the satchel near the body that drew her attention—worn leather, its strap frayed, spilling out a collection of heavy, yellowed tomes." | | 2 | "Eva tucked a stray curl behind her left ear—a nervous habit that made Harlow’s eyes narrow—and checked her clipboard." | | 3 | "Harlow reached for the body’s shoulder, shifting it over despite the protests from the patrol officers hovering at the edge of the platform." | | 4 | "Eva stepped forward, her expression flickering for a fraction of a second—a shadow of recognition that vanished before Harlow could pin it down." | | 5 | "This wasn't a murder, Harlow said, her heart hammering against her ribs with a cadence that felt like a countdown." | | 6 | "The air between them turned frigid, and the violet light on the floor flared, casting long, reaching shadows that seemed to detach from the walls and stretch to…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |