| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 17 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 44 | | tagDensity | 0.386 | | leniency | 0.773 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 87.61% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1211 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "sharply" | | 1 | "gently" | | 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) | |
| 29.81% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1211 | | totalAiIsms | 17 | | found | | | highlights | | 0 | "echoing" | | 1 | "trepidation" | | 2 | "velvet" | | 3 | "glinting" | | 4 | "scanning" | | 5 | "stomach" | | 6 | "shattered" | | 7 | "pulse" | | 8 | "traced" | | 9 | "processed" | | 10 | "whisper" | | 11 | "raced" | | 12 | "scanned" | | 13 | "silence" | | 14 | "tracing" | | 15 | "depths" |
| |
| 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 | 81 | | matches | (empty) | |
| 72.31% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 1 | | narrationSentences | 81 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 108 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 39 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 3 | | markdownWords | 3 | | totalWords | 1203 | | ratio | 0.002 | | matches | | 0 | "after" | | 1 | "holding" | | 2 | "pulled" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 17 | | unquotedAttributions | 0 | | matches | (empty) | |
| 61.76% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 58 | | wordCount | 850 | | uniqueNames | 21 | | maxNameDensity | 1.76 | | worstName | "Quinn" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Quinn" | | discoveredNames | | Harlow | 1 | | Quinn | 15 | | Tube | 1 | | Veil | 3 | | Market | 2 | | Eva | 11 | | Kowalski | 1 | | Holloway | 1 | | Road | 1 | | British | 1 | | Museum | 1 | | Compass | 1 | | Reynolds | 9 | | Metropolitan | 1 | | Police | 1 | | Unexplained | 1 | | Phenomena | 1 | | Division | 1 | | Romano | 2 | | Vex | 1 | | Shade | 2 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Eva" | | 3 | "Kowalski" | | 4 | "Museum" | | 5 | "Compass" | | 6 | "Reynolds" | | 7 | "Police" | | 8 | "Romano" | | 9 | "Vex" |
| | places | | 0 | "Veil" | | 1 | "Market" | | 2 | "Holloway" | | 3 | "Road" | | 4 | "British" |
| | globalScore | 0.618 | | windowScore | 0.833 | |
| 55.66% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 53 | | glossingSentenceCount | 2 | | matches | | 0 | "patterns that seemed to pulse under the flickering van lights" | | 1 | "as if listening to a voice only it could hear" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1203 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 108 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 43 | | mean | 27.98 | | std | 18.96 | | cv | 0.678 | | sampleLengths | | 0 | 89 | | 1 | 41 | | 2 | 76 | | 3 | 27 | | 4 | 26 | | 5 | 64 | | 6 | 16 | | 7 | 36 | | 8 | 23 | | 9 | 31 | | 10 | 30 | | 11 | 22 | | 12 | 58 | | 13 | 19 | | 14 | 32 | | 15 | 6 | | 16 | 25 | | 17 | 4 | | 18 | 47 | | 19 | 51 | | 20 | 42 | | 21 | 39 | | 22 | 28 | | 23 | 13 | | 24 | 14 | | 25 | 32 | | 26 | 7 | | 27 | 7 | | 28 | 51 | | 29 | 4 | | 30 | 10 | | 31 | 31 | | 32 | 27 | | 33 | 32 | | 34 | 17 | | 35 | 8 | | 36 | 23 | | 37 | 15 | | 38 | 10 | | 39 | 15 | | 40 | 16 | | 41 | 28 | | 42 | 11 |
| |
| 79.27% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 81 | | matches | | 0 | "was parked" | | 1 | "been wrapped" | | 2 | "being eaten" | | 3 | "been *pulled" | | 4 | "was broken" | | 5 | "was gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 152 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 1 | | flaggedSentences | 9 | | totalSentences | 108 | | ratio | 0.083 | | matches | | 0 | "The Veil Market reeked of damp concrete and something sharper—burnt sage, perhaps, or the acrid tang of alchemical residue." | | 1 | "A bone token hung from her belt, cold against her side; she’d traded a half-sentence of classified police protocol to gain entry." | | 2 | "Forensics had declared the victim’s cause of death “undetermined,” but the official report missed the faint shimmer along the corpse’s collarbone—an energy signature she’d seen before, the night her partner had stepped through an invisible threshold and vanished." | | 3 | "Reynolds—promoted two years ago, ever since she’d refused to sign off on his botched investigation into the Holloway Road teleportation case." | | 4 | "Supernatural—definitely." | | 5 | "“Or he stumbled onto something he wasn’t supposed to.” Quinn’s fingers traced the hem of the fabric, noting how the threads frayed unevenly—like they were being eaten from the inside." | | 6 | "The graffiti on the wall had changed since her last visit—swirling patterns overlaid with fresh red paint." | | 7 | "Her watch beeped—a text from forensics." | | 8 | "The spirals on the van’s body, the containment weave, the Shade craftsmanship—someone had been trying to lock something in, and the rift was the key." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 861 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 27 | | adverbRatio | 0.0313588850174216 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.011614401858304297 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 108 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 108 | | mean | 11.14 | | std | 7.88 | | cv | 0.708 | | sampleLengths | | 0 | 20 | | 1 | 19 | | 2 | 28 | | 3 | 22 | | 4 | 11 | | 5 | 24 | | 6 | 6 | | 7 | 18 | | 8 | 20 | | 9 | 38 | | 10 | 13 | | 11 | 14 | | 12 | 3 | | 13 | 21 | | 14 | 2 | | 15 | 20 | | 16 | 15 | | 17 | 2 | | 18 | 4 | | 19 | 23 | | 20 | 10 | | 21 | 6 | | 22 | 11 | | 23 | 16 | | 24 | 1 | | 25 | 5 | | 26 | 3 | | 27 | 12 | | 28 | 11 | | 29 | 8 | | 30 | 23 | | 31 | 9 | | 32 | 18 | | 33 | 3 | | 34 | 2 | | 35 | 12 | | 36 | 8 | | 37 | 30 | | 38 | 9 | | 39 | 19 | | 40 | 3 | | 41 | 16 | | 42 | 10 | | 43 | 22 | | 44 | 6 | | 45 | 7 | | 46 | 18 | | 47 | 3 | | 48 | 1 | | 49 | 12 |
| |
| 63.89% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.3888888888888889 | | totalSentences | 108 | | uniqueOpeners | 42 | |
| 92.59% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 72 | | matches | | 0 | "Then, with a stiff nod," | | 1 | "Instead, she pressed the compass" |
| | ratio | 0.028 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 18 | | totalSentences | 72 | | matches | | 0 | "She adjusted her leather watch," | | 1 | "she asked, ignoring him as" | | 2 | "Her gloves brushed the edge" | | 3 | "They were containment." | | 4 | "Her friend had spent years" | | 5 | "He cleared his throat" | | 6 | "She reached for her belt," | | 7 | "She turned to Reynolds, who" | | 8 | "Her voice dropped to a" | | 9 | "She released him and strode" | | 10 | "She pulled a tissue from" | | 11 | "They were someone with deep" | | 12 | "Her watch beeped—a text from" | | 13 | "She scanned the message, her" | | 14 | "she said, voice taut" | | 15 | "She held the compass steady." | | 16 | "He’d been *pulled* through." | | 17 | "She turned slowly, her hand" |
| | ratio | 0.25 | |
| 36.39% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 61 | | totalSentences | 72 | | matches | | 0 | "Detective Harlow Quinn stepped over" | | 1 | "The Veil Market reeked of" | | 2 | "She adjusted her leather watch," | | 3 | "A bone token hung from" | | 4 | "Eva Kowalski emerged from a" | | 5 | "Quinn shot back, already scanning" | | 6 | "A white van was parked" | | 7 | "Forensics had declared the victim’s" | | 8 | "Eva fell into step beside" | | 9 | "Quinn’s jaw tightened." | | 10 | "Reynolds—promoted two years ago, ever" | | 11 | "The van’s doors swung open" | | 12 | "Quinn’s boots crunched over shattered" | | 13 | "The victim had been wrapped" | | 14 | "Reynolds leaned against the doorframe," | | 15 | "she asked, ignoring him as" | | 16 | "Her gloves brushed the edge" | | 17 | "The sigils weren’t just decorative." | | 18 | "They were containment." | | 19 | "Reynolds gestured to the lump" |
| | ratio | 0.847 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 72 | | matches | | 0 | "If someone had access to" | | 1 | "As if he’d disintegrated mid-air." | | 2 | "When he was gone, Eva" |
| | ratio | 0.042 | |
| 47.62% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 30 | | technicalSentenceCount | 4 | | matches | | 0 | "A white van was parked haphazardly near the escalator stairs, its sides scuffed with symbols that made her stomach tighten." | | 1 | "The victim had been wrapped in a thick, dark fabric stitched with spiral patterns that seemed to pulse under the flickering van lights." | | 2 | "The brass casing was warm in her palm, its needle spinning wildly before locking toward the van’s left wall." | | 3 | "The silence that followed was broken only by the distant hum of the compass, its needle trembling as if listening to a voice only it could hear." |
| |
| 95.59% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 17 | | uselessAdditionCount | 1 | | matches | | 0 | "She released, the compass needle quivering ahead" |
| |
| 59.09% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 4 | | fancyTags | | 0 | "Forensics had (have)" | | 1 | "Eva pressed (press)" | | 2 | "she murmured (murmur)" | | 3 | "she snapped (snap)" |
| | dialogueSentences | 44 | | tagDensity | 0.182 | | leniency | 0.364 | | rawRatio | 0.5 | | effectiveRatio | 0.182 | |