| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 16 | | tagDensity | 0.188 | | leniency | 0.375 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1096 | | 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) | |
| 36.13% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1096 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "pulsed" | | 1 | "weight" | | 2 | "stark" | | 3 | "whisper" | | 4 | "scanned" | | 5 | "echoed" | | 6 | "intricate" | | 7 | "gleaming" | | 8 | "glinting" | | 9 | "etched" | | 10 | "warmth" |
| |
| 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 | 0 | | narrationSentences | 45 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 45 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 59 | | 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 | 0 | | markdownWords | 0 | | totalWords | 1070 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 3 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 36 | | wordCount | 878 | | uniqueNames | 12 | | maxNameDensity | 1.14 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Rory" | | discoveredNames | | Isolde | 6 | | Heartstone | 3 | | Hel | 1 | | London | 3 | | Veil | 1 | | Nyx | 7 | | Golden | 1 | | Empress | 1 | | Rory | 10 | | Fae | 1 | | Cardiff | 1 | | Evan | 1 |
| | persons | | 0 | "Isolde" | | 1 | "Heartstone" | | 2 | "Veil" | | 3 | "Nyx" | | 4 | "Rory" | | 5 | "Evan" |
| | places | | | globalScore | 0.931 | | windowScore | 0.833 | |
| 36.36% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 44 | | glossingSentenceCount | 2 | | matches | | 0 | "felt like a blast of frigid air, even t" | | 1 | "as if fearing someone would overhear" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1070 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 59 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 25 | | mean | 42.8 | | std | 24.79 | | cv | 0.579 | | sampleLengths | | 0 | 13 | | 1 | 83 | | 2 | 77 | | 3 | 76 | | 4 | 6 | | 5 | 10 | | 6 | 36 | | 7 | 24 | | 8 | 56 | | 9 | 59 | | 10 | 40 | | 11 | 23 | | 12 | 22 | | 13 | 4 | | 14 | 56 | | 15 | 26 | | 16 | 66 | | 17 | 66 | | 18 | 19 | | 19 | 25 | | 20 | 82 | | 21 | 64 | | 22 | 28 | | 23 | 61 | | 24 | 48 |
| |
| 89.67% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 45 | | matches | | 0 | "were covered" | | 1 | "was etched" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 153 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 3 | | flaggedSentences | 16 | | totalSentences | 59 | | ratio | 0.271 | | matches | | 0 | "Nyx’s shadow form coiled beside her, their faintly glowing violet eyes fixed on the portal’s faint shimmer—proof the Veil’s winter solstice weakening had torn a wider rift than usual." | | 1 | "Rory stumbled forward, the dagger’s cold weight still in her hand, and Nyx shifted to solid form to catch her elbow—their touch felt like a blast of frigid air, even through her coat." | | 2 | "Copper stung her nostrils first—then a flood of cloying sweet scents: over-ripe peaches, fermenting grape juice, honey thick enough to coat the tongue." | | 3 | "The passage’s rough, weathered walls were covered in carvings of feasts—people gorging themselves on exotic fruits and steaming meats until they collapsed, their faces twisted in hollow pleasure." | | 4 | "Rory’s black shoulder-length hair brushed a vine, and the nectar’s stickiness made her flinch—she wiped it on her delivery uniform’s stained apron, the Golden Empress logo peeking out from under her coat." | | 5 | "“Sweet fruit hides bitter seeds; warm skies mask cold chains.”" | | 6 | "Isolde’s pale lavender eyes narrowed—she couldn’t lie, but she tilted her head to the side, a misdirection." | | 7 | "The sweetness hit first—overpowering, like eating a jar of jam in one bite—then a sharp, bitter aftertaste curled into her throat, making her gag." | | 8 | "Rory nodded, her small crescent-shaped scar on her left wrist twitching—a nervous tic she’d developed after fleeing her abusive ex." | | 9 | "“Deals with Hel’s princes are threads that snare; none unweave them without a price.”" | | 10 | "Rory’s quick out-of-the-box thinking kicked in—she scanned the vineyard for a hiding spot, her eyes landing on a stack of wooden crates tucked between two rows of grapes." | | 11 | "“The glutton’s eye sees all crumbs; none escape his plate.”" | | 12 | "But her cool-headed nature kept her focused—she needed to figure out why the Heartstone had led her here, who’d given it to her, and how to get back to London before the rift closed." | | 13 | "His armor was etched with the same iron crest Nyx had described, and his face was a twisted mask of gluttony—chubby cheeks stretched tight over a feral grin, his eyes bulging with greed." | | 14 | "A piece of stone grazed her arm, and she winced—she wiped the blood on her apron, the sting sharpening her focus." | | 15 | "The Heartstone flared bright crimson, its warmth burning through her throat, and the guard’s gaze locked on the pendant—his grin widening into a feral snarl as he realized the artifact’s origin." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 676 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small crescent-shaped scar" |
| | adverbCount | 10 | | adverbRatio | 0.014792899408284023 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.0014792899408284023 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 59 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 59 | | mean | 18.14 | | std | 8.7 | | cv | 0.48 | | sampleLengths | | 0 | 13 | | 1 | 30 | | 2 | 29 | | 3 | 24 | | 4 | 3 | | 5 | 33 | | 6 | 23 | | 7 | 18 | | 8 | 16 | | 9 | 28 | | 10 | 32 | | 11 | 6 | | 12 | 10 | | 13 | 10 | | 14 | 15 | | 15 | 11 | | 16 | 17 | | 17 | 7 | | 18 | 14 | | 19 | 22 | | 20 | 20 | | 21 | 10 | | 22 | 24 | | 23 | 25 | | 24 | 15 | | 25 | 21 | | 26 | 4 | | 27 | 20 | | 28 | 3 | | 29 | 12 | | 30 | 10 | | 31 | 4 | | 32 | 38 | | 33 | 18 | | 34 | 12 | | 35 | 14 | | 36 | 23 | | 37 | 17 | | 38 | 26 | | 39 | 28 | | 40 | 19 | | 41 | 19 | | 42 | 9 | | 43 | 10 | | 44 | 11 | | 45 | 14 | | 46 | 17 | | 47 | 31 | | 48 | 34 | | 49 | 14 |
| |
| 60.45% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.3728813559322034 | | totalSentences | 59 | | uniqueOpeners | 22 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 45 | | matches | (empty) | | ratio | 0 | |
| 77.78% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 16 | | totalSentences | 45 | | matches | | 0 | "She blinked against the warm" | | 1 | "They’d stepped into a narrow" | | 2 | "They nodded at the carvings," | | 3 | "She stepped forward, Nyx’s shadow" | | 4 | "She plucked a grape and" | | 5 | "She spat it out onto" | | 6 | "His calloused hands clamped around" | | 7 | "He glanced over his shoulder," | | 8 | "They returned seconds later, solid" | | 9 | "She’d fled Cardiff to escape" | | 10 | "She stepped toward the wooden" | | 11 | "His armor was etched with" | | 12 | "He roared, a sound that" | | 13 | "He lunged at Rory, his" | | 14 | "She darted to the side," | | 15 | "He lifted his mace again," |
| | ratio | 0.356 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 43 | | totalSentences | 45 | | matches | | 0 | "Rory jammed Isolde’s moonsilver dagger" | | 1 | "The Heartstone pendant’s deep crimson" | | 2 | "Nyx’s shadow form coiled beside" | | 3 | "Isolde stood just beyond the" | | 4 | "The latch snapped." | | 5 | "Rory stumbled forward, the dagger’s" | | 6 | "Copper stung her nostrils first—then" | | 7 | "She blinked against the warm" | | 8 | "They’d stepped into a narrow" | | 9 | "The passage’s rough, weathered walls" | | 10 | "Rory’s black shoulder-length hair brushed" | | 11 | "Nyx’s whisper carried on the" | | 12 | "They nodded at the carvings," | | 13 | "Isolde’s pale lavender eyes narrowed—she" | | 14 | "Rory’s cool-headed gaze scanned the" | | 15 | "She stepped forward, Nyx’s shadow" | | 16 | "A low clink-clank of goblets" | | 17 | "She plucked a grape and" | | 18 | "The sweetness hit first—overpowering, like" | | 19 | "She spat it out onto" |
| | ratio | 0.956 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 45 | | matches | (empty) | | ratio | 0 | |
| 3.48% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 41 | | technicalSentenceCount | 8 | | matches | | 0 | "They’d stepped into a narrow stone passage lined with crawling ivy that dripped thick, syrupy nectar." | | 1 | "She stepped forward, Nyx’s shadow coiling at her heels, and emerged into rows of plump, purple grapes that glistened like polished gemstones." | | 2 | "A low clink-clank of goblets drifted from the distance, mixed with faint, hollow laughter that echoed off distant stone walls." | | 3 | "The sweetness hit first—overpowering, like eating a jar of jam in one bite—then a sharp, bitter aftertaste curled into her throat, making her gag." | | 4 | "She spat it out onto the dirt, and the grape dissolved into a black slime that seeped into the ground, leaving a faint, acrid smell." | | 5 | "They returned seconds later, solid and tall, their voice a faint whisper that made Rory’s skin prickle." | | 6 | "But her cool-headed nature kept her focused—she needed to figure out why the Heartstone had led her here, who’d given it to her, and how to get back to London b…" | | 7 | "The Heartstone flared bright crimson, its warmth burning through her throat, and the guard’s gaze locked on the pendant—his grin widening into a feral snarl as …" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 2 | | matches | | 0 | "He glanced, as if fearing someone would overhear" | | 1 | "Isolde said, her riddle sharp now" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 16 | | tagDensity | 0.063 | | leniency | 0.125 | | rawRatio | 0 | | effectiveRatio | 0 | |