| 18.18% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 11 | | adverbTagCount | 2 | | adverbTags | | 0 | "Tomás said vaguely [vaguely]" | | 1 | "he gestured around [around]" |
| | dialogueSentences | 18 | | tagDensity | 0.611 | | leniency | 1 | | rawRatio | 0.182 | | effectiveRatio | 0.182 | |
| 90.71% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1615 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "truly" | | 1 | "quickly" | | 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) | |
| 47.37% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1615 | | totalAiIsms | 17 | | found | | | highlights | | 0 | "fractured" | | 1 | "whisper" | | 2 | "familiar" | | 3 | "weight" | | 4 | "reminder" | | 5 | "footsteps" | | 6 | "echoing" | | 7 | "velvet" | | 8 | "could feel" | | 9 | "profound" | | 10 | "charm" | | 11 | "scanned" | | 12 | "chill" |
| |
| 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 | 124 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 1 | | narrationSentences | 124 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 132 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 53 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 1 | | totalWords | 1607 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 38 | | wordCount | 1360 | | uniqueNames | 20 | | maxNameDensity | 0.81 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Soho | 1 | | Harlow | 1 | | Quinn | 11 | | Frith | 1 | | Street | 1 | | Underground | 1 | | Met | 1 | | Tube | 1 | | Veil | 1 | | Market | 2 | | Morris | 4 | | Supernatural | 1 | | Saint | 1 | | Christopher | 1 | | Spanish | 1 | | Tomás | 5 | | Hearing | 1 | | Herrera | 1 | | Metropolitan | 1 | | Police | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Market" | | 3 | "Morris" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "Tomás" | | 7 | "Herrera" |
| | places | | 0 | "Soho" | | 1 | "Frith" | | 2 | "Street" | | 3 | "Met" |
| | globalScore | 1 | | windowScore | 1 | |
| 91.18% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 85 | | glossingSentenceCount | 2 | | matches | | 0 | "something like blood, the earthy musk of…" | | 1 | "quite reach, where the stalls gave way to a heavy, moth-eaten curtain" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.622 | | wordCount | 1607 | | matches | | 0 | "not for herself, but for the sheer scope of the unknown now laid bare before her" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 132 | | matches | | 0 | "strip that cast" | | 1 | "screamed that the" |
| |
| 96.60% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 32 | | mean | 50.22 | | std | 24.51 | | cv | 0.488 | | sampleLengths | | 0 | 86 | | 1 | 68 | | 2 | 77 | | 3 | 55 | | 4 | 58 | | 5 | 64 | | 6 | 57 | | 7 | 29 | | 8 | 39 | | 9 | 84 | | 10 | 75 | | 11 | 43 | | 12 | 93 | | 13 | 31 | | 14 | 2 | | 15 | 74 | | 16 | 43 | | 17 | 43 | | 18 | 35 | | 19 | 8 | | 20 | 36 | | 21 | 18 | | 22 | 63 | | 23 | 56 | | 24 | 19 | | 25 | 17 | | 26 | 87 | | 27 | 51 | | 28 | 71 | | 29 | 28 | | 30 | 24 | | 31 | 73 |
| |
| 93.94% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 124 | | matches | | 0 | "were arranged" | | 1 | "were filled" | | 2 | "was gone" | | 3 | "were printed" | | 4 | "was caught" |
| |
| 74.21% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 212 | | matches | | 0 | "was heading" | | 1 | "were already dissolving" | | 2 | "was running" | | 3 | "was openly staring" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 1 | | flaggedSentences | 8 | | totalSentences | 132 | | ratio | 0.061 | | matches | | 0 | "She kept her eyes locked on the figure ten yards ahead—a man in a grey, hooded sweatshirt, his gait too quick, too panicked, for a citizen simply hurrying home from the pub." | | 1 | "The air changed instantly—damp stone, ozone, and something else." | | 2 | "The air was thick with strange scents—smoke that smelled of burning herbs and sweet resin, the metallic tang of something like blood, the earthy musk of…" | | 3 | "But Morris’s face flashed in her mind—her partner, found in a locked room with a look of such profound terror on his face that the coroner had written ‘cardiac arrest due to extreme shock.’ Unexplained circumstances." | | 4 | "He wore a simple shirt, and a silver medallion glinted at his throat—Saint Christopher, the patron of travelers." | | 5 | "She didn’t try to wrench free; his grip was firm but not punishing." | | 6 | "Fear, cold and sharp, lanced through her—not for herself, but for the sheer scope of the unknown now laid bare before her." | | 7 | "Her gut, the same instinct that had kept her alive on the streets for eighteen years, screamed that if she left now, the Market would move—its schedule tied to the full moon, the codex in her mind whispered—and the man in the grey hoodie would vanish into this hidden world forever." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 278 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 8 | | adverbRatio | 0.02877697841726619 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.0035971223021582736 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 132 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 132 | | mean | 12.17 | | std | 9.34 | | cv | 0.767 | | sampleLengths | | 0 | 24 | | 1 | 30 | | 2 | 32 | | 3 | 35 | | 4 | 30 | | 5 | 3 | | 6 | 12 | | 7 | 14 | | 8 | 4 | | 9 | 9 | | 10 | 17 | | 11 | 10 | | 12 | 4 | | 13 | 7 | | 14 | 9 | | 15 | 14 | | 16 | 16 | | 17 | 7 | | 18 | 9 | | 19 | 7 | | 20 | 15 | | 21 | 14 | | 22 | 9 | | 23 | 4 | | 24 | 8 | | 25 | 1 | | 26 | 16 | | 27 | 4 | | 28 | 17 | | 29 | 10 | | 30 | 8 | | 31 | 9 | | 32 | 5 | | 33 | 17 | | 34 | 15 | | 35 | 7 | | 36 | 13 | | 37 | 16 | | 38 | 3 | | 39 | 3 | | 40 | 7 | | 41 | 6 | | 42 | 16 | | 43 | 8 | | 44 | 4 | | 45 | 5 | | 46 | 13 | | 47 | 26 | | 48 | 1 | | 49 | 32 |
| |
| 46.21% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 19 | | diversityRatio | 0.36363636363636365 | | totalSentences | 132 | | uniqueOpeners | 48 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 114 | | matches | (empty) | | ratio | 0 | |
| 76.14% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 41 | | totalSentences | 114 | | matches | | 0 | "She kept her eyes locked" | | 1 | "He darted left down a" | | 2 | "She didn’t break stride." | | 3 | "He recognized her, or at" | | 4 | "He was heading for the" | | 5 | "He veered right, down a" | | 6 | "She’d left it locked in" | | 7 | "She pushed through the door." | | 8 | "It led into a long," | | 9 | "He was running now, truly" | | 10 | "Her voice was a whip" | | 11 | "It usually worked." | | 12 | "It didn’t tonight." | | 13 | "Her eyes, trained to catalog" | | 14 | "Her suspect, the man in" | | 15 | "It was a peripheral awareness," | | 16 | "She stepped forward, her patrol" | | 17 | "Her wrist was caught in" | | 18 | "She looked up into a" | | 19 | "He wore a simple shirt," |
| | ratio | 0.36 | |
| 38.95% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 96 | | totalSentences | 114 | | matches | | 0 | "Rain slicked the streets of" | | 1 | "Detective Harlow Quinn felt the" | | 2 | "She kept her eyes locked" | | 3 | "The call had been anonymous," | | 4 | "He darted left down a" | | 5 | "Quinn’s boots splashed through a" | | 6 | "She didn’t break stride." | | 7 | "Military precision kept her breathing" | | 8 | "The man glanced back, his" | | 9 | "He recognized her, or at" | | 10 | "That told her something." | | 11 | "The alley spat them out" | | 12 | "The suspect shoved past a" | | 13 | "Quinn slipped through the gap" | | 14 | "He was heading for the" | | 15 | "A stupid move, a dead" | | 16 | "He veered right, down a" | | 17 | "Quinn followed, the sound of" | | 18 | "The air changed instantly—damp stone," | | 19 | "Something old and mineral." |
| | ratio | 0.842 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 114 | | matches | (empty) | | ratio | 0 | |
| 58.82% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 51 | | technicalSentenceCount | 6 | | matches | | 0 | "Rain slicked the streets of Soho, turning the asphalt into a dark mirror that fractured the neon signs into bleeding, pulsating smears of color." | | 1 | "Detective Harlow Quinn felt the water seep through the collar of her coat, a cold trickle down her neck that did nothing to cool the focused heat in her chest." | | 2 | "He was running now, truly running, his breaths echoing harshly off the tiles." | | 3 | "Stalls made of rough-hewn wood and tattered velvet were arranged haphazardly across the platform and down the length of the tracks, which were filled with a fin…" | | 4 | "A man with skin like polished obsidian bartered using coins that clicked with an unnatural sound." | | 5 | "Her gut, the same instinct that had kept her alive on the streets for eighteen years, screamed that if she left now, the Market would move—its schedule tied to …" |
| |
| 79.55% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 11 | | uselessAdditionCount | 1 | | matches | | 0 | "she said, her voice regaining its edge" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 18 | | tagDensity | 0.278 | | leniency | 0.556 | | rawRatio | 0 | | effectiveRatio | 0 | |