| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 30 | | adverbTagCount | 1 | | adverbTags | | 0 | "they walked back [back]" |
| | dialogueSentences | 36 | | tagDensity | 0.833 | | leniency | 1 | | rawRatio | 0.033 | | effectiveRatio | 0.033 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1630 | | 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) | |
| 53.99% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1630 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "shattered" | | 1 | "pulse" | | 2 | "flicker" | | 3 | "reminder" | | 4 | "footsteps" | | 5 | "glistening" | | 6 | "flickered" | | 7 | "echoing" | | 8 | "wavering" | | 9 | "tangible" | | 10 | "pulsed" |
| |
| 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 | 51 | | matches | (empty) | |
| 30.81% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 1 | | narrationSentences | 51 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 55 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 102 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1595 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 19 | | unquotedAttributions | 0 | | matches | (empty) | |
| 90.53% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 77 | | wordCount | 1177 | | uniqueNames | 27 | | maxNameDensity | 1.19 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Golden | 1 | | Empress | 1 | | Heartstone | 3 | | Pendant | 3 | | Richmond | 2 | | Park | 2 | | Rory | 14 | | Welsh | 1 | | Cardiff | 3 | | Pre-Law | 1 | | Evan | 1 | | Eva | 1 | | Yu-Fei | 1 | | Cheung | 1 | | Isolde | 7 | | Aldric | 3 | | Dymas | 2 | | Fae | 5 | | Grove | 3 | | November | 1 | | Earth | 1 | | Belphegor | 2 | | Veil | 5 | | Nyx | 8 | | Yu | 2 | | Fei | 2 | | Hel | 1 |
| | persons | | 0 | "Pendant" | | 1 | "Rory" | | 2 | "Evan" | | 3 | "Eva" | | 4 | "Cheung" | | 5 | "Isolde" | | 6 | "Aldric" | | 7 | "Dymas" | | 8 | "Belphegor" | | 9 | "Veil" | | 10 | "Nyx" | | 11 | "Fei" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Cardiff" | | 3 | "Fae" | | 4 | "Grove" | | 5 | "Earth" | | 6 | "Yu" | | 7 | "Hel" |
| | globalScore | 0.905 | | windowScore | 1 | |
| 41.30% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 46 | | glossingSentenceCount | 2 | | matches | | 0 | "smelled like honey and crushed mint, and t" | | 1 | "felt like an anchor—something solid in" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1595 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 55 | | matches | (empty) | |
| 93.26% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 22 | | mean | 72.5 | | std | 34.54 | | cv | 0.476 | | sampleLengths | | 0 | 139 | | 1 | 139 | | 2 | 80 | | 3 | 13 | | 4 | 66 | | 5 | 54 | | 6 | 73 | | 7 | 98 | | 8 | 53 | | 9 | 61 | | 10 | 49 | | 11 | 85 | | 12 | 62 | | 13 | 70 | | 14 | 34 | | 15 | 22 | | 16 | 114 | | 17 | 36 | | 18 | 66 | | 19 | 74 | | 20 | 69 | | 21 | 138 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 51 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 201 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 17 | | semicolonCount | 1 | | flaggedSentences | 13 | | totalSentences | 55 | | ratio | 0.236 | | matches | | 0 | "Her straight black shoulder-length hair stuck to the sweat on her neck, and she fidgeted with the silver chain of the Heartstone Pendant tucked under her collar—thumbnail-sized deep crimson gem, faint inner glow, a gift from a stranger who’d pressed it into her hand after a delivery run to a derelict warehouse last week." | | 1 | "Rory’s bright blue eyes darted to the gnarled oak standing stones ahead—ancient, their bark carved with faint, twisting marks she couldn’t place." | | 2 | "“Eva said Isolde’s the only one who can explain why this thing pulses when I pass abandoned subway tunnels,” she said, lifting her left wrist to brush the small crescent scar there—childhood accident with a broken teacup, her father’s barrister papers scattered across the kitchen table that day, her mother’s Welsh teacher’s voice softening the sting of the cut." | | 3 | "The Fae Grove burst with life that defied late November. Wildflowers bloomed in a riot—crimson poppies, snow-white daisies, deep blue bluebells—all tangled together, their petals glistening with dew that never evaporated. The air smelled like honey and crushed mint, and the sky hung low, a soft iridescent blue that didn’t match the overcast gray of Richmond Park outside. Rory knelt, her work jacket brushing the flowers, and touched a clover with four leaves; it glowed faintly under her fingers, the light seeping into her skin like a warm breath. “It’s impossible,” she murmured. “Wildflowers don’t bloom in winter.”" | | 4 | "Rory stood, brushing flower petals from her jeans, and the Heartstone Pendant began to pulse—warm, insistent, its deep crimson glow brightening until it cast a faint red hue on her collar. She gasped, yanking it from under her jacket, the silver chain digging into her neck. “It’s never done this before,” she said, her cool composure wavering for a split second." | | 5 | "Aldric’s old notes spoke of such artifacts from Dymas, carried by helbound souls who escape the vineyards of excess—chefs contracted from Earth to cook for Belphegor’s grand feasts.”" | | 6 | "The amber sky’s children crave the Fae’s breath—they slip through the Veil’s winter weakening, when it’s thinnest, to barter for freedom." | | 7 | "Rory’s eyes widened. Her childhood flat in Cardiff had been above an abandoned subway tunnel, the same one where she’d cut her wrist on the teacup—during a winter solstice, when the wind had howled so loud she’d thought the walls would cave in. “My accident,” she said, touching the crescent scar. “That was during a winter solstice." | | 8 | "The chef left the pendant to warn you—Dymas’ Prince Belphegor is sending helbound souls to find Fae-touched portals, to steal the Grove’s magic for his gluttonous feasts." | | 9 | "Rory turned the dagger over, her fingers wrapping around the hilt. The cold seeped into her bones, but it felt like an anchor—something solid in a world of shifting time and riddles. “Why me?” she asked." | | 10 | "Rory glanced at her mother’s watch. It now read 5:23 PM, but when she pulled her phone from her jacket pocket—she’d forgotten to turn it off—the lock screen showed that two days had passed since she’d left her flat above Silas’ bar. Nyx’s shadow form contracted, and they whispered, “We need to leave." | | 11 | "Your delivery shift is long over—Yu-Fei will be wondering where you are." | | 12 | "As they walked back toward the park’s exit, Rory touched the crescent scar on her wrist, then the dagger in her pocket. The Heartstone Pendant pulsed faintly under her collar, a quiet warning of the amber sky’s children waiting beyond the Veil. She was a delivery person from Cardiff, a girl who’d fled an abusive ex and a life she didn’t want—but now, she carried a blade from the Fae, a stone from Hel, and a riddle that tied her childhood scar to the fate of two realms. The wind picked up, carrying Nyx’s whispery voice: “The Veil’s weakening is coming." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 843 | | adjectiveStacks | 1 | | stackExamples | | 0 | "slender, leaf-shaped dagger," |
| | adverbCount | 14 | | adverbRatio | 0.0166073546856465 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.0011862396204033216 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 55 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 55 | | mean | 29 | | std | 21.87 | | cv | 0.754 | | sampleLengths | | 0 | 22 | | 1 | 54 | | 2 | 31 | | 3 | 16 | | 4 | 16 | | 5 | 22 | | 6 | 59 | | 7 | 28 | | 8 | 30 | | 9 | 23 | | 10 | 27 | | 11 | 22 | | 12 | 8 | | 13 | 7 | | 14 | 6 | | 15 | 13 | | 16 | 3 | | 17 | 50 | | 18 | 24 | | 19 | 17 | | 20 | 13 | | 21 | 15 | | 22 | 2 | | 23 | 14 | | 24 | 19 | | 25 | 23 | | 26 | 98 | | 27 | 53 | | 28 | 61 | | 29 | 21 | | 30 | 28 | | 31 | 37 | | 32 | 21 | | 33 | 27 | | 34 | 57 | | 35 | 5 | | 36 | 31 | | 37 | 27 | | 38 | 12 | | 39 | 34 | | 40 | 15 | | 41 | 7 | | 42 | 66 | | 43 | 48 | | 44 | 36 | | 45 | 20 | | 46 | 7 | | 47 | 28 | | 48 | 11 | | 49 | 53 |
| |
| 72.12% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.45454545454545453 | | totalSentences | 55 | | uniqueOpeners | 25 | |
| 69.44% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 48 | | matches | | 0 | "Then Isolde appeared, sitting on" |
| | ratio | 0.021 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 13 | | totalSentences | 48 | | matches | | 0 | "Her straight black shoulder-length hair" | | 1 | "she said, lifting her left" | | 2 | "She’d fled Cardiff and her" | | 3 | "Her silver waist-length hair cascaded" | | 4 | "she said, her voice like" | | 5 | "They were once Aldric, a" | | 6 | "She stepped over the base" | | 7 | "He craves the Fae’s time-bending" | | 8 | "I’m a delivery person, not" | | 9 | "It will protect you when" | | 10 | "You know how to outthink" | | 11 | "Your delivery shift is long" | | 12 | "We’ll need to be" |
| | ratio | 0.271 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 45 | | totalSentences | 48 | | matches | | 0 | "Rory pushed brambles aside with" | | 1 | "Her straight black shoulder-length hair" | | 2 | "Nyx trailed at her heels," | | 3 | "Nyx’s voice whispered, carried on" | | 4 | "Rory’s bright blue eyes darted" | | 5 | "she said, lifting her left" | | 6 | "She’d fled Cardiff and her" | | 7 | "The delivery job at Yu-Fei" | | 8 | "Her silver waist-length hair cascaded" | | 9 | "she said, her voice like" | | 10 | "Rory paused, her cool-headed intelligence" | | 11 | "Nyx’s silhouette stretched, solidifying just" | | 12 | "They were once Aldric, a" | | 13 | "Isolde’s lips curved into a" | | 14 | "Rory glanced at her mother’s" | | 15 | "She stepped over the base" | | 16 | "Nyx followed, their solid form" | | 17 | "The Fae Grove burst with" | | 18 | "Nyx’s voice whispered, their shadow" | | 19 | "Rory stood, brushing flower petals" |
| | ratio | 0.938 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 48 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 15 | | technicalSentenceCount | 3 | | matches | | 0 | "Her straight black shoulder-length hair stuck to the sweat on her neck, and she fidgeted with the silver chain of the Heartstone Pendant tucked under her collar…" | | 1 | "Nyx trailed at her heels, a humanoid shadow that shifted between incorporeal wisp and solid silhouette, their faintly glowing violet eyes cutting through the da…" | | 2 | "Her silver waist-length hair cascaded over her ethereal shoulders, pale lavender eyes fixed on Rory’s pendant as if she could see its glow through the jacket fa…" |
| |
| 41.67% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 30 | | uselessAdditionCount | 5 | | matches | | 0 | "Nyx followed, their solid form reaching 6’2" | | 1 | "she said, her cool composure wavering for a split second" | | 2 | "they whispered, their voice sharp with warning" | | 3 | "she said, her Fae compulsion tying her words to truth," | | 4 | "The bar’s regulars will, too" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 6 | | fancyTags | | 0 | "Nyx’s voice whispered (whisper)" | | 1 | "they whispered (whisper)" | | 2 | "Nyx’s voice whispered (whisper)" | | 3 | "Nyx’s silhouette tensed. (tense)" | | 4 | "old notes spoke (speak)" | | 5 | "The bar’s regulars will (will)" |
| | dialogueSentences | 36 | | tagDensity | 0.222 | | leniency | 0.444 | | rawRatio | 0.75 | | effectiveRatio | 0.333 | |