| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 1 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 94.61% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1857 | | 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) | |
| 16.53% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1857 | | totalAiIsms | 31 | | found | | | highlights | | 0 | "warmth" | | 1 | "pulse" | | 2 | "weight" | | 3 | "glistening" | | 4 | "whisper" | | 5 | "tracing" | | 6 | "glint" | | 7 | "silk" | | 8 | "glinting" | | 9 | "looms" | | 10 | "rhythmic" | | 11 | "reminder" | | 12 | "velvet" | | 13 | "racing" | | 14 | "flicker" |
| |
| 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 | 81 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 81 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 81 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 85 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1825 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 85.32% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 76 | | wordCount | 1778 | | uniqueNames | 18 | | maxNameDensity | 1.29 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Isolde" | | discoveredNames | | Heartstone | 4 | | Pendant | 4 | | Golden | 1 | | Empress | 1 | | Isolde | 12 | | Veil | 3 | | Hel | 2 | | Rory | 23 | | Wardens | 1 | | Dymas | 2 | | Fae-Forged | 2 | | Blade | 2 | | Fae | 3 | | Prince | 1 | | Belphegor | 1 | | Cardiff | 1 | | Nyx | 10 | | Helbound | 3 |
| | persons | | 0 | "Empress" | | 1 | "Isolde" | | 2 | "Veil" | | 3 | "Hel" | | 4 | "Rory" | | 5 | "Blade" | | 6 | "Prince" | | 7 | "Belphegor" | | 8 | "Nyx" |
| | places | | 0 | "Golden" | | 1 | "Dymas" | | 2 | "Fae-Forged" | | 3 | "Fae" | | 4 | "Cardiff" | | 5 | "Helbound" |
| | globalScore | 0.853 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 69 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1825 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 81 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 52 | | mean | 35.1 | | std | 19.08 | | cv | 0.544 | | sampleLengths | | 0 | 102 | | 1 | 7 | | 2 | 7 | | 3 | 3 | | 4 | 21 | | 5 | 31 | | 6 | 36 | | 7 | 32 | | 8 | 88 | | 9 | 29 | | 10 | 34 | | 11 | 47 | | 12 | 38 | | 13 | 43 | | 14 | 73 | | 15 | 25 | | 16 | 51 | | 17 | 40 | | 18 | 29 | | 19 | 41 | | 20 | 84 | | 21 | 30 | | 22 | 25 | | 23 | 25 | | 24 | 37 | | 25 | 31 | | 26 | 25 | | 27 | 17 | | 28 | 39 | | 29 | 28 | | 30 | 14 | | 31 | 33 | | 32 | 20 | | 33 | 41 | | 34 | 23 | | 35 | 52 | | 36 | 36 | | 37 | 7 | | 38 | 23 | | 39 | 35 | | 40 | 41 | | 41 | 21 | | 42 | 55 | | 43 | 24 | | 44 | 31 | | 45 | 24 | | 46 | 33 | | 47 | 51 | | 48 | 41 | | 49 | 46 |
| |
| 96.60% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 81 | | matches | | 0 | "been scraped" | | 1 | "was hidden" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 282 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 27 | | semicolonCount | 13 | | flaggedSentences | 34 | | totalSentences | 81 | | ratio | 0.42 | | matches | | 0 | "She shifts her delivery bag’s strap higher on her shoulder—still dusted with flour from the Golden Empress’s morning dumplings—and glares at the faint shimmering distortion winking between two ancient oak standing stones marking Isolde’s grove boundary." | | 1 | "Vine’s breath lures the hungry, scar’s weight anchors the lost; the amber gate eats time but spits back what it costs." | | 2 | "The Veil’s tear reeks of excess—Hel’s gluttony clings to every wisp of energy." | | 3 | "Vineyards strung with grapes the color of crushed amethyst curl up sloping hills, their leaves glistening with a dew that catches the strange light and drips into soil that hums with a low, thrumming energy. Orchards burst with fruit she’s never seen—melon-sized orbs striped with emerald and gold, their rinds glowing faintly, their scent a mix of burnt honey and jasmine. A river of thick, syrupy nectar twists through the valleys, its surface dotted with floating wine goblets that clink together without wind." | | 4 | "A figure slumps past her—thin, gaunt, their skin a sickly gray, their hands calloused from tending vines. They don’t glance at her; their eyes are blank, as if their thoughts have been scraped clean." | | 5 | "They signed contracts for taste—traded their mortal freedom for a lifetime of plucking fruit no human tongue can bear without madness." | | 6 | "The fruit’s song hooks the greedy, the lost’s chains feed the vine; the prince’s table waits for those who won’t decline." | | 7 | "A grand feast unfolds on a hilltop ahead—long tables heaped with pastries tall enough to touch the amber sky, roasts of exotic beasts with scales that glint like polished copper, bowls of jellies that shift color with every breath. Figures in elaborate silk robes laugh and gorge themselves, their mouths stuffed with food, their eyes wild with excess. Helbound souls weave between the tables, refilling goblets and replacing empty plates without a word." | | 8 | "She spots a warden’s badge glinting on one of the feast’s servers—a small, silver token she’s seen pinned to the coats of men who patrolled the park’s rift points. The server’s eyes are blank, too; the badge hangs loose, as if it’s a leftover from a life they no longer remember." | | 9 | "The wardens didn’t catch this rift—its pulse was hidden by the grove’s time warp." | | 10 | "The rift’s hide is the grove’s breath, the pendant’s beat is the door’s key; the prince’s secret waits where the nectar runs free." | | 11 | "Rory follows the river of nectar upstream, away from the feast’s chaos. The vineyards thicken here, their amethyst grapes clinging so tightly to the branches they bend under the weight. A giant tree looms ahead—its trunk wide enough to fit three of her side by side, its branches dripping with fruit that glows like molten ruby. Helbound souls circle the tree, their hands moving in a rhythmic pattern as they pluck the ruby fruit and toss it into wicker baskets that float beside them." | | 12 | "She notices a crack in the tree’s trunk—faint, shimmering, the same color as the Veil’s rift. Her pendant pulses so hard she can feel it through her coat." | | 13 | "That’s a secondary rift—leads deeper into Dymas, to the prince’s private gardens." | | 14 | "The crack’s breath is the prince’s greed, the soul’s toil is the fruit’s seed; the blade’s cold will cut what the pendant’s heat will feed." | | 15 | "Rory’s hand flies to the Fae-Forged Blade she tucked into her delivery bag—Isolde’s gift, moonsilver, always cold to the touch. She’d forgotten it was there until Isolde’s riddle triggered the memory." | | 16 | "A helbound soul drifts to her side, their gray hand holding out a ruby fruit. They don’t speak; their blank eyes fix on her scar." | | 17 | "The gardens hold more than fruit—they hold the contract that binds these souls to the prince." | | 18 | "The time’s thread is fraying, the rift’s breath is weak; the choice’s weight is the scar’s silent speak." | | 19 | "Nyx drifts beside her, their shadow form wrapping around her arm for a heartbeat—cold, like the Fae blade—before shifting back to incorporeal." | | 20 | "The souls’ memories are trapped in the garden’s flowers; we can free them if we find the prince’s ledger." | | 21 | "A giant butterfly flutters past her—its wings the color of burnt amber, its body made of swirling shadow. It lands on her delivery bag, and her pendant pulses once, twice, before settling into a faint warmth." | | 22 | "That’s a messenger of Prince Belphegor—he knows we’re here." | | 23 | "The messenger’s song is the prince’s gaze, the blade’s cut is the cage’s haze; the memory’s key is the scar’s hidden blaze." | | 24 | "Rory clutches her left wrist, her crescent scar throbbing. She’d never thought her childhood accident’s mark would mean anything more than a reminder of a broken bike and a bloody knee. Now, it’s tied to the pendant, the blade, the rift—everything." | | 25 | "She plucks the butterfly from her bag. It doesn’t flutter away; it sits in her palm, its shadowy body warming slightly." | | 26 | "She takes another step deeper into the prince’s private gardens. The vineyards give way to a garden of giant flowers—their petals the color of crushed velvet, their centers oozing a sweet nectar that drips into the soil. Helbound souls tend to the flowers, their hands moving in the same rhythmic pattern as the fruit pickers." | | 27 | "A grand palace looms ahead—its walls made of polished amber, its towers twisting toward the darkening sky. Goblets float around its entrance, their wine glinting like liquid fire." | | 28 | "The ledger’s in the palace’s library—tied to a vine that grows through the window." | | 29 | "The palace’s doors are the greed’s gate, the ledger’s words are the souls’ fate; the scar’s fire is the escape’s date." | | 30 | "Rory grips the Fae-Forged Blade’s hilt through her delivery bag. The blade’s cold seeps through the fabric, calming her racing heart. She’s a delivery person from Cardiff, a pre-law dropout who fled an abusive ex—she’s not a hero. But her quick thinking has gotten her out of tighter spots than this." | | 31 | "A helbound soul stands guard at the doors—tall, broad, their skin a sickly gray, their hand resting on a sword hilt that glints like molten iron. They don’t glance at her; their eyes are blank." | | 32 | "She pulls the Heartstone Pendant from under her coat, holding it up to the guard’s blank eyes. The gem’s crimson glow catches their attention—for a heartbeat, their eyes flicker with a faint memory, a flash of a mortal life before they signed their contract." | | 33 | "That’s the first crack in their chains—we can widen it." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 177 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 2 | | adverbRatio | 0.011299435028248588 | | lyAdverbCount | 0 | | lyAdverbRatio | 0 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 81 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 81 | | mean | 22.53 | | std | 16.74 | | cv | 0.743 | | sampleLengths | | 0 | 27 | | 1 | 36 | | 2 | 18 | | 3 | 21 | | 4 | 7 | | 5 | 7 | | 6 | 3 | | 7 | 21 | | 8 | 15 | | 9 | 7 | | 10 | 9 | | 11 | 23 | | 12 | 13 | | 13 | 32 | | 14 | 5 | | 15 | 83 | | 16 | 2 | | 17 | 27 | | 18 | 34 | | 19 | 26 | | 20 | 21 | | 21 | 17 | | 22 | 21 | | 23 | 43 | | 24 | 73 | | 25 | 25 | | 26 | 51 | | 27 | 26 | | 28 | 14 | | 29 | 29 | | 30 | 18 | | 31 | 23 | | 32 | 84 | | 33 | 2 | | 34 | 28 | | 35 | 25 | | 36 | 13 | | 37 | 12 | | 38 | 12 | | 39 | 25 | | 40 | 31 | | 41 | 25 | | 42 | 4 | | 43 | 13 | | 44 | 23 | | 45 | 16 | | 46 | 28 | | 47 | 14 | | 48 | 15 | | 49 | 18 |
| |
| 46.30% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.14814814814814814 | | totalSentences | 81 | | uniqueOpeners | 12 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 76 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 17 | | totalSentences | 76 | | matches | | 0 | "She shifts her delivery bag’s" | | 1 | "She taps the gem with" | | 2 | "They step through the rift" | | 3 | "She plucks a gold-striped orb" | | 4 | "They signed contracts for taste—traded" | | 5 | "She spots a warden’s badge" | | 6 | "She notices a crack in" | | 7 | "She leans in, her scar" | | 8 | "Its skin is warm, like" | | 9 | "She places a boot on" | | 10 | "She takes another step into" | | 11 | "She stares at the butterfly." | | 12 | "She plucks the butterfly from" | | 13 | "She takes another step deeper" | | 14 | "She looks up." | | 15 | "She steps toward the palace’s" | | 16 | "She pulls the Heartstone Pendant" |
| | ratio | 0.224 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 76 | | totalSentences | 76 | | matches | | 0 | "Rory clutches the crimson Heartstone" | | 1 | "She shifts her delivery bag’s" | | 2 | "Isolde stands beside her, silver" | | 3 | "Nyx drifts a foot off" | | 4 | "The pendant flutters like a" | | 5 | "Rory’s fingers curl tighter around" | | 6 | "The stones hum." | | 7 | "Vine’s breath lures the hungry," | | 8 | "Rory’s quick thinking ties the" | | 9 | "She taps the gem with" | | 10 | "The cost’s tied to the" | | 11 | "Nyx solidifies, their" | | 12 | "The Veil’s tear reeks of" | | 13 | "They step through the rift" | | 14 | "Amber bleeds over the horizon." | | 15 | "Vineyards strung with grapes the" | | 16 | "She plucks a gold-striped orb" | | 17 | "A figure slumps past her—thin," | | 18 | "Nyx shifts to incorporeal form," | | 19 | "They signed contracts for taste—traded" |
| | ratio | 1 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 76 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 63 | | technicalSentenceCount | 17 | | matches | | 0 | "They step through the rift first, their shadow form flickering as they breach the barrier. Rory follows, her boots hitting soil that thrums under her soles. Iso…" | | 1 | "Vineyards strung with grapes the color of crushed amethyst curl up sloping hills, their leaves glistening with a dew that catches the strange light and drips in…" | | 2 | "She plucks a gold-striped orb from a low-hanging branch. Its skin gives under her fingers, oozing a clear liquid that stings her scar when a drop falls." | | 3 | "A figure slumps past her—thin, gaunt, their skin a sickly gray, their hands calloused from tending vines. They don’t glance at her; their eyes are blank, as if …" | | 4 | "Rory drops the orb. It splatters on the soil, and the hum of the ground intensifies for a heartbeat before fading. She brushes the sticky liquid from her finger…" | | 5 | "A grand feast unfolds on a hilltop ahead—long tables heaped with pastries tall enough to touch the amber sky, roasts of exotic beasts with scales that glint lik…" | | 6 | "Rory’s pendant pulses faster, its warmth spreading up her neck to her jaw. She clutches it, her scar throbbing in time with the gem’s beat." | | 7 | "She spots a warden’s badge glinting on one of the feast’s servers—a small, silver token she’s seen pinned to the coats of men who patrolled the park’s rift poin…" | | 8 | "Rory follows the river of nectar upstream, away from the feast’s chaos. The vineyards thicken here, their amethyst grapes clinging so tightly to the branches th…" | | 9 | "Rory tucks the fruit into her delivery bag, her fingers brushing the cold moonsilver blade. She clutches the Heartstone Pendant, her scar throbbing in time with…" | | 10 | "The amber sky darkens a fraction, as if the realm itself is watching them." | | 11 | "Rory glances at the helbound soul still standing beside her. They’ve turned back to the giant tree, their hands resuming their rhythmic plucking." | | 12 | "She takes another step into the secondary rift’s other side. The vineyards here are thicker, the fruit glows brighter, and the hum of the soil is louder. She ca…" | | 13 | "She takes another step deeper into the prince’s private gardens. The vineyards give way to a garden of giant flowers—their petals the color of crushed velvet, t…" | | 14 | "A grand palace looms ahead—its walls made of polished amber, its towers twisting toward the darkening sky. Goblets float around its entrance, their wine glintin…" | | 15 | "Rory grips the Fae-Forged Blade’s hilt through her delivery bag. The blade’s cold seeps through the fabric, calming her racing heart. She’s a delivery person fr…" | | 16 | "A helbound soul stands guard at the doors—tall, broad, their skin a sickly gray, their hand resting on a sword hilt that glints like molten iron. They don’t gla…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |