| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 18 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 95.91% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1223 | | 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) | |
| 63.21% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1223 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "weight" | | 1 | "flicker" | | 2 | "whisper" | | 3 | "warmth" | | 4 | "pulse" | | 5 | "reminder" |
| |
| 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 | 46 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 46 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 56 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 92 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1192 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 5 | | unquotedAttributions | 0 | | matches | (empty) | |
| 81.97% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 53 | | wordCount | 1029 | | uniqueNames | 17 | | maxNameDensity | 1.36 | | worstName | "Aurora" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Aurora" | | discoveredNames | | Isolde | 7 | | Nyx | 7 | | London | 2 | | Aurora | 14 | | Heartstone | 4 | | Silas | 1 | | Golden | 2 | | Empress | 2 | | Veil | 1 | | Grove | 1 | | Belphegor | 2 | | Cardiff | 2 | | Evan | 1 | | Hel | 1 | | Fae | 3 | | Dymas | 1 | | Fae-Forged | 2 |
| | persons | | 0 | "Isolde" | | 1 | "Nyx" | | 2 | "Aurora" | | 3 | "Heartstone" | | 4 | "Silas" | | 5 | "Empress" | | 6 | "Grove" | | 7 | "Belphegor" | | 8 | "Evan" | | 9 | "Hel" |
| | places | | 0 | "London" | | 1 | "Golden" | | 2 | "Cardiff" | | 3 | "Fae" | | 4 | "Dymas" | | 5 | "Fae-Forged" |
| | globalScore | 0.82 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 40 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.839 | | wordCount | 1192 | | matches | | 0 | "not to tangle with Hel’s princes or Fae exiles, but the pendant’s pulse now feels like a chain tying her to this" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 56 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 27 | | mean | 44.15 | | std | 28.82 | | cv | 0.653 | | sampleLengths | | 0 | 58 | | 1 | 85 | | 2 | 87 | | 3 | 83 | | 4 | 3 | | 5 | 27 | | 6 | 6 | | 7 | 41 | | 8 | 24 | | 9 | 67 | | 10 | 7 | | 11 | 5 | | 12 | 48 | | 13 | 31 | | 14 | 72 | | 15 | 8 | | 16 | 33 | | 17 | 33 | | 18 | 47 | | 19 | 21 | | 20 | 52 | | 21 | 1 | | 22 | 60 | | 23 | 43 | | 24 | 79 | | 25 | 91 | | 26 | 80 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 46 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 165 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 22 | | semicolonCount | 2 | | flaggedSentences | 18 | | totalSentences | 56 | | ratio | 0.321 | | matches | | 0 | "She yanks it free, fingers brushing the stone’s rough bark—where her bag’s metal clasp leaves a thin crescent scratch, matching the scar on her left wrist." | | 1 | "Nyx floats beside Aurora, half-incorporeal; their violet-glowing eyes flicker as they slip through a patch of shadow cast by the next oak stone." | | 2 | "Aurora’s Heartstone pendant—deep crimson gem on a thin silver chain—pulses faintly against her chest, warm enough to seep through her delivery uniform’s cotton fabric." | | 3 | "Her phone buzzes once, then dies—its screen going black before she can check the time (she was late for her bar flat rent, but Silas had waved it off that morning)." | | 4 | "Wildflowers bloom at her feet—tulips with scarlet petals, snowdrops dusted with fake frost, poppies bleeding orange—all tangled together as if the seasons have smashed into one another." | | 5 | "She kneels, brushing a snowdrop’s delicate petal with her thumb; it melts under her touch, leaving a sticky residue that tastes of honey when she licks it from her finger." | | 6 | "She speaks in riddles, as always—her voice soft but sharp, like a shard of ice." | | 7 | "She yanks it free, staring at the Heartstone’s faint inner glow—brighter now, pulsing in time with the hum in her bones." | | 8 | "Aurora steps toward the crack, her fingers brushing its rough edges. The hum in her bones grows louder, and she can almost hear faint laughter—high-pitched, greedy—carried through the rift’s thin opening. She pulls back, her breath catching in her throat. She’d fled Cardiff to escape Evan’s fists, not to tangle with Hel’s princes or Fae exiles, but the pendant’s pulse now feels like a chain tying her to this strange, alien place." | | 9 | "Isolde turns, picking a wildflower from the ground—its petals are black, matching Nyx’s shadowy form—and tucks it behind Aurora’s ear. The flower’s stem pricks her skin, leaving a tiny red dot that tingles." | | 10 | "Gluttony’s chefs crave mortals with unbroken wills—their souls spice the grand feasts." | | 11 | "Nyx’s form flickers out, then back in—their violet eyes glowing brighter now, as if they sense something Aurora can’t. They drift toward the clearing’s center, where an ancient oak tree stands taller than the rest, its branches twisted into a canopy that blocks out the strange light." | | 12 | "A soul bound to Dymas—helbound, contracted to hunt the Heartstone." | | 13 | "Isolde doesn’t answer. She stares at the oak standing stones, her silver hair blowing in a wind that doesn’t touch Aurora’s black shoulder-length hair. The hum in Aurora’s bones grows louder, and she can feel the time shift again—her throat goes dry, as if hours have passed in seconds, and her jacket’s sleeve feels too tight, as if she’s shrunk." | | 14 | "Belphegor’s most skilled—he steals mortals to use as ingredients in his grand feasts." | | 15 | "Aurora’s wrist scar tingles, a faint reminder of her childhood accident—she’d fallen from a tree in Cardiff, cutting her wrist on a broken branch. She’d thought it was a silly mistake, but now it feels like a warning, a mark that tells the chef she’s a target. She glances at the oak standing stones, looking for a way out—but the boundary’s gnarled bark now looks like a cage, not a door, the crescent scratch she left glowing faintly red." | | 16 | "The hum in her bones peaks. A faint amber glow bursts from the crack in the nearest oak standing stone—matching Dymas’ warm amber sky color. A shadow lurches through the crack, its form a tall humanoid with a chef’s apron stained with dark liquid. Its eyes glow red, and it carries a cleaver made of black iron, its edge dripping with a thick, syrupy substance that smells of burnt sugar and blood. The chef’s mouth twists into a grin, revealing sharp, yellow teeth, and he raises the cleaver above his head." | | 17 | "Aurora draws the Fae-Forged blade, its faint moonlight glow cutting through the amber light. The chef’s cleaver swings toward her, and she ducks—her delivery bag slamming into the ground, spilling containers of Golden Empress fried rice across the wildflower-strewn earth. The rice’s savory scent mixes with the chef’s burnt sugar stench, a sickening combination that makes her gag. The chef’s cleaver crashes into the oak tree behind her, splitting its bark and sending a shower of splinters into the air." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 798 | | adjectiveStacks | 1 | | stackExamples | | 0 | "slender, leaf-shaped dagger" |
| | adverbCount | 17 | | adverbRatio | 0.021303258145363407 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.006265664160401002 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 56 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 56 | | mean | 21.29 | | std | 20.51 | | cv | 0.964 | | sampleLengths | | 0 | 17 | | 1 | 26 | | 2 | 15 | | 3 | 18 | | 4 | 20 | | 5 | 23 | | 6 | 24 | | 7 | 12 | | 8 | 31 | | 9 | 22 | | 10 | 22 | | 11 | 2 | | 12 | 27 | | 13 | 30 | | 14 | 24 | | 15 | 3 | | 16 | 12 | | 17 | 15 | | 18 | 6 | | 19 | 21 | | 20 | 20 | | 21 | 24 | | 22 | 12 | | 23 | 21 | | 24 | 34 | | 25 | 7 | | 26 | 5 | | 27 | 10 | | 28 | 15 | | 29 | 23 | | 30 | 6 | | 31 | 5 | | 32 | 12 | | 33 | 1 | | 34 | 7 | | 35 | 72 | | 36 | 2 | | 37 | 6 | | 38 | 33 | | 39 | 8 | | 40 | 12 | | 41 | 5 | | 42 | 8 | | 43 | 47 | | 44 | 2 | | 45 | 10 | | 46 | 9 | | 47 | 52 | | 48 | 1 | | 49 | 60 |
| |
| 72.02% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.4642857142857143 | | totalSentences | 56 | | uniqueOpeners | 26 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 44 | | matches | (empty) | | ratio | 0 | |
| 92.73% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 14 | | totalSentences | 44 | | matches | | 0 | "She yanks it free, fingers" | | 1 | "She flinches, tucking her wrist" | | 2 | "She leaves no footprints in" | | 3 | "She follows Isolde past the" | | 4 | "Her phone buzzes once, then" | | 5 | "She kneels, brushing a snowdrop’s" | | 6 | "She speaks in riddles, as" | | 7 | "She yanks it free, staring" | | 8 | "She’d received the pendant from" | | 9 | "They tilt their roughly" | | 10 | "Its warmth flags Veil rifts." | | 11 | "You ran from one cage." | | 12 | "I can smell their spiced" | | 13 | "He binds their souls to" |
| | ratio | 0.318 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 41 | | totalSentences | 44 | | matches | | 0 | "Aurora’s delivery bag snagged on" | | 1 | "She yanks it free, fingers" | | 2 | "She flinches, tucking her wrist" | | 3 | "Isolde leads the way, her" | | 4 | "She leaves no footprints in" | | 5 | "Nyx floats beside Aurora, half-incorporeal;" | | 6 | "Aurora’s Heartstone pendant—deep crimson gem" | | 7 | "She follows Isolde past the" | | 8 | "Her phone buzzes once, then" | | 9 | "The air thickens, carrying the" | | 10 | "Wildflowers bloom at her feet—tulips" | | 11 | "She kneels, brushing a snowdrop’s" | | 12 | "The grass crunches softly under" | | 13 | "Isolde pauses, her pale lavender" | | 14 | "She speaks in riddles, as" | | 15 | "Nyx’s whisper carries on the" | | 16 | "The shadowy edges of their" | | 17 | "Aurora stands, her delivery bag’s" | | 18 | "She yanks it free, staring" | | 19 | "She’d received the pendant from" |
| | ratio | 0.932 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 44 | | matches | | | ratio | 0.023 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 33 | | technicalSentenceCount | 10 | | matches | | 0 | "Isolde leads the way, her silver waist-length hair catching a light that doesn’t come from the London sky." | | 1 | "Wildflowers bloom at her feet—tulips with scarlet petals, snowdrops dusted with fake frost, poppies bleeding orange—all tangled together as if the seasons have …" | | 2 | "She kneels, brushing a snowdrop’s delicate petal with her thumb; it melts under her touch, leaving a sticky residue that tastes of honey when she licks it from …" | | 3 | "The grass crunches softly under her knees, dry and crisp despite the damp earth beneath, a strange contradiction that makes her tilt her head." | | 4 | "Aurora steps toward the crack, her fingers brushing its rough edges. The hum in her bones grows louder, and she can almost hear faint laughter—high-pitched, gre…" | | 5 | "Isolde turns, picking a wildflower from the ground—its petals are black, matching Nyx’s shadowy form—and tucks it behind Aurora’s ear. The flower’s stem pricks …" | | 6 | "Nyx’s form flickers out, then back in—their violet eyes glowing brighter now, as if they sense something Aurora can’t. They drift toward the clearing’s center, …" | | 7 | "Isolde doesn’t answer. She stares at the oak standing stones, her silver hair blowing in a wind that doesn’t touch Aurora’s black shoulder-length hair. The hum …" | | 8 | "Aurora’s wrist scar tingles, a faint reminder of her childhood accident—she’d fallen from a tree in Cardiff, cutting her wrist on a broken branch. She’d thought…" | | 9 | "Aurora draws the Fae-Forged blade, its faint moonlight glow cutting through the amber light. The chef’s cleaver swings toward her, and she ducks—her delivery ba…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |