| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 2 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 3 | | tagDensity | 0.667 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 97.74% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2212 | | 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) | |
| 68.35% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2212 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "weight" | | 1 | "unraveling" | | 2 | "pulse" | | 3 | "mechanical" | | 4 | "measured" | | 5 | "could feel" | | 6 | "pulsed" | | 7 | "echoed" | | 8 | "grave" |
| |
| 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 | 1 | | narrationSentences | 191 | | matches | | |
| 97.98% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 6 | | hedgeCount | 0 | | narrationSentences | 191 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 191 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 44 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2204 | | ratio | 0 | | matches | (empty) | |
| 72.37% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 19 | | unquotedAttributions | 4 | | matches | | 0 | "You remember, she told the rain in a way that sounded like a promise." | | 1 | "Do what you came to do, she said." | | 2 | "You always did have a good face for trouble, he said." | | 3 | "I am, she said." |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 37 | | wordCount | 2200 | | uniqueNames | 8 | | maxNameDensity | 0.68 | | worstName | "You" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Harlow" | | discoveredNames | | Raven | 2 | | Nest | 2 | | Tube | 1 | | Morris | 5 | | Spanish | 1 | | Harlow | 7 | | You | 15 | | Quinn | 4 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Morris" | | 3 | "Harlow" | | 4 | "You" | | 5 | "Quinn" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 21.79% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 156 | | glossingSentenceCount | 8 | | matches | | 0 | "sounded like a promise" | | 1 | "felt like armor; trains had their own l" | | 2 | "something like amusement" | | 3 | "something like truth" | | 4 | "smelled like old prayers, gloves stitched" | | 5 | "sounded like coinage" | | 6 | "something like a warning" | | 7 | "smelled like the inside of a question" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.454 | | wordCount | 2204 | | matches | | 0 | "Not the clique's public face, but someone" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 3 | | totalSentences | 191 | | matches | | 0 | "seen that door" | | 1 | "had that effect" | | 2 | "agreed that she" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 58 | | mean | 38 | | std | 23.67 | | cv | 0.623 | | sampleLengths | | 0 | 54 | | 1 | 1 | | 2 | 69 | | 3 | 4 | | 4 | 10 | | 5 | 23 | | 6 | 10 | | 7 | 42 | | 8 | 1 | | 9 | 50 | | 10 | 44 | | 11 | 77 | | 12 | 7 | | 13 | 37 | | 14 | 62 | | 15 | 25 | | 16 | 63 | | 17 | 14 | | 18 | 68 | | 19 | 7 | | 20 | 29 | | 21 | 54 | | 22 | 7 | | 23 | 44 | | 24 | 40 | | 25 | 85 | | 26 | 26 | | 27 | 96 | | 28 | 33 | | 29 | 46 | | 30 | 31 | | 31 | 35 | | 32 | 24 | | 33 | 35 | | 34 | 43 | | 35 | 53 | | 36 | 33 | | 37 | 38 | | 38 | 39 | | 39 | 79 | | 40 | 37 | | 41 | 13 | | 42 | 3 | | 43 | 101 | | 44 | 44 | | 45 | 58 | | 46 | 15 | | 47 | 64 | | 48 | 19 | | 49 | 34 |
| |
| 96.08% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 191 | | matches | | 0 | "been pried" | | 1 | "been patched" | | 2 | "been polished" | | 3 | "get chewed" | | 4 | "being made" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 424 | | matches | | 0 | "was going" | | 1 | "were clearing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 10 | | flaggedSentences | 15 | | totalSentences | 191 | | ratio | 0.079 | | matches | | 0 | "The green sign of the Raven's Nest buzzed above the doorway, letters swimming in the rain; a man had slipped out from under it and gone running." | | 1 | "The suspect was already a shape—dark hoodie, fast feet—cutting down a side street that smelled of hot oil and something metallic." | | 2 | "He glanced over his shoulder; the hood fell back enough for a flash of hair, a jaw." | | 3 | "Her watch glinted, a tiny honest circle against her wrist; Morris had talked her into buying it, an afterthought to patch their time together." | | 4 | "He moved with a purpose that chewed at her chest—no aimless escape; he was going somewhere specific." | | 5 | "She loved rules in a way that felt like armor; trains had their own lethal certainty." | | 6 | "A hand-lettered sign swung under the metal, stenciled in white on black paper: VEIL MARKET — CLOSES AT MIDNIGHT — ENTRY BY BURIAL TOKEN." | | 7 | "You had the badge; you had the right to ask." | | 8 | "The marrow had been polished smooth; runes scratched around its curve." | | 9 | "The bones had that effect; they asked the world to rearrange itself and left their users hollow." | | 10 | "The world above roared—tyres, music, the green buzz of the Raven's Nest—but below, in that opened mouth, a different pulse thrummed." | | 11 | "A light inside was dim and not mechanical; it pulsed the way breathing pulsed." | | 12 | "The corridor narrowed, and then the light shifted—colored wavelengths stitched where the tunnel had once been grey." | | 13 | "The market had rules; it had teeth." | | 14 | "The curtain sighed closed somewhere further down—the sound of privacy being made." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 2208 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 53 | | adverbRatio | 0.024003623188405796 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.001358695652173913 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 191 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 191 | | mean | 11.54 | | std | 6.98 | | cv | 0.605 | | sampleLengths | | 0 | 14 | | 1 | 13 | | 2 | 27 | | 3 | 1 | | 4 | 7 | | 5 | 13 | | 6 | 21 | | 7 | 17 | | 8 | 11 | | 9 | 4 | | 10 | 6 | | 11 | 4 | | 12 | 3 | | 13 | 5 | | 14 | 15 | | 15 | 4 | | 16 | 6 | | 17 | 4 | | 18 | 4 | | 19 | 14 | | 20 | 8 | | 21 | 12 | | 22 | 1 | | 23 | 10 | | 24 | 16 | | 25 | 24 | | 26 | 14 | | 27 | 24 | | 28 | 6 | | 29 | 16 | | 30 | 17 | | 31 | 7 | | 32 | 17 | | 33 | 11 | | 34 | 9 | | 35 | 7 | | 36 | 20 | | 37 | 17 | | 38 | 7 | | 39 | 16 | | 40 | 18 | | 41 | 7 | | 42 | 8 | | 43 | 6 | | 44 | 14 | | 45 | 11 | | 46 | 21 | | 47 | 24 | | 48 | 18 | | 49 | 4 |
| |
| 36.39% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 26 | | diversityRatio | 0.225130890052356 | | totalSentences | 191 | | uniqueOpeners | 43 | |
| 72.86% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 183 | | matches | | 0 | "Instead she swung down to" | | 1 | "Instead she tightened her grip" | | 2 | "Maybe he wanted to watch" | | 3 | "Maybe he wanted to see" |
| | ratio | 0.022 | |
| 32.02% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 86 | | totalSentences | 183 | | matches | | 0 | "She pushed off the wall" | | 1 | "He glanced over his shoulder;" | | 2 | "You can't run forever." | | 3 | "He tightened his stride." | | 4 | "She kept calling." | | 5 | "She sharpened words into questions" | | 6 | "He took a corner too" | | 7 | "They exploded into the street" | | 8 | "He cut through an alley," | | 9 | "She could have waited, radioed" | | 10 | "Her watch glinted, a tiny" | | 11 | "You remember, she told the" | | 12 | "She would not be slow" | | 13 | "He was ahead, stabbing his" | | 14 | "she called, and it became" | | 15 | "He moved with a purpose" | | 16 | "She loved rules in a" | | 17 | "Her leather watch pinned the" | | 18 | "She felt every second as" | | 19 | "You shouldn't have seen that" |
| | ratio | 0.47 | |
| 36.50% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 155 | | totalSentences | 183 | | matches | | 0 | "Rain slicked the neon, turned" | | 1 | "Harlow kept her shoulders down" | | 2 | "The green sign of the" | | 3 | "She pushed off the wall" | | 4 | "Boots hit puddles with soft," | | 5 | "The suspect was already a" | | 6 | "He glanced over his shoulder;" | | 7 | "You can't run forever." | | 8 | "The shout left her without" | | 9 | "He tightened his stride." | | 10 | "She kept calling." | | 11 | "She sharpened words into questions" | | 12 | "The man didn't answer." | | 13 | "Rain hooded his face." | | 14 | "He took a corner too" | | 15 | "They exploded into the street" | | 16 | "He cut through an alley," | | 17 | "The voice behind her pulled" | | 18 | "She could have waited, radioed" | | 19 | "Her watch glinted, a tiny" |
| | ratio | 0.847 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 5 | | totalSentences | 183 | | matches | | 0 | "If you wanted to disappear," | | 1 | "If you go in, you'll" | | 2 | "If I don't, he gets" | | 3 | "If you leave now, she" | | 4 | "If you go further, you" |
| | ratio | 0.027 | |
| 46.70% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 104 | | technicalSentenceCount | 14 | | matches | | 0 | "The suspect was already a shape—dark hoodie, fast feet—cutting down a side street that smelled of hot oil and something metallic." | | 1 | "Not the clique's public face, but someone that knew its angles." | | 2 | "He moved with a purpose that chewed at her chest—no aimless escape; he was going somewhere specific." | | 3 | "She loved rules in a way that felt like armor; trains had their own lethal certainty." | | 4 | "He tossed a bone token in the air, letting it catch a lamplight that shouldn't have been there, because unknown things kept lights even where there were no wire…" | | 5 | "Her partner's face slid under the surface of memory: an unlit cigarette tucked into the corner of his cheek, a smirk that had been easy." | | 6 | "It was obedient and small, but it had a crack that made the sound fit the place: gritty and immediate." | | 7 | "If you go in, you'll cut the case, her voice said into the tiny box after she thumbed it, and the voice on the other end had the soft bureaucratic cadence that …" | | 8 | "Voices folded into one another: Spanish, something slurred into whispers, laughter that made her teeth ache." | | 9 | "Stalls revealed themselves, their wares strange and precise: jars packed with folded paper that smelled like old prayers, gloves stitched with hair, a compass t…" | | 10 | "At the stair, the man who had led her here slid a bone into his pocket with a quiet smile, the token no less ordinary for its runes." | | 11 | "Her leather watch was damp now, pressed against her wrist like a metronome that called her forward." | | 12 | "If you go further, you risk stepping into bargaining that doesn't take your badge for payment, a place that would sooner trade you than confess." | | 13 | "Harlow rolled her shoulder and flexed the fingers on the hand that rested at her side." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 2 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 3 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0 | | effectiveRatio | 0 | |