| 82.35% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 8 | | adverbTagCount | 1 | | adverbTags | | 0 | "he said quietly [quietly]" |
| | dialogueSentences | 17 | | tagDensity | 0.471 | | leniency | 0.941 | | rawRatio | 0.125 | | effectiveRatio | 0.118 | |
| 93.20% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1471 | | totalAiIsmAdverbs | 2 | | 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) | |
| 45.62% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1471 | | totalAiIsms | 16 | | found | | | highlights | | 0 | "flicker" | | 1 | "warmth" | | 2 | "familiar" | | 3 | "clandestine" | | 4 | "charged" | | 5 | "grave" | | 6 | "weight" | | 7 | "velvet" | | 8 | "echoed" | | 9 | "scanning" | | 10 | "crystal" | | 11 | "trembled" | | 12 | "silence" | | 13 | "unwavering" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 99 | | matches | | |
| 99.57% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 1 | | narrationSentences | 99 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 109 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 47 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1451 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 55 | | wordCount | 1304 | | uniqueNames | 19 | | maxNameDensity | 1.38 | | worstName | "Quinn" | | maxWindowNameDensity | 3 | | worstWindowName | "Quinn" | | discoveredNames | | Dean | 1 | | Street | 1 | | Soho | 1 | | Harlow | 1 | | Quinn | 18 | | Raven | 4 | | Nest | 4 | | Morris | 2 | | Tube | 2 | | Camden | 3 | | Veil | 4 | | Market | 4 | | London | 2 | | Rome | 1 | | Tomás | 1 | | Herrera | 1 | | Seville | 1 | | Together | 1 | | Rain | 3 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Raven" | | 3 | "Nest" | | 4 | "Morris" | | 5 | "Market" | | 6 | "Tomás" | | 7 | "Herrera" | | 8 | "Rain" |
| | places | | 0 | "Dean" | | 1 | "Street" | | 2 | "Soho" | | 3 | "London" | | 4 | "Rome" | | 5 | "Seville" |
| | globalScore | 0.81 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 75 | | glossingSentenceCount | 1 | | matches | | 0 | "something like disappointment" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 4 | | per1kWords | 2.757 | | wordCount | 1451 | | matches | | 0 | "not with fear but with the old, familiar burn of pursuit" | | 1 | "not out of respect for her authority, but out of instinct" | | 2 | "not with words but with motion" | | 3 | "not her token but her intent" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 109 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 34 | | mean | 42.68 | | std | 25.03 | | cv | 0.587 | | sampleLengths | | 0 | 73 | | 1 | 60 | | 2 | 104 | | 3 | 51 | | 4 | 66 | | 5 | 15 | | 6 | 84 | | 7 | 3 | | 8 | 36 | | 9 | 72 | | 10 | 11 | | 11 | 89 | | 12 | 46 | | 13 | 52 | | 14 | 46 | | 15 | 6 | | 16 | 49 | | 17 | 23 | | 18 | 11 | | 19 | 29 | | 20 | 38 | | 21 | 38 | | 22 | 35 | | 23 | 12 | | 24 | 60 | | 25 | 42 | | 26 | 44 | | 27 | 14 | | 28 | 11 | | 29 | 57 | | 30 | 58 | | 31 | 55 | | 32 | 15 | | 33 | 46 |
| |
| 98.17% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 99 | | matches | | 0 | "were lined" | | 1 | "were hidden" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 233 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 20 | | semicolonCount | 1 | | flaggedSentences | 17 | | totalSentences | 109 | | ratio | 0.156 | | matches | | 0 | "The suspect—lean, hooded, carrying a satchel that clinked with glass—rounded the corner past a shuttered bakery and bolted north." | | 1 | "She ignored the temptation of its warmth; the man ahead had already vanished into the mouth of an alley that smelled of damp brick and old smoke." | | 2 | "She caught sight of him turning onto a side road, his hood whipping back just long enough to reveal sharp cheekbones she recognized from case files—an informant, maybe, or one of the clique feeding the underground." | | 3 | "He reached into his coat and withdrew something small, yellowed—bone, Quinn realized, shaped like a coin." | | 4 | "Her brown eyes narrowed as she studied the threshold: the Veil Market, according to whispers in her files—an underground black market that sold enchanted goods, banned alchemical substances, and information, that moved its location every full moon." | | 5 | "She had spent a career crossing boundaries others feared—alleys, warehouses, the hidden back rooms of bars like the Raven's Nest, accessible through bookshelves, used for clandestine meetings." | | 6 | "The air changed immediately—heavy, charged, thick with the scent of myrrh and copper." | | 7 | "She kept her bearing—military precision—her posture erect despite the weight of the dark." | | 8 | "Enchanted goods rested in velvet-lined cases—rings that hummed, mirrors that refused to reflect, bones carved with languages dead before Rome." | | 9 | "She moved slowly, scanning the crowd—merchants with silver-threaded cloaks, buyers whose eyes glowed faint amber, creatures she refused to name." | | 10 | "The satchel of glass, the bone token, the flight—all led to this exchange." | | 11 | "The crowd parted around her like water around a blade—not out of respect for her authority, but out of instinct." | | 12 | "Instead, she placed her hand—firm, unyielding—on his shoulder, guiding him back through the maze of tents, past the glowing vials, past the masked merchants who watched with eyes like dying stars." | | 13 | "Or perhaps they recognized the absence of one—an outsider who had entered without permission, who had seen too much, who now carried the market's secrets out into the rain." | | 14 | "She looked down at him, her bearing unchanged—military precision, unwavering." | | 15 | "Tomás Herrera—she recognized the name from her files, the former paramedic from Seville, the man who had lost his license for treating supernatural patients—looked at her with warm brown eyes that held too much regret." | | 16 | "Together, they turned into the dark streets of London, the green neon of The Raven's Nest flickering in the distance like a signal fire, the Veil Market sealed behind them—until the next full moon, when it would move again, carrying its secrets to another forgotten place." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 525 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 8 | | adverbRatio | 0.015238095238095238 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.0019047619047619048 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 109 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 109 | | mean | 13.31 | | std | 9.01 | | cv | 0.677 | | sampleLengths | | 0 | 14 | | 1 | 18 | | 2 | 22 | | 3 | 19 | | 4 | 7 | | 5 | 24 | | 6 | 2 | | 7 | 27 | | 8 | 36 | | 9 | 14 | | 10 | 21 | | 11 | 21 | | 12 | 6 | | 13 | 6 | | 14 | 13 | | 15 | 10 | | 16 | 16 | | 17 | 2 | | 18 | 10 | | 19 | 2 | | 20 | 10 | | 21 | 37 | | 22 | 12 | | 23 | 2 | | 24 | 3 | | 25 | 15 | | 26 | 9 | | 27 | 4 | | 28 | 27 | | 29 | 4 | | 30 | 13 | | 31 | 27 | | 32 | 3 | | 33 | 5 | | 34 | 13 | | 35 | 12 | | 36 | 6 | | 37 | 14 | | 38 | 11 | | 39 | 15 | | 40 | 13 | | 41 | 19 | | 42 | 11 | | 43 | 19 | | 44 | 17 | | 45 | 20 | | 46 | 22 | | 47 | 11 | | 48 | 7 | | 49 | 20 |
| |
| 53.82% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.3669724770642202 | | totalSentences | 109 | | uniqueOpeners | 40 | |
| 38.76% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 86 | | matches | | 0 | "Instead, she placed her hand—firm," |
| | ratio | 0.012 | |
| 71.16% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 32 | | totalSentences | 86 | | matches | | 0 | "Her leather watch, worn thin" | | 1 | "She ignored the temptation of" | | 2 | "She caught sight of him" | | 3 | "Her heart hammered not with" | | 4 | "She did not chase for" | | 5 | "She chased because someone always" | | 6 | "He reached into his coat" | | 7 | "Her brown eyes narrowed as" | | 8 | "She knew the entry requirement" | | 9 | "She had none." | | 10 | "Her sharp jaw set." | | 11 | "She had spent a career" | | 12 | "She passed the rusted threshold." | | 13 | "She kept her bearing—military precision—her" | | 14 | "She moved slowly, scanning the" | | 15 | "Her suspect was here, she" | | 16 | "She found him near a" | | 17 | "He was speaking to a" | | 18 | "They knew a hunter when" | | 19 | "Her brown eyes locked onto" |
| | ratio | 0.372 | |
| 53.02% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 70 | | totalSentences | 86 | | matches | | 0 | "Rain lashed Dean Street in" | | 1 | "Detective Harlow Quinn kept her" | | 2 | "The suspect—lean, hooded, carrying a" | | 3 | "Quinn pushed off a lamppost" | | 4 | "Her leather watch, worn thin" | | 5 | "She ignored the temptation of" | | 6 | "She caught sight of him" | | 7 | "Her heart hammered not with" | | 8 | "The supernatural origins of that" | | 9 | "She did not chase for" | | 10 | "She chased because someone always" | | 11 | "The suspect reached the wind-bitten" | | 12 | "Here, beneath the skull of" | | 13 | "He reached into his coat" | | 14 | "The doors, long welded shut" | | 15 | "Rain plastered her closely cropped" | | 16 | "Her brown eyes narrowed as" | | 17 | "She knew the entry requirement" | | 18 | "She had none." | | 19 | "The man slipped inside, swallowed" |
| | ratio | 0.814 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 86 | | matches | | 0 | "To follow was to step" | | 1 | "Now she stood at the" |
| | ratio | 0.023 | |
| 4.61% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 62 | | technicalSentenceCount | 12 | | matches | | 0 | "The suspect—lean, hooded, carrying a satchel that clinked with glass—rounded the corner past a shuttered bakery and bolted north." | | 1 | "She ignored the temptation of its warmth; the man ahead had already vanished into the mouth of an alley that smelled of damp brick and old smoke." | | 2 | "She caught sight of him turning onto a side road, his hood whipping back just long enough to reveal sharp cheekbones she recognized from case files—an informant…" | | 3 | "Her brown eyes narrowed as she studied the threshold: the Veil Market, according to whispers in her files—an underground black market that sold enchanted goods,…" | | 4 | "Lanterns burned with flames that cast no smoke, illuminating stalls piled with goods she half-recognized and half-feared." | | 5 | "Enchanted goods rested in velvet-lined cases—rings that hummed, mirrors that refused to reflect, bones carved with languages dead before Rome." | | 6 | "She found him near a stall that sold memories in crystal vials." | | 7 | "She had been there before, asking questions that earned her silence." | | 8 | "Instead, she placed her hand—firm, unyielding—on his shoulder, guiding him back through the maze of tents, past the glowing vials, past the masked merchants who…" | | 9 | "Quinn almost smiled, though her expression remained sharp, her hair plastered flat, her leather watch ticking with the relentless patience of someone who had wa…" | | 10 | "Tomás Herrera—she recognized the name from her files, the former paramedic from Seville, the man who had lost his license for treating supernatural patients—loo…" | | 11 | "Together, they turned into the dark streets of London, the green neon of The Raven's Nest flickering in the distance like a signal fire, the Veil Market sealed …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 8 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 17 | | tagDensity | 0.471 | | leniency | 0.941 | | rawRatio | 0 | | effectiveRatio | 0 | |