| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 13 | | tagDensity | 0.692 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1230 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 43.09% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1230 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "fractured" | | 1 | "pulse" | | 2 | "reminder" | | 3 | "grave" | | 4 | "gloom" | | 5 | "tension" | | 6 | "shimmered" | | 7 | "silence" | | 8 | "echoed" | | 9 | "vibrated" | | 10 | "unreadable" | | 11 | "scanned" |
| |
| 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 | 91 | | matches | (empty) | |
| 80.06% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 1 | | narrationSentences | 91 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 95 | | 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 | 1228 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 48 | | wordCount | 1125 | | uniqueNames | 17 | | maxNameDensity | 1.33 | | worstName | "Quinn" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Quinn" | | discoveredNames | | Camden | 2 | | Harlow | 1 | | Quinn | 15 | | Herrera | 11 | | Raven | 1 | | Nest | 1 | | Soho | 1 | | Underground | 1 | | Saint | 1 | | Christopher | 1 | | Three | 2 | | Veil | 3 | | Market | 3 | | Morris | 2 | | Tube | 1 | | Metropolitan | 1 | | Police | 1 |
| | persons | | 0 | "Camden" | | 1 | "Harlow" | | 2 | "Quinn" | | 3 | "Herrera" | | 4 | "Raven" | | 5 | "Nest" | | 6 | "Saint" | | 7 | "Christopher" | | 8 | "Market" | | 9 | "Morris" | | 10 | "Police" |
| | places | | | globalScore | 0.833 | | windowScore | 0.833 | |
| 78.57% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 70 | | glossingSentenceCount | 2 | | matches | | 0 | "felt like a lie" | | 1 | "light that seemed to emanate from the wares on the stalls" |
| |
| 37.13% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.629 | | wordCount | 1228 | | matches | | 0 | "not yet, but she felt the pull of it now, like a hook in her gut" | | 1 | "not with the sound of rust, but with the sound of something waking up" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 95 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 29 | | mean | 42.34 | | std | 27.32 | | cv | 0.645 | | sampleLengths | | 0 | 101 | | 1 | 11 | | 2 | 109 | | 3 | 43 | | 4 | 52 | | 5 | 100 | | 6 | 19 | | 7 | 22 | | 8 | 39 | | 9 | 67 | | 10 | 19 | | 11 | 68 | | 12 | 33 | | 13 | 50 | | 14 | 26 | | 15 | 47 | | 16 | 16 | | 17 | 8 | | 18 | 31 | | 19 | 69 | | 20 | 27 | | 21 | 16 | | 22 | 47 | | 23 | 49 | | 24 | 27 | | 25 | 7 | | 26 | 38 | | 27 | 22 | | 28 | 65 |
| |
| 89.84% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 91 | | matches | | 0 | "was deserted" | | 1 | "was hidden" | | 2 | "being hunted" | | 3 | "was cracked" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 178 | | matches | | |
| 52.63% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 2 | | semicolonCount | 1 | | flaggedSentences | 3 | | totalSentences | 95 | | ratio | 0.032 | | matches | | 0 | "The air smelled of wet concrete and something else—something coppery and ancient, like a grave opened too soon." | | 1 | "He held his left arm close to his chest, the scar running along his forearm visible even in the gloom—a jagged white line from a knife attack that hadn’t been on any police report." | | 2 | "It wasn’t just a grate; it was a doorway into the Veil Market, though she didn’t know the name yet." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1132 | | adjectiveStacks | 1 | | stackExamples | | 0 | "thick, pressing against her" |
| | adverbCount | 28 | | adverbRatio | 0.024734982332155476 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.006183745583038869 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 95 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 95 | | mean | 12.93 | | std | 7.09 | | cv | 0.548 | | sampleLengths | | 0 | 23 | | 1 | 19 | | 2 | 23 | | 3 | 17 | | 4 | 19 | | 5 | 9 | | 6 | 2 | | 7 | 16 | | 8 | 38 | | 9 | 19 | | 10 | 13 | | 11 | 23 | | 12 | 13 | | 13 | 17 | | 14 | 4 | | 15 | 9 | | 16 | 10 | | 17 | 14 | | 18 | 10 | | 19 | 18 | | 20 | 19 | | 21 | 27 | | 22 | 5 | | 23 | 15 | | 24 | 34 | | 25 | 7 | | 26 | 12 | | 27 | 9 | | 28 | 13 | | 29 | 6 | | 30 | 17 | | 31 | 16 | | 32 | 18 | | 33 | 2 | | 34 | 22 | | 35 | 25 | | 36 | 9 | | 37 | 10 | | 38 | 15 | | 39 | 8 | | 40 | 6 | | 41 | 20 | | 42 | 7 | | 43 | 12 | | 44 | 5 | | 45 | 6 | | 46 | 9 | | 47 | 3 | | 48 | 10 | | 49 | 17 |
| |
| 36.32% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.29473684210526313 | | totalSentences | 95 | | uniqueOpeners | 28 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 85 | | matches | (empty) | | ratio | 0 | |
| 64.71% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 33 | | totalSentences | 85 | | matches | | 0 | "She was forty-one years old," | | 1 | "Her breath plumed in the" | | 2 | "He was twenty-nine, young enough" | | 3 | "She had seen the way" | | 4 | "She had seen the file" | | 5 | "He knew this place." | | 6 | "He knew where the city" | | 7 | "She saw him then, standing" | | 8 | "It was hidden behind a" | | 9 | "His olive skin was pale" | | 10 | "He held his left arm" | | 11 | "His voice was calm, lacking" | | 12 | "She didn’t understand the supernatural" | | 13 | "She could see the entrance" | | 14 | "It wasn’t just a grate;" | | 15 | "She knew only that it" | | 16 | "He pulled out a small" | | 17 | "He pressed it against the" | | 18 | "Her training screamed at her" | | 19 | "She looked at the watch" |
| | ratio | 0.388 | |
| 7.06% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 77 | | totalSentences | 85 | | matches | | 0 | "Rain lashed against the pavement" | | 1 | "Detective Harlow Quinn pushed through" | | 2 | "She was forty-one years old," | | 3 | "Her breath plumed in the" | | 4 | "He was twenty-nine, young enough" | | 5 | "Quinn had tracked him out" | | 6 | "She had seen the way" | | 7 | "She had seen the file" | | 8 | "Quinn’s boots splashed through a" | | 9 | "Herrera had vanished around the" | | 10 | "He knew this place." | | 11 | "He knew where the city" | | 12 | "Quinn rounded the corner, her" | | 13 | "The rain was heavier here," | | 14 | "The street was deserted, save" | | 15 | "The air smelled of wet" | | 16 | "She saw him then, standing" | | 17 | "It was hidden behind a" | | 18 | "Herrera turned to face her." | | 19 | "His olive skin was pale" |
| | ratio | 0.906 | |
| 58.82% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 85 | | matches | | | ratio | 0.012 | |
| 23.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 8 | | matches | | 0 | "Rain lashed against the pavement of Camden, turning the asphalt into a slick, black mirror that reflected the fractured neon of the city." | | 1 | "Quinn had tracked him out of the Raven's Nest, past the distinctive green neon sign that buzzed like an angry insect above the bar in Soho, and all the way nort…" | | 2 | "It was hidden behind a pile of refuse, but the metal around it was warm to the touch, radiating a heat that shouldn’t exist in this weather." | | 3 | "He held his left arm close to his chest, the scar running along his forearm visible even in the gloom—a jagged white line from a knife attack that hadn’t been o…" | | 4 | "Three years of unexplained circumstances, of files that went cold, of a partner who vanished into a case that shouldn’t have existed." | | 5 | "The grate slid open, revealing a stairwell that descended into absolute darkness." | | 6 | "She scanned the perimeter, her eyes adjusting to the dim, unnatural light that seemed to emanate from the wares on the stalls." | | 7 | "She was in enemy territory, in a place that defied the logic of her eighteen years of service." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 3 | | matches | | 0 | "Quinn said, the name of her dead partner hanging heavy between them" | | 1 | "Herrera said, his voice low" | | 2 | "Quinn replied, her voice steady despite the adrenaline flooding her veins" |
| |
| 87.50% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 13 | | tagDensity | 0.615 | | leniency | 1 | | rawRatio | 0.125 | | effectiveRatio | 0.125 | |