| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 33 | | adverbTagCount | 1 | | adverbTags | | 0 | "Time shifted then. [then]" |
| | dialogueSentences | 36 | | tagDensity | 0.917 | | leniency | 1 | | rawRatio | 0.03 | | effectiveRatio | 0.03 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1455 | | 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) | |
| 48.45% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1455 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "chill" | | 1 | "whisper" | | 2 | "crystal" | | 3 | "flickered" | | 4 | "warmth" | | 5 | "cascading" | | 6 | "stomach" | | 7 | "pulse" | | 8 | "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 | 48 | | matches | (empty) | |
| 23.81% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 1 | | narrationSentences | 48 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 48 | | 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 | 1412 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 88.65% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 72 | | wordCount | 1141 | | uniqueNames | 22 | | maxNameDensity | 1.23 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Isolde" | | discoveredNames | | Richmond | 1 | | Park | 1 | | December | 2 | | Fae-Forged | 4 | | Blade | 4 | | Heartstone | 6 | | Pendant | 3 | | Isolde | 10 | | Rory | 14 | | Half-Fae | 1 | | Fae | 6 | | Yu-Fei | 1 | | Nyx | 9 | | Evan | 1 | | Belphegor | 1 | | Wardens | 1 | | Veil | 2 | | Earth | 1 | | Time | 1 | | Dymas | 1 | | Helbound | 1 | | London | 1 |
| | persons | | 0 | "Blade" | | 1 | "Heartstone" | | 2 | "Pendant" | | 3 | "Isolde" | | 4 | "Rory" | | 5 | "Nyx" | | 6 | "Evan" | | 7 | "Belphegor" | | 8 | "Veil" | | 9 | "Earth" | | 10 | "Time" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "December" | | 3 | "London" |
| | globalScore | 0.887 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 42 | | 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 | 1412 | | matches | (empty) | |
| 27.78% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 48 | | matches | | 0 | "rifts that break" | | 1 | "screamed that an" |
| |
| 78.31% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 24 | | mean | 58.83 | | std | 24.95 | | cv | 0.424 | | sampleLengths | | 0 | 117 | | 1 | 65 | | 2 | 89 | | 3 | 28 | | 4 | 77 | | 5 | 41 | | 6 | 36 | | 7 | 66 | | 8 | 91 | | 9 | 90 | | 10 | 62 | | 11 | 67 | | 12 | 35 | | 13 | 35 | | 14 | 59 | | 15 | 30 | | 16 | 76 | | 17 | 68 | | 18 | 25 | | 19 | 72 | | 20 | 49 | | 21 | 29 | | 22 | 24 | | 23 | 81 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 48 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 190 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 25 | | semicolonCount | 0 | | flaggedSentences | 20 | | totalSentences | 48 | | ratio | 0.417 | | matches | | 0 | "She tucked her left hand into her pocket, pressing her thumb to the crescent scar on her wrist—old habit from the childhood fall that had split the skin—before her fingers brushed the cold hilt of the Fae-Forged Blade." | | 1 | "Around her neck, the Heartstone Pendant thrummed—a deep crimson thumbnail-sized gem on a silver chain, warm as a sun-warmed stone, its faint glow visible through her shirt when she leaned into the weak winter light." | | 2 | "A rift lingers here—your pendant’s song is proof.”" | | 3 | "Isolde waited at the edge of the stone circle, her silver waist-length hair catching the light like spun starlight, pale lavender eyes crinkling at the corners in a smile that didn’t reach her ethereal, ageless face. She took a step forward, and Rory’s breath caught—there were no footprints in the frosted grass beneath her bare feet. The Half-Fae seer’s compulsion meant she couldn’t lie, but Rory had learned to read the gaps in her riddles since the seer had pressed the Fae blade into her hand three days prior." | | 4 | "Rory checked her phone, the screen glitching when she held it up to the stones. Her last delivery had been to a café near the park, and she’d told Yu-Fei she’d be back in an hour—now the time stamp flickered between 2:17 and 5:43. “I don’t have time for time tricks,” she said, cool-headed as ever, her quick thinking kicking in. “If the rift’s to Dymas—Prince Belphegor’s realm of vineyards and feasts—why’s it here, in your grove?”" | | 5 | "I can slip into the crevices—see what lingers beyond.”" | | 6 | "Rory hesitated, then stepped toward the first stone. The Heartstone’s thrumming intensified, its warmth spreading up her neck to her jaw. When she brushed her hand against the oak stone, it hummed—deep, resonant, like a cello string plucked by an invisible hand. Nyx drifted through the stone beside her, their shadow merging with the crevices before reemerging on the other side, their violet eyes glowing brighter." | | 7 | "Inside the grove, Rory’s breath caught. Wildflowers bloomed in a riot of color at her feet—poppies red as her pendant, daisies white as snow, bluebells that glowed faintly in the shade—all blooming in December, when the rest of the park was bare. The oak trees above had lush, green leaves, their branches swaying to a rhythm that didn’t match the wind outside. A sharp, fermented tang mixed with the sweet honey scent of wildflowers, and Nyx’s whisper curled around her: “That is Dymas’ vineyard breath." | | 8 | "She knelt, running her fingers over a poppy’s waxy petal—when she pressed it, a drop of crimson sap oozed out, matching her pendant’s hue. She wiped the sap on her delivery jacket, her thumb brushing the crescent scar, and thought of Evan—his sharp words, the way he’d grabbed her wrist that night, the fall that had left the mark. The sap glowed faintly on her sleeve, and Isolde said, in a riddle: “The scar’s mark is a key." | | 9 | "Nyx drifted to a faint shimmer in the air—a rift edge only they and Isolde could see—and slipped into its shadow. When they emerged, their violet eyes burned brighter than ever. “I saw Dymas’ sprawling vineyards, helbound souls plucking grapes that rot as soon as they touch their hands." | | 10 | "Rory stood, her bright blue eyes fixed on the shimmer, and pulled the Fae-Forged Blade from her pocket. Its cold hilt made her gasp, and she realized its moonsilver edge was faintly glowing in the grove’s light—reacting to the rift’s energy. “If Belphegor’s chefs want the grove’s wildflowers,” she said, cool-headed, “sealing the rift isn’t enough." | | 11 | "We need to warn the Wardens—they monitor the Veil’s rifts, right?”" | | 12 | "This grove is a pocket—they cannot find it.”" | | 13 | "Isolde’s pale lavender eyes crinkled in a real smile—first time Rory had seen it. “You see what is not." | | 14 | "Time shifted then. Rory checked her phone—two minutes had passed since she’d entered the grove, but her internal clock screamed that an hour had gone by. Unease coiled in her stomach as she noticed the grove’s wildflowers beginning to wilt at the rift’s edge, their sweet scent fading into the fermented tang of Dymas. Nyx’s shadow form flickered, and they whispered: “The rift is growing." | | 15 | "Helbound souls drift through now—their hunger clinging to the wilted petals.”" | | 16 | "Rory pressed the Fae-Forged Blade into the ground beside the rift, its cold seeping into the earth, and wrapped both hands around the Heartstone Pendant. The warmth spread up her arms, and she began to hum the rhythm of its thrumming—low, steady, matching the rift’s faint pulse. Nyx emerged from the shadow, their form stabilizing, and whispered: “You bind the rift’s song to yours." | | 17 | "Rory stopped humming, her breath coming in short gasps. The rift’s shimmer faded, the fermented tang dissipated, and the wildflowers perked back up, their honey scent returning. She looked down at her left wrist—her crescent scar glowed faintly in the grove’s light. Isolde stepped beside her, her voice a final riddle: “The glutton’s vine bears fruit that rots." | | 18 | "Rory checked her phone again—2:19, only two minutes since she’d left the park’s frosted grass. She slipped the Fae-Forged Blade back into her pocket, the Heartstone resting warm against her chest. “I need to get back to my delivery shift,” she said. “Yu-Fei will fire me if I’m late.”" | | 19 | "Rory stepped through the standing stones, the winter wind nipping at her again. She glanced back—only bare oak branches and frosted grass greeted her, no sign of the grove’s wildflowers. She tucked her thumb into her pocket, pressing it to her crescent scar, and headed toward the café, the Heartstone’s faint thrumming a quiet reminder that her life as a delivery person in London was over—she was now a bridge between realms, a blade in hand, a shadow at her side." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 793 | | adjectiveStacks | 1 | | stackExamples | | 0 | "resting warm against her" |
| | adverbCount | 12 | | adverbRatio | 0.015132408575031526 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.007566204287515763 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 48 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 48 | | mean | 29.42 | | std | 25.69 | | cv | 0.873 | | sampleLengths | | 0 | 22 | | 1 | 38 | | 2 | 22 | | 3 | 35 | | 4 | 57 | | 5 | 8 | | 6 | 89 | | 7 | 28 | | 8 | 77 | | 9 | 32 | | 10 | 9 | | 11 | 16 | | 12 | 10 | | 13 | 3 | | 14 | 7 | | 15 | 66 | | 16 | 85 | | 17 | 6 | | 18 | 78 | | 19 | 6 | | 20 | 6 | | 21 | 49 | | 22 | 13 | | 23 | 56 | | 24 | 11 | | 25 | 19 | | 26 | 8 | | 27 | 8 | | 28 | 25 | | 29 | 10 | | 30 | 49 | | 31 | 10 | | 32 | 19 | | 33 | 11 | | 34 | 65 | | 35 | 11 | | 36 | 64 | | 37 | 4 | | 38 | 25 | | 39 | 58 | | 40 | 7 | | 41 | 7 | | 42 | 49 | | 43 | 20 | | 44 | 9 | | 45 | 17 | | 46 | 7 | | 47 | 81 |
| |
| 65.28% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.4166666666666667 | | totalSentences | 48 | | uniqueOpeners | 20 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 48 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 6 | | totalSentences | 48 | | matches | | 0 | "She tucked her left hand" | | 1 | "I can slip into the" | | 2 | "She knelt, running her fingers" | | 3 | "We need to warn the" | | 4 | "They see only rifts that" | | 5 | "My shadow form cannot withstand" |
| | ratio | 0.125 | |
| 22.50% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 42 | | totalSentences | 48 | | matches | | 0 | "Rory’s delivery jacket scraped against" | | 1 | "She tucked her left hand" | | 2 | "The moonsilver, leaf-shaped dagger sat" | | 3 | "Nyx drifted beside her, their" | | 4 | "A rift lingers here—your pendant’s" | | 5 | "Isolde waited at the edge" | | 6 | "Isolde said, her voice like" | | 7 | "Rory checked her phone, the" | | 8 | "Nyx’s shadow form flickered, shifting" | | 9 | "I can slip into the" | | 10 | "Isolde gestured to the stones." | | 11 | "The earth does not dictate" | | 12 | "Rory hesitated, then stepped toward" | | 13 | "The rift’s edge carries it" | | 14 | "She knelt, running her fingers" | | 15 | "The sap’s song is a" | | 16 | "The shadow’s hand is the" | | 17 | "Nyx drifted to a faint" | | 18 | "Prince Belphegor’s chefs hunt for" | | 19 | "Rory stood, her bright blue" |
| | ratio | 0.875 | |
| 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 | 8 | | technicalSentenceCount | 4 | | matches | | 0 | "She tucked her left hand into her pocket, pressing her thumb to the crescent scar on her wrist—old habit from the childhood fall that had split the skin—before …" | | 1 | "Isolde waited at the edge of the stone circle, her silver waist-length hair catching the light like spun starlight, pale lavender eyes crinkling at the corners …" | | 2 | "Rory hesitated, then stepped toward the first stone. The Heartstone’s thrumming intensified, its warmth spreading up her neck to her jaw. When she brushed her h…" | | 3 | "Rory stepped through the standing stones, the winter wind nipping at her again. She glanced back—only bare oak branches and frosted grass greeted her, no sign o…" |
| |
| 53.57% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 28 | | uselessAdditionCount | 4 | | matches | | 0 | "Prince Belphegor’s chefs hunt, and this rift is their door" | | 1 | "We need, right" | | 2 | "Nyx emerged, their form stabilizing, and whispered:" | | 3 | "Isolde stepped, her voice a final riddle:" |
| |
| 94.44% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 2 | | fancyTags | | 0 | "We need (need)" | | 1 | "Rory pressed (press)" |
| | dialogueSentences | 36 | | tagDensity | 0.083 | | leniency | 0.167 | | rawRatio | 0.667 | | effectiveRatio | 0.111 | |