| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 92.32% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1302 | | totalAiIsmAdverbs | 2 | | 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) | |
| 38.56% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1302 | | totalAiIsms | 16 | | found | | | highlights | | 0 | "gloom" | | 1 | "measured" | | 2 | "silence" | | 3 | "encounter" | | 4 | "chill" | | 5 | "etched" | | 6 | "resolve" | | 7 | "profound" | | 8 | "chilling" | | 9 | "traced" | | 10 | "echoed" | | 11 | "rhythmic" | | 12 | "mechanical" | | 13 | "scanning" | | 14 | "fleeting" |
| |
| 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 | 105 | | matches | (empty) | |
| 47.62% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 5 | | hedgeCount | 2 | | narrationSentences | 105 | | filterMatches | | | hedgeMatches | | 0 | "happened to" | | 1 | "began to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 105 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 38 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1294 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 1 | | matches | | 0 | "If the Market moves, then the evidence moves with it, Harlow said, her eyes locked on the spot where the wall felt like …" |
| |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 60 | | wordCount | 1294 | | uniqueNames | 16 | | maxNameDensity | 1.24 | | worstName | "Harlow" | | maxWindowNameDensity | 2.5 | | worstWindowName | "You" | | discoveredNames | | Camden | 1 | | Tube | 1 | | Detective | 5 | | Harlow | 16 | | Quinn | 3 | | Veil | 3 | | Market | 4 | | Tuesday | 1 | | Eva | 10 | | Kowalski | 1 | | Compass | 1 | | Ministry | 1 | | Morris | 2 | | London | 1 | | Three | 3 | | You | 7 |
| | persons | | 0 | "Detective" | | 1 | "Harlow" | | 2 | "Quinn" | | 3 | "Market" | | 4 | "Eva" | | 5 | "Kowalski" | | 6 | "Ministry" | | 7 | "Morris" | | 8 | "You" |
| | places | | | globalScore | 0.882 | | windowScore | 0.833 | |
| 4.65% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 86 | | glossingSentenceCount | 5 | | matches | | 0 | "umped and then apparently spirited away, but" | | 1 | "appeared entirely solid" | | 2 | "felt like a trapped bird beating agains" | | 3 | "in her satchel seemingly growing heavier aga" | | 4 | "felt like skin" |
| |
| 45.44% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.546 | | wordCount | 1294 | | matches | | 0 | "not from the walls, but from the darkness behind them" | | 1 | "not the London of streetlights and buses, but a city of whispers" |
| |
| 39.68% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 4 | | totalSentences | 105 | | matches | | 0 | "Is that a" | | 1 | "archived—that added" | | 2 | "suggesting that your" | | 3 | "follow that needle" |
| |
| 75.03% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 27 | | mean | 47.93 | | std | 19.77 | | cv | 0.413 | | sampleLengths | | 0 | 63 | | 1 | 42 | | 2 | 46 | | 3 | 74 | | 4 | 29 | | 5 | 38 | | 6 | 64 | | 7 | 73 | | 8 | 11 | | 9 | 41 | | 10 | 73 | | 11 | 88 | | 12 | 18 | | 13 | 61 | | 14 | 52 | | 15 | 55 | | 16 | 19 | | 17 | 31 | | 18 | 53 | | 19 | 10 | | 20 | 38 | | 21 | 47 | | 22 | 46 | | 23 | 36 | | 24 | 67 | | 25 | 63 | | 26 | 56 |
| |
| 91.90% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 105 | | matches | | 0 | "been reported" | | 1 | "was sealed" | | 2 | "were folded" | | 3 | "was moved" |
| |
| 77.68% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 218 | | matches | | 0 | "was sleeping" | | 1 | "was vibrating" | | 2 | "was stepping" | | 3 | "wasn't just investigating" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 5 | | flaggedSentences | 12 | | totalSentences | 105 | | ratio | 0.114 | | matches | | 0 | "The air in the abandoned Camden Tube station didn't just smell like stagnant water and ancient, compacted soot; it carried a faint, metallic ozone, the kind that pricked at the back of Detective Harlow Quinn’s throat." | | 1 | "She tucked a stray ringlet of red hair behind her left ear—a nervous, repetitive tic Harlow had noted in every encounter." | | 2 | "I was just—the thermal variance here is anomalous." | | 3 | "She didn't look at the frost; she looked at the perimeter." | | 4 | "She didn't mind the grime; she had long since stopped caring about the preservation of her uniform." | | 5 | "She picked it up with a gloved hand—a miniature compass, its casing thick with a crust of verdigris, the face etched with sigils that made her eyes ache if she stared too long." | | 6 | "Three years of files—neat, typed, archived—that added up to a total of zero information regarding his final moments." | | 7 | "The Veil Market isn't just a place to buy trinkets; it’s a living mechanism." | | 8 | "A sudden, sharp clicking sound echoed through the tunnel—not from the walls, but from the darkness behind them." | | 9 | "She set it on the ground—a small, static marker in a place that shifted with the lunar cycle." | | 10 | "In its place, she felt the hum of a vast, crowded city—not the London of streetlights and buses, but a city of whispers and shifting shapes, a market built on the bones of things forgotten." | | 11 | "She wasn't just investigating a crime anymore; she was stepping over the line, and as the brick dissolved beneath her, she knew there was no going back to the woman who used to believe in neatly closed files." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1307 | | adjectiveStacks | 1 | | stackExamples | | 0 | "thick, leather-bound volume" |
| | adverbCount | 39 | | adverbRatio | 0.029839326702371844 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.009181331293037491 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 105 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 105 | | mean | 12.32 | | std | 7.81 | | cv | 0.633 | | sampleLengths | | 0 | 36 | | 1 | 27 | | 2 | 19 | | 3 | 4 | | 4 | 19 | | 5 | 20 | | 6 | 7 | | 7 | 13 | | 8 | 6 | | 9 | 20 | | 10 | 33 | | 11 | 21 | | 12 | 21 | | 13 | 8 | | 14 | 8 | | 15 | 15 | | 16 | 1 | | 17 | 5 | | 18 | 8 | | 19 | 1 | | 20 | 7 | | 21 | 11 | | 22 | 9 | | 23 | 20 | | 24 | 2 | | 25 | 3 | | 26 | 12 | | 27 | 9 | | 28 | 17 | | 29 | 14 | | 30 | 33 | | 31 | 6 | | 32 | 5 | | 33 | 15 | | 34 | 8 | | 35 | 18 | | 36 | 13 | | 37 | 13 | | 38 | 7 | | 39 | 6 | | 40 | 8 | | 41 | 11 | | 42 | 8 | | 43 | 7 | | 44 | 9 | | 45 | 15 | | 46 | 4 | | 47 | 2 | | 48 | 18 | | 49 | 21 |
| |
| 37.14% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 16 | | diversityRatio | 0.3142857142857143 | | totalSentences | 105 | | uniqueOpeners | 33 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 99 | | matches | | 0 | "Just the persistent, creeping chill" | | 1 | "Once it shifts, this place" | | 2 | "Slowly, the sensation under her" |
| | ratio | 0.03 | |
| 42.22% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 44 | | totalSentences | 99 | | matches | | 0 | "She clicked her flashlight on," | | 1 | "She moved with a measured," | | 2 | "She tucked a stray ringlet" | | 3 | "She looked up, the green" | | 4 | "I didn’t hear you coming." | | 5 | "I was just—the thermal variance" | | 6 | "She didn't look at the" | | 7 | "It’s not just a variance," | | 8 | "She didn't mind the grime;" | | 9 | "She noted a small, brass" | | 10 | "She picked it up with" | | 11 | "I found it near the" | | 12 | "It’s pointing, she noted, gesturing" | | 13 | "They always are when the" | | 14 | "You’re looking for a struggle," | | 15 | "She remembered DS Morris." | | 16 | "She had seen the same" | | 17 | "You’re suggesting he didn’t die," | | 18 | "You’re suggesting he was moved" | | 19 | "I’m suggesting that your investigation" |
| | ratio | 0.444 | |
| 71.11% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 77 | | totalSentences | 99 | | matches | | 0 | "The air in the abandoned" | | 1 | "She clicked her flashlight on," | | 2 | "Harlow adjusted her coat, the" | | 3 | "The city above was sleeping," | | 4 | "She moved with a measured," | | 5 | "This was the Veil Market’s" | | 6 | "The red-headed researcher looked significantly" | | 7 | "She tucked a stray ringlet" | | 8 | "Quinn, the detective said, her" | | 9 | "Eva jumped, her hands fluttering" | | 10 | "She looked up, the green" | | 11 | "I didn’t hear you coming." | | 12 | "I was just—the thermal variance" | | 13 | "Harlow stepped into the circle" | | 14 | "She didn't look at the" | | 15 | "The crime scene was a" | | 16 | "A body had been reported" | | 17 | "It’s not just a variance," | | 18 | "She didn't mind the grime;" | | 19 | "She noted a small, brass" |
| | ratio | 0.778 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 4 | | totalSentences | 99 | | matches | | 0 | "Now, it was just another" | | 1 | "If you follow that needle," | | 2 | "If there is a door," | | 3 | "If the Market moves, then" |
| | ratio | 0.04 | |
| 32.02% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 58 | | technicalSentenceCount | 9 | | matches | | 0 | "The air in the abandoned Camden Tube station didn't just smell like stagnant water and ancient, compacted soot; it carried a faint, metallic ozone, the kind tha…" | | 1 | "She moved with a measured, predatory silence, her boots hitting the concrete with a flatness that betrayed her military discipline." | | 2 | "Quinn, the detective said, her voice dropping into the resonant, authoritative register that had effectively silenced witnesses for nearly two decades." | | 3 | "She picked it up with a gloved hand—a miniature compass, its casing thick with a crust of verdigris, the face etched with sigils that made her eyes ache if she …" | | 4 | "It’s pointing, she noted, gesturing with the device toward a wall of crumbling brickwork that appeared entirely solid." | | 5 | "Eva blinked, her expression softening into something bordering on pity." | | 6 | "I’m not leaving, Harlow said, her gaze returning to the compass." | | 7 | "She leaned into the wall, her shadow elongating against the concrete as if pulled by an invisible tide." | | 8 | "She wasn't just investigating a crime anymore; she was stepping over the line, and as the brick dissolved beneath her, she knew there was no going back to the w…" |
| |
| 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 | |