| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 95.15% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1031 | | totalAiIsmAdverbs | 1 | | 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) | |
| 36.95% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1031 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "shattered" | | 1 | "loomed" | | 2 | "gloom" | | 3 | "maw" | | 4 | "rhythmic" | | 5 | "echoing" | | 6 | "dancing" | | 7 | "scanned" | | 8 | "chaotic" | | 9 | "weight" |
| |
| 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 | 62 | | matches | (empty) | |
| 96.77% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 62 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 62 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 38 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1028 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 1 | | unquotedAttributions | 0 | | matches | (empty) | |
| 96.50% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 29 | | wordCount | 1028 | | uniqueNames | 14 | | maxNameDensity | 1.07 | | worstName | "Harlow" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Harlow" | | discoveredNames | | Soho | 1 | | Harlow | 11 | | Quinn | 1 | | Camden | 2 | | London | 1 | | Morris | 3 | | Northern | 1 | | Line | 1 | | Tube | 1 | | Veil | 2 | | Market | 2 | | Metropolitan | 1 | | Police | 1 | | Edwardian | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Camden" | | 3 | "Morris" |
| | places | | | globalScore | 0.965 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 56 | | glossingSentenceCount | 1 | | matches | | 0 | "artifacts that seemed to shift shape when looked at directly" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1028 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 62 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 25 | | mean | 41.12 | | std | 23.5 | | cv | 0.571 | | sampleLengths | | 0 | 58 | | 1 | 15 | | 2 | 84 | | 3 | 95 | | 4 | 39 | | 5 | 17 | | 6 | 48 | | 7 | 15 | | 8 | 65 | | 9 | 15 | | 10 | 29 | | 11 | 77 | | 12 | 33 | | 13 | 37 | | 14 | 58 | | 15 | 28 | | 16 | 16 | | 17 | 56 | | 18 | 35 | | 19 | 5 | | 20 | 63 | | 21 | 30 | | 22 | 54 | | 23 | 39 | | 24 | 17 |
| |
| 88.29% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 62 | | matches | | 0 | "were filed" | | 1 | "were replaced" | | 2 | "been paved" |
| |
| 37.40% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 164 | | matches | | 0 | "wasn't heading" | | 1 | "were heading" | | 2 | "were humming" | | 3 | "was haggling" |
| |
| 4.61% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 3 | | semicolonCount | 0 | | flaggedSentences | 3 | | totalSentences | 62 | | ratio | 0.048 | | matches | | 0 | "A damp, stale draft exhaled from the dark maw of the stairs, carrying the metallic tang of old iron and something else—something sharp and sulfurous, like scorched bone." | | 1 | "From deep within the earth came the faint, rhythmic clatter of distant machinery and the low murmur of dozens of voices echoing off vaulted tile ceilings—voices speaking in inflections and languages that didn't belong in any atlas." | | 2 | "The stench grew heavier—iron, damp earth, and the unmistakable, sickly-sweet scent of old magic." |
| |
| 82.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1041 | | adjectiveStacks | 3 | | stackExamples | | 0 | "sharp, ozone-heavy air" | | 1 | "over graffiti-covered walls" | | 2 | "unmistakable, sickly-sweet scent" |
| | adverbCount | 16 | | adverbRatio | 0.01536983669548511 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.007684918347742555 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 62 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 62 | | mean | 16.58 | | std | 7.79 | | cv | 0.47 | | sampleLengths | | 0 | 22 | | 1 | 8 | | 2 | 28 | | 3 | 15 | | 4 | 11 | | 5 | 8 | | 6 | 19 | | 7 | 17 | | 8 | 29 | | 9 | 14 | | 10 | 15 | | 11 | 27 | | 12 | 16 | | 13 | 4 | | 14 | 19 | | 15 | 23 | | 16 | 16 | | 17 | 7 | | 18 | 10 | | 19 | 20 | | 20 | 28 | | 21 | 15 | | 22 | 5 | | 23 | 19 | | 24 | 29 | | 25 | 12 | | 26 | 15 | | 27 | 11 | | 28 | 18 | | 29 | 6 | | 30 | 17 | | 31 | 15 | | 32 | 3 | | 33 | 13 | | 34 | 23 | | 35 | 15 | | 36 | 18 | | 37 | 37 | | 38 | 5 | | 39 | 29 | | 40 | 6 | | 41 | 18 | | 42 | 4 | | 43 | 24 | | 44 | 16 | | 45 | 10 | | 46 | 10 | | 47 | 22 | | 48 | 14 | | 49 | 14 |
| |
| 50.00% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.3870967741935484 | | totalSentences | 62 | | uniqueOpeners | 24 | |
| 53.76% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 62 | | matches | | 0 | "Further down the platform, a" |
| | ratio | 0.016 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 18 | | totalSentences | 62 | | matches | | 0 | "Her focus was absolute, honed" | | 1 | "Her breath plumed white in" | | 2 | "She checked her pace only" | | 3 | "She was forty-one, with a" | | 4 | "She chased the figure down" | | 5 | "They were heading for the" | | 6 | "She knew the intelligence reports," | | 7 | "They whispered of a hidden" | | 8 | "It moved every full moon," | | 9 | "Her heart hammered against her" | | 10 | "She pulled a small flashlight" | | 11 | "Her instincts screamed a warning," | | 12 | "She thought of Morris." | | 13 | "She thought of the unanswered" | | 14 | "She descended the stone stairs" | | 15 | "Her eyes scanned the chaotic" | | 16 | "She had crossed the threshold" | | 17 | "She stepped away from the" |
| | ratio | 0.29 | |
| 64.84% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 49 | | totalSentences | 62 | | matches | | 0 | "The rain fell in sheets" | | 1 | "Detective Harlow Quinn did not" | | 2 | "Her focus was absolute, honed" | | 3 | "Harlow lengthened her stride, her" | | 4 | "Her breath plumed white in" | | 5 | "She checked her pace only" | | 6 | "She was forty-one, with a" | | 7 | "The suspect rounded a corner" | | 8 | "Harlow pushed harder, her lungs" | | 9 | "The department thought she was" | | 10 | "The clique operated in the" | | 11 | "She chased the figure down" | | 12 | "The ambient noise of traffic" | | 13 | "The suspect wasn't heading for" | | 14 | "They were heading for the" | | 15 | "Camden's abandoned Tube station loomed" | | 16 | "A damp, stale draft exhaled" | | 17 | "Harlow stopped at the threshold" | | 18 | "This was the Veil Market." | | 19 | "She knew the intelligence reports," |
| | ratio | 0.79 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 62 | | matches | (empty) | | ratio | 0 | |
| 16.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 51 | | technicalSentenceCount | 9 | | matches | | 0 | "The rain fell in sheets over Soho, turning the asphalt into a slick, black mirror that shattered the neon glare of storefronts." | | 1 | "She was forty-one, with a sharp jaw and closely cropped salt-and-pepper hair that clung to her temples." | | 2 | "Three years had passed since she lost DS Morris, three years since the case that had shattered her worldview and left her chasing shadows that defied physics." | | 3 | "They whispered of a hidden supernatural black market operating in abandoned transit hubs, a place that sold enchanted goods, banned alchemical substances, and i…" | | 4 | "Her heart hammered against her ribs, a steady, rhythmic thud that matched the ticking of her leather-strapped watch." | | 5 | "From deep within the earth came the faint, rhythmic clatter of distant machinery and the low murmur of dozens of voices echoing off vaulted tile ceilings—voices…" | | 6 | "Her instincts screamed a warning, the same primal survival instinct that had kept her alive through eighteen years of violent crime and the unexplainable horror…" | | 7 | "She thought of the unanswered questions, the strange symbols left at crime scenes, the quiet cover-ups by superiors who were either terrified or complicit." | | 8 | "Figures in heavy cloaks, some wearing unsettling masks of carved bone and horn, huddled over crates displaying glowing vials, tarnished silver weapons, and arti…" |
| |
| 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 | |