| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 2 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 86.64% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1497 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "slightly" | | 1 | "completely" | | 2 | "slowly" | | 3 | "truly" |
| |
| 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.22% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1497 | | totalAiIsms | 17 | | found | | | highlights | | 0 | "unravel" | | 1 | "efficient" | | 2 | "chill" | | 3 | "apprehension" | | 4 | "gloom" | | 5 | "navigated" | | 6 | "raced" | | 7 | "traced" | | 8 | "weight" | | 9 | "fragmented" | | 10 | "intricate" | | 11 | "tapestry" | | 12 | "echoed" | | 13 | "familiar" | | 14 | "chilling" |
| |
| 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 | 120 | | matches | (empty) | |
| 83.33% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 4 | | narrationSentences | 120 | | filterMatches | | | hedgeMatches | | 0 | "appeared to" | | 1 | "seemed to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 121 | | 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 | 1 | | markdownWords | 1 | | totalWords | 1488 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 2 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 37 | | wordCount | 1482 | | uniqueNames | 15 | | maxNameDensity | 0.67 | | worstName | "Harlow" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Harlow" | | discoveredNames | | Soho | 1 | | Harlow | 10 | | Quinn | 2 | | Raven | 1 | | Nest | 1 | | Tomás | 3 | | Herrera | 6 | | Saint | 1 | | Christopher | 1 | | Morris | 3 | | Veil | 2 | | Market | 3 | | London | 1 | | Tube | 1 | | English | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Raven" | | 3 | "Tomás" | | 4 | "Herrera" | | 5 | "Saint" | | 6 | "Christopher" | | 7 | "Morris" | | 8 | "Market" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 85 | | glossingSentenceCount | 6 | | matches | | 0 | "as if nursing an old wound" | | 1 | "groan that seemed to vibrate up through her bones, the section of wall she was examining swung inward just a crack" | | 2 | "hum that seemed to come from the walls themselves" | | 3 | "symbols that seemed to squirm at the edge of her vision" | | 4 | "looked like a larger chamber" | | 5 | "quite English, or anything else she recognized" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 5 | | per1kWords | 3.36 | | wordCount | 1488 | | matches | | 0 | "no physical trace but" | | 1 | "not just a criminal, but a fear" | | 2 | "not of metal on metal, but of metal on old, worn stone" | | 3 | "not the smell of damp sewer, but of ozone, dust" | | 4 | "not graffiti, but strange, intricate symbols" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 121 | | matches | (empty) | |
| 65.09% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 19 | | mean | 78.32 | | std | 29.59 | | cv | 0.378 | | sampleLengths | | 0 | 111 | | 1 | 138 | | 2 | 90 | | 3 | 123 | | 4 | 91 | | 5 | 74 | | 6 | 111 | | 7 | 64 | | 8 | 103 | | 9 | 27 | | 10 | 48 | | 11 | 65 | | 12 | 48 | | 13 | 48 | | 14 | 89 | | 15 | 67 | | 16 | 65 | | 17 | 89 | | 18 | 37 |
| |
| 93.57% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 120 | | matches | | 0 | "was plastered" | | 1 | "being hunted" | | 2 | "was crouched" | | 3 | "was swallowed" |
| |
| 22.22% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 225 | | matches | | 0 | "wasn’t just running" | | 1 | "was running" | | 2 | "was swinging" | | 3 | "was already closing" | | 4 | "was examining" | | 5 | "was waiting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 121 | | ratio | 0.058 | | matches | | 0 | "Ahead, the man—Tomás Herrera—moved with the fluid, desperate grace of someone who knew these labyrinthine streets." | | 1 | "He was the knot that, if pulled, might unravel the whole damn clique—the quiet, efficient network that operated in the city’s blind spots." | | 2 | "For a heartbeat, she saw him in full—a man in a dark raincoat, one hand clutching the strap of a messenger bag, the other pressed to his side as if nursing an old wound." | | 3 | "He changed direction again, cutting through the skeletal remains of a wrought-iron gate into what appeared to be a dead-end courtyard—a space between buildings that reeked of damp brick and neglect." | | 4 | "If she called it in, by the time backup navigated the labyrinth above, Herrera—and whatever he was protecting—would be gone." | | 5 | "The air that sighed out was not the smell of damp sewer, but of ozone, dust, and something else—something metallic and faintly sweet, like old blood and rusted iron." | | 6 | "Flickers of warmer, amber light danced there, and with the light came the murmur of voices—a low, dense tapestry of sound, speaking in accents she couldn’t place, using words that weren’t quite English, or anything else she recognized." |
| |
| 88.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1503 | | adjectiveStacks | 2 | | stackExamples | | 0 | "unknown, unregulated, supernatural space." | | 1 | "ghostly blue-green glow" |
| | adverbCount | 44 | | adverbRatio | 0.02927478376580173 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.00998003992015968 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 121 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 121 | | mean | 12.3 | | std | 8.95 | | cv | 0.728 | | sampleLengths | | 0 | 22 | | 1 | 29 | | 2 | 16 | | 3 | 32 | | 4 | 3 | | 5 | 5 | | 6 | 4 | | 7 | 7 | | 8 | 35 | | 9 | 23 | | 10 | 29 | | 11 | 9 | | 12 | 7 | | 13 | 28 | | 14 | 17 | | 15 | 6 | | 16 | 29 | | 17 | 18 | | 18 | 20 | | 19 | 20 | | 20 | 34 | | 21 | 19 | | 22 | 16 | | 23 | 20 | | 24 | 7 | | 25 | 7 | | 26 | 31 | | 27 | 8 | | 28 | 21 | | 29 | 7 | | 30 | 13 | | 31 | 7 | | 32 | 4 | | 33 | 15 | | 34 | 14 | | 35 | 5 | | 36 | 16 | | 37 | 3 | | 38 | 1 | | 39 | 15 | | 40 | 3 | | 41 | 2 | | 42 | 4 | | 43 | 11 | | 44 | 9 | | 45 | 12 | | 46 | 22 | | 47 | 20 | | 48 | 8 | | 49 | 25 |
| |
| 38.57% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 20 | | diversityRatio | 0.3305785123966942 | | totalSentences | 121 | | uniqueOpeners | 40 | |
| 60.06% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 111 | | matches | | 0 | "Only a service weapon, a" | | 1 | "Then, she pushed the hidden" |
| | ratio | 0.018 | |
| 72.25% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 41 | | totalSentences | 111 | | matches | | 0 | "His short, curly hair was" | | 1 | "She’d been tailing him for" | | 2 | "He was the knot that," | | 3 | "He was faster, more agile," | | 4 | "Her sharp jaw was set," | | 5 | "He burst from the alley" | | 6 | "He looked over his shoulder," | | 7 | "He wasn’t just running from" | | 8 | "He was running from what" | | 9 | "He changed direction again, cutting" | | 10 | "She slowed, her steps deliberate" | | 11 | "she barked, her voice raw" | | 12 | "Her eyes, adjusting to the" | | 13 | "He was crouched, his back" | | 14 | "He didn’t look back." | | 15 | "He squeezed through the narrow" | | 16 | "She stared at the wall," | | 17 | "Her mind raced: Veil Market." | | 18 | "She crouched, running her hands" | | 19 | "Her fingers, numb with cold," |
| | ratio | 0.369 | |
| 36.58% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 94 | | totalSentences | 111 | | matches | | 0 | "Detective Harlow Quinn’s lungs burned," | | 1 | "His short, curly hair was" | | 2 | "A Saint Christopher." | | 3 | "A patron saint of travelers." | | 4 | "Harlow’s breath came in sharp," | | 5 | "She’d been tailing him for" | | 6 | "He was the knot that," | | 7 | "The knot that might finally," | | 8 | "The official report cited equipment" | | 9 | "Harlow knew it had been" | | 10 | "Something that left no physical" | | 11 | "Herrera darted left, down a" | | 12 | "Harlow didn’t hesitate, plunging after" | | 13 | "The rain drowned out the" | | 14 | "He was faster, more agile," | | 15 | "Her sharp jaw was set," | | 16 | "He burst from the alley" | | 17 | "The scar along his left" | | 18 | "He looked over his shoulder," | | 19 | "He wasn’t just running from" |
| | ratio | 0.847 | |
| 45.05% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 111 | | matches | | | ratio | 0.009 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 60 | | technicalSentenceCount | 12 | | matches | | 0 | "Detective Harlow Quinn’s lungs burned, but she pushed harder, her worn leather boots slapping through puddles that mirrored the sickly green glow of the sign fo…" | | 1 | "Ahead, the man—Tomás Herrera—moved with the fluid, desperate grace of someone who knew these labyrinthine streets." | | 2 | "He was the knot that, if pulled, might unravel the whole damn clique—the quiet, efficient network that operated in the city’s blind spots." | | 3 | "The knot that might finally, after three years, give her something solid, something rational, to cling to regarding what had taken DS Morris from her in that wa…" | | 4 | "For a heartbeat, she saw him in full—a man in a dark raincoat, one hand clutching the strap of a messenger bag, the other pressed to his side as if nursing an o…" | | 5 | "In that glance, Harlow saw not just a criminal, but a fear that was deeper, more primal than simple apprehension." | | 6 | "He changed direction again, cutting through the skeletal remains of a wrought-iron gate into what appeared to be a dead-end courtyard—a space between buildings …" | | 7 | "But the gap was already closing, the disguised door swinging shut with a soft, final *thump* that was swallowed by the rain." | | 8 | "The air that sighed out was not the smell of damp sewer, but of ozone, dust, and something else—something metallic and faintly sweet, like old blood and rusted …" | | 9 | "The sound of the rain vanished completely, replaced by a low, resonant hum that seemed to come from the walls themselves." | | 10 | "Flickers of warmer, amber light danced there, and with the light came the murmur of voices—a low, dense tapestry of sound, speaking in accents she couldn’t plac…" | | 11 | "She was in the Veil Market now, a place that traded in the impossible, and somewhere in that glowing, murmuring dark ahead, Tomás Herrera held pieces of a puzzl…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 1 | | matches | | 0 | "she barked, her voice raw" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 2 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 1 | | effectiveRatio | 1 | |