| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 1 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1563 | | 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) | |
| 39.22% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1563 | | totalAiIsms | 19 | | found | | | highlights | | 0 | "electric" | | 1 | "pulse" | | 2 | "echoing" | | 3 | "flickered" | | 4 | "stomach" | | 5 | "raced" | | 6 | "pulsed" | | 7 | "glinting" | | 8 | "warmth" | | 9 | "echoed" | | 10 | "quickened" |
| |
| 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 | 22 | | matches | (empty) | |
| 0.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 22 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 22 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 140 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1526 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 30 | | wordCount | 1317 | | uniqueNames | 19 | | maxNameDensity | 0.23 | | worstName | "Hel" | | maxWindowNameDensity | 1 | | worstWindowName | "Richmond" | | discoveredNames | | Yu-Fei | 1 | | Golden | 1 | | Empress | 1 | | Richmond | 2 | | Park | 2 | | January | 2 | | Heartstone | 2 | | Isolde | 1 | | Grove | 2 | | Hel | 3 | | Pendant | 1 | | Dymas | 1 | | Cardiff | 2 | | University | 1 | | London | 1 | | May | 1 | | Fae | 3 | | Earth | 2 | | Evan | 1 |
| | persons | | 0 | "Yu-Fei" | | 1 | "Empress" | | 2 | "Heartstone" | | 3 | "University" | | 4 | "Evan" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "January" | | 3 | "Isolde" | | 4 | "Grove" | | 5 | "Cardiff" | | 6 | "London" | | 7 | "Fae" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 19 | | glossingSentenceCount | 5 | | matches | | 0 | "felt like being trapped in a dream some" | | 1 | "void that seemed to suck the moonlight out of the air" | | 2 | "felt like she’d been standing in the ce" | | 3 | "as if begging her to stay" | | 4 | "felt like she’d been in the grove for a" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.655 | | wordCount | 1526 | | matches | | 0 | "not from the oaks, but from the wildflowers" |
| |
| 15.15% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 22 | | matches | | |
| 70.07% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 17 | | mean | 89.76 | | std | 35.48 | | cv | 0.395 | | sampleLengths | | 0 | 134 | | 1 | 135 | | 2 | 79 | | 3 | 15 | | 4 | 109 | | 5 | 109 | | 6 | 114 | | 7 | 94 | | 8 | 98 | | 9 | 4 | | 10 | 88 | | 11 | 101 | | 12 | 100 | | 13 | 70 | | 14 | 73 | | 15 | 72 | | 16 | 131 |
| |
| 41.47% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 22 | | matches | | 0 | "was smudged" | | 1 | "being trapped" | | 2 | "been stretched" | | 3 | "were gone" | | 4 | "been chosen" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 231 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 23 | | semicolonCount | 3 | | flaggedSentences | 15 | | totalSentences | 22 | | ratio | 0.682 | | matches | | 0 | "The January air bit through her black puffer jacket, and she rubbed the crescent scar on her left wrist—old habit, from the childhood fall that had split the skin on a slate step—while she fumbled in her pocket for the crumpled note." | | 1 | "She’d found it tucked into her delivery bag three days prior, no return address, no name—only the same curling script that had accompanied the Heartstone Pendant when it arrived on her flat’s doormat above Silas’ bar two weeks before." | | 2 | "At 5’6”, she had to crane her neck to scan the park’s treeline for any sign of the ancient oaks the note mentioned. Her straight shoulder-length black hair caught on a bramble as she hiked off the paved path, and she tucked a strand behind her ear, bright blue eyes narrowing at the frost-crusted grass. Winter in Cardiff had never felt this sharp, but London’s nights were a different breed—empty, hungry, like the city was holding its breath. She’d hesitated before coming; Evan’s ghost still lingered in the edges of her decisions, his sharp words echoing when she dared to take risks. But the pendant’s faint inner glow had been taunting her, its silver chain digging into her chest whenever she forgot it was there, and her cool-headed, quick-thinking nature couldn’t let the mystery lie." | | 3 | "She pulled the pendant from beneath her shirt when the first pulse hit—warm, faint, like a bird’s heartbeat against her palm. The deep crimson gemstone, roughly the size of her thumbnail, glowed just barely enough to catch the moonlight filtering through the oaks. She’d researched Dymas, the pendant’s origin realm, at Cardiff University’s old library before fleeing to London, but the books had held nothing—only faded sketches of similar artifacts, no explanations. The unknown benefactor was her only lead." | | 4 | "She stepped over a frost heap and froze. Beneath a gnarled oak, a carpet of daisies, poppies, and bluebells bloomed so brightly they looked painted. Poppies in January? Bluebells that usually faded by May? Her out-of-the-box thinking kicked in—she knelt, brushing a daisy’s petal with her scarred wrist, and felt no frost on its stem. The flower bent away from her touch, slow as a sigh, and she jerked her hand back. That was when she saw them: the standing stones, three ancient oaks petrified into gray, moss-covered monoliths, marking a circular boundary around the flower-carpeted clearing. The note’s words thrummed in her head: oak stones mark the way." | | 5 | "She stood, her boots crunching on frost that vanished the moment she stepped within a foot of the stones. The air shifted when she crossed the boundary—thicker, sweeter, like honey mixed with rot. She pulled out her phone to check the time: 9:17 PM. She blinked, and the screen flickered to 9:03 PM. Blinked again, and it was 9:22 PM. Her stomach twisted. The grove’s time warping had been a vague hint in the note, but now it was real—an hour inside could be minutes or days outside. She stuffed the phone back in her pocket, the pendant’s pulse growing warmer, faster, as she stepped deeper into the clearing." | | 6 | "The Fae Grove was a pocket between Earth and the Fae realm, she’d deduced from the note’s vague hints, but standing in it felt like being trapped in a dream someone had forgotten to finish. No wind stirred the oaks, but their leaves rustled anyway—soft, insistent, like a crowd whispering secrets she couldn’t hear. She walked toward the clearing’s center, the wildflowers leaning away from her path as if she carried a plague. A sound pricked her ears: a child’s laugh, high and bright, but twisted at the edges, like it had been stretched too thin. She spun, but there was nothing—only the petrified oaks, the blooming flowers, the faint glow of the pendant." | | 7 | "Another sound: a bird call, sharp and metallic, nothing like the sparrows or crows she’d known in Cardiff. It came from the edge of her vision, and when she glanced that way, she saw a flash of pale skin—a hand, too long, too slender, gripping a petrified oak’s trunk. It vanished before she could focus, and she rubbed her scar again, her breath coming in short bursts. She was not alone. The certainty settled over her like a blanket of ice, and she reached for the pendant, now so warm it burned her palm." | | 8 | "She reached the clearing’s center and froze. Beneath a petrified oak’s bough, a dark spot lingered on the flower carpet—no light, no sound, just a void that seemed to suck the moonlight out of the air. The pendant’s pulse roared in her chest, hot and fast, and she realized this was the Hel portal the note had warned about. She’d read about Hel portals in a fae lore book she’d borrowed from Silas’ bar—gateways between realms, dangerous when left unguarded. Her out-of-the-box thinking raced: if the pendant pulsed near them, maybe it could seal them? Or warn others?" | | 9 | "She glanced to her left and saw it: a figure, pale as bone, standing between two oaks. It was too tall, its limbs too long, its head tilted at an angle that should have broken its neck. It didn’t move, but its eyes—if they were eyes—seemed to bore into her. She glanced to her right, and there was another, then a third, all pale, all too tall, their figures flickering at the edge of her vision like candle flames. They didn’t approach, but they didn’t leave, either—watching, waiting." | | 10 | "Time shifted again. She felt like she’d been standing in the center of the grove for an hour, her legs aching, her scar throbbing, but when she fumbled for her phone, the screen flickered on for a split second: 9:18 PM. She’d been inside for a minute? An hour? She couldn’t tell. The wildflowers began to wilt and bloom in cycles—daisies turning brown, then red, then white, poppies folding into themselves and unfurling again—each cycle faster than the last. The metallic bird call grew louder, merging with the child’s twisted laugh until it was a single, piercing whine in her ears." | | 11 | "She gripped the pendant so tight her scarred wrist ached. Her cool-headedness fought through the terror—she needed to leave. The standing stones were her only way out, but she’d lost track of them in the flickering figures and cycling flowers. She closed her eyes, focusing on the pendant’s pulse: when she turned left, it grew weaker; right, stronger. Wait—no, she realized, out-of-the-box thinking kicking in—if the portal was the source of the pulse, then moving away from the center would weaken it. She turned in the direction where the pulse slowed, and began walking, her eyes closed, counting her steps." | | 12 | "She collapsed on the frost-crusted grass, gasping for air, and checked the pendant. Its pulse had faded back to a faint warmth, its glow dimming. She pulled out her phone—10:45 PM. Two hours had passed outside, but she’d felt like she’d been in the grove for a lifetime. She looked back at the clearing, but the wildflowers were gone, the petrified oaks hidden by the treeline. No figures, no rustling, no twisted laugh." | | 13 | "She stood, brushing frost off her jacket, and tucked the pendant back beneath her shirt. The mystery was far from solved—her quick-thinking nature already had her planning to return to Silas’ bar, borrow his fae lore books again, and research the Hel portals more thoroughly. But for now, she needed to get back to her flat, to the safety of the bar below, to Yu-Fei’s garlic fried rice leftovers in her bag." | | 14 | "As she hiked back to the park’s entrance, she rubbed her crescent scar and glanced over her shoulder. Somewhere behind her, in the hidden clearing between Earth and the Fae realm, a metallic bird call echoed once more. She quickened her pace, knowing she’d be back. The unknown benefactor had given her a purpose, and she wasn’t going to let Evan’s ghost or the fae figures stop her. She’d seen the portal’s void, felt the pendant’s burn, and she knew—whatever was coming, she’d need her cool head and quick wits to face it. The grove hadn’t broken her; it had only given her a reason to keep digging, to unlock the pendant’s secrets, to find out why she’d been chosen. And she was never one to walk away from a puzzle." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 874 | | adjectiveStacks | 1 | | stackExamples | | 0 | "gray, moss-covered monoliths," |
| | adverbCount | 25 | | adverbRatio | 0.028604118993135013 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.009153318077803204 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 22 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 22 | | mean | 69.36 | | std | 42 | | cv | 0.606 | | sampleLengths | | 0 | 25 | | 1 | 42 | | 2 | 16 | | 3 | 7 | | 4 | 5 | | 5 | 39 | | 6 | 135 | | 7 | 79 | | 8 | 15 | | 9 | 109 | | 10 | 109 | | 11 | 114 | | 12 | 94 | | 13 | 98 | | 14 | 4 | | 15 | 88 | | 16 | 101 | | 17 | 100 | | 18 | 70 | | 19 | 73 | | 20 | 72 | | 21 | 131 |
| |
| 62.12% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.45454545454545453 | | totalSentences | 22 | | uniqueOpeners | 10 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 21 | | matches | (empty) | | ratio | 0 | |
| 48.57% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 9 | | totalSentences | 21 | | matches | | 0 | "She’d found it tucked into" | | 1 | "She pulled the pendant from" | | 2 | "She stepped over a frost" | | 3 | "She stood, her boots crunching" | | 4 | "She reached the clearing’s center" | | 5 | "She glanced to her left" | | 6 | "She gripped the pendant so" | | 7 | "She collapsed on the frost-crusted" | | 8 | "She stood, brushing frost off" |
| | ratio | 0.429 | |
| 31.43% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 18 | | totalSentences | 21 | | matches | | 0 | "Rory’s delivery bag still reeked" | | 1 | "The January air bit through" | | 2 | "The paper was smudged with" | | 3 | "Richmond Park’s oak stones mark" | | 4 | "She’d found it tucked into" | | 5 | "She pulled the pendant from" | | 6 | "The first sign of the" | | 7 | "She stepped over a frost" | | 8 | "She stood, her boots crunching" | | 9 | "The Fae Grove was a" | | 10 | "Another sound: a bird call," | | 11 | "She reached the clearing’s center" | | 12 | "The rustling grew louder." | | 13 | "She glanced to her left" | | 14 | "Time shifted again. She felt" | | 15 | "She gripped the pendant so" | | 16 | "She collapsed on the frost-crusted" | | 17 | "She stood, brushing frost off" |
| | ratio | 0.857 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 21 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 14 | | technicalSentenceCount | 7 | | matches | | 0 | "The January air bit through her black puffer jacket, and she rubbed the crescent scar on her left wrist—old habit, from the childhood fall that had split the sk…" | | 1 | "She stood, her boots crunching on frost that vanished the moment she stepped within a foot of the stones. The air shifted when she crossed the boundary—thicker,…" | | 2 | "The Fae Grove was a pocket between Earth and the Fae realm, she’d deduced from the note’s vague hints, but standing in it felt like being trapped in a dream som…" | | 3 | "She glanced to her left and saw it: a figure, pale as bone, standing between two oaks. It was too tall, its limbs too long, its head tilted at an angle that sho…" | | 4 | "Time shifted again. She felt like she’d been standing in the center of the grove for an hour, her legs aching, her scar throbbing, but when she fumbled for her …" | | 5 | "She gripped the pendant so tight her scarred wrist ached. Her cool-headedness fought through the terror—she needed to leave. The standing stones were her only w…" | | 6 | "She collapsed on the frost-crusted grass, gasping for air, and checked the pendant. Its pulse had faded back to a faint warmth, its glow dimming. She pulled out…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |