| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 12 | | adverbTagCount | 1 | | adverbTags | | 0 | "Nyx said softly [softly]" |
| | dialogueSentences | 33 | | tagDensity | 0.364 | | leniency | 0.727 | | rawRatio | 0.083 | | effectiveRatio | 0.061 | |
| 87.79% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1638 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "softly" | | 1 | "slightly" | | 2 | "very" |
| |
| 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) | |
| 45.05% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1638 | | totalAiIsms | 18 | | found | | | highlights | | 0 | "wavering" | | 1 | "scanning" | | 2 | "pulse" | | 3 | "weight" | | 4 | "flickered" | | 5 | "shimmered" | | 6 | "marble" | | 7 | "stomach" | | 8 | "silk" | | 9 | "warmth" | | 10 | "pulsed" | | 11 | "charged" | | 12 | "electric" | | 13 | "gleaming" |
| |
| 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 | 87 | | matches | (empty) | |
| 93.60% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 87 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 108 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 50 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1623 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 85.70% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 43 | | wordCount | 1322 | | uniqueNames | 12 | | maxNameDensity | 1.29 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Nyx | 10 | | Veil | 2 | | Shade | 1 | | Rory | 17 | | Heartstone | 3 | | Pendant | 1 | | Aldric | 1 | | Fae-Forged | 2 | | Blade | 2 | | Regret | 1 | | Dymas | 1 | | Belphegor | 2 |
| | persons | | 0 | "Nyx" | | 1 | "Shade" | | 2 | "Rory" | | 3 | "Heartstone" | | 4 | "Pendant" | | 5 | "Blade" | | 6 | "Belphegor" |
| | places | | | globalScore | 0.857 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 69 | | glossingSentenceCount | 5 | | matches | | 0 | "seemed almost eager" | | 1 | "seemed impossible" | | 2 | "looked like pomegranates split open to re" | | 3 | "red that seemed to pulse like animal blood, iridescent petals that caught the amber light and scattered it in prisms" | | 4 | "seemed carved from the garden itself" |
| |
| 76.77% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.232 | | wordCount | 1623 | | matches | | 0 | "not chewing, but the desperate hungry sounds of people who hadn't stopped con" | | 1 | "not clear, but a thick, ruby-red stream" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 108 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 43 | | mean | 37.74 | | std | 30.13 | | cv | 0.798 | | sampleLengths | | 0 | 10 | | 1 | 103 | | 2 | 50 | | 3 | 15 | | 4 | 69 | | 5 | 33 | | 6 | 17 | | 7 | 113 | | 8 | 52 | | 9 | 4 | | 10 | 36 | | 11 | 29 | | 12 | 23 | | 13 | 42 | | 14 | 87 | | 15 | 6 | | 16 | 71 | | 17 | 92 | | 18 | 2 | | 19 | 3 | | 20 | 94 | | 21 | 26 | | 22 | 37 | | 23 | 72 | | 24 | 15 | | 25 | 11 | | 26 | 4 | | 27 | 46 | | 28 | 23 | | 29 | 71 | | 30 | 18 | | 31 | 61 | | 32 | 11 | | 33 | 37 | | 34 | 45 | | 35 | 11 | | 36 | 3 | | 37 | 67 | | 38 | 28 | | 39 | 6 | | 40 | 23 | | 41 | 43 | | 42 | 14 |
| |
| 89.13% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 87 | | matches | | 0 | "were fixed" | | 1 | "got trapped" | | 2 | "been worn" | | 3 | "been answered" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 228 | | matches | | 0 | "was almost suffocating" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 108 | | ratio | 0.111 | | matches | | 0 | "The air hit her first—warm as bathwater, thick with the scent of sugar and spice, the kind of heat that wrapped around her like a blanket fresh from the dryer." | | 1 | "It was warm—hotter than it had ever been, a steady thrum like a second heartbeat that seemed almost eager." | | 2 | "Beyond them, the land rolled in gentle waves—low hills covered in orchards where trees bent under the weight of fruit so heavy it seemed impossible." | | 3 | "\"Don't.\" Nyx's hand—or what passed for it, shifting shadow that coalesced into fingers—touched her wrist." | | 4 | "\"I remember it,\" Nyx said, and something flickered in those violet eyes—a shadow of a shadow, deeper than their usual depth." | | 5 | "They followed it, ducking beneath trellises heavy with flowers Rory couldn't name, blooms that shimmered in shades that shouldn't exist in nature—a blue so deep it looked wet, a red that seemed to pulse like animal blood, iridescent petals that caught the amber light and scattered it in prisms." | | 6 | "Then distinct sounds separated themselves: the clink of goblets, the scrape of cutlery on platters, the wet sound of eating—not chewing, but the desperate hungry sounds of people who hadn't stopped consuming and couldn't bring themselves to." | | 7 | "At the center of it all, a fountain carved from black marble spouted wine—not clear, but a thick, ruby-red stream that splashed into a basin where guests dipped their cups, their hands, their faces." | | 8 | "Some still wore the clothes they must have died in—a woman in a floral dress stained with something dark at the collar, a man in a business suit with a silk tie undone." | | 9 | "The path narrowed, leading between hedges trimmed into shapes of animals—lions with jaws agape, serpents coiled to strike, beasts that had no earthly name." | | 10 | "At the center of the circle, the air shimmered—a distortion like heat rising off asphalt, but wrong." | | 11 | "The air around the rift felt different—charged, electric, the hairs on her arms rising." |
| |
| 88.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1340 | | adjectiveStacks | 2 | | stackExamples | | 0 | "thick, ruby-red stream" | | 1 | "slender leaf-shaped dagger" |
| | adverbCount | 38 | | adverbRatio | 0.028358208955223882 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.005970149253731343 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 108 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 108 | | mean | 15.03 | | std | 10.12 | | cv | 0.674 | | sampleLengths | | 0 | 10 | | 1 | 30 | | 2 | 26 | | 3 | 13 | | 4 | 34 | | 5 | 11 | | 6 | 39 | | 7 | 13 | | 8 | 2 | | 9 | 15 | | 10 | 19 | | 11 | 11 | | 12 | 16 | | 13 | 8 | | 14 | 7 | | 15 | 26 | | 16 | 3 | | 17 | 14 | | 18 | 19 | | 19 | 28 | | 20 | 25 | | 21 | 18 | | 22 | 23 | | 23 | 15 | | 24 | 28 | | 25 | 9 | | 26 | 4 | | 27 | 18 | | 28 | 18 | | 29 | 19 | | 30 | 4 | | 31 | 6 | | 32 | 21 | | 33 | 2 | | 34 | 6 | | 35 | 11 | | 36 | 22 | | 37 | 3 | | 38 | 17 | | 39 | 49 | | 40 | 21 | | 41 | 6 | | 42 | 15 | | 43 | 37 | | 44 | 19 | | 45 | 14 | | 46 | 14 | | 47 | 30 | | 48 | 34 | | 49 | 2 |
| |
| 61.73% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.39814814814814814 | | totalSentences | 108 | | uniqueOpeners | 43 | |
| 41.67% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 80 | | matches | | 0 | "Then distinct sounds separated themselves:" |
| | ratio | 0.013 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 22 | | totalSentences | 80 | | matches | | 0 | "She blinked against the sudden" | | 1 | "It hung above her like" | | 2 | "It was warm—hotter than it" | | 3 | "She pulled the pendant free" | | 4 | "She slid the pendant back" | | 5 | "They stood at the edge" | | 6 | "She could taste that scent" | | 7 | "Their violet eyes were fixed" | | 8 | "It helped, a little." | | 9 | "He must have seen places" | | 10 | "She didn't push." | | 11 | "They followed it, ducking beneath" | | 12 | "They were human." | | 13 | "Their cheeks were too full," | | 14 | "They ate without stopping, without" | | 15 | "They pressed on, leaving the" | | 16 | "They were close." | | 17 | "She reached out, fingers hovering" | | 18 | "She could smell concrete and" | | 19 | "She pressed it against the" |
| | ratio | 0.275 | |
| 35.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 68 | | totalSentences | 80 | | matches | | 0 | "Rory stepped through the portal" | | 1 | "The air hit her first—warm" | | 2 | "She blinked against the sudden" | | 3 | "The sky wasn't a sky" | | 4 | "It hung above her like" | | 5 | "The Shade made no sound" | | 6 | "Nyx said, their voice barely" | | 7 | "Rory pressed a hand to" | | 8 | "It was warm—hotter than it" | | 9 | "She pulled the pendant free" | | 10 | "The deep crimson gemstone glowed" | | 11 | "Rory doubted that." | | 12 | "She slid the pendant back" | | 13 | "They stood at the edge" | | 14 | "The vines grew taller than" | | 15 | "She could taste that scent" | | 16 | "Nyx's hand—or what passed for" | | 17 | "Their violet eyes were fixed" | | 18 | "Nyx's voice carried a weight" | | 19 | "Rory pulled her gaze from" |
| | ratio | 0.85 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 80 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 57 | | technicalSentenceCount | 16 | | matches | | 0 | "The air hit her first—warm as bathwater, thick with the scent of sugar and spice, the kind of heat that wrapped around her like a blanket fresh from the dryer." | | 1 | "She blinked against the sudden change, her sneakers settling on soil that felt almost uncomfortably soft, like tilled earth in a greenhouse after the spring rai…" | | 2 | "It hung above her like stained glass held to flame, a dome of burning amber that shifted in slow currents, veins of deep gold crawling across its surface like s…" | | 3 | "The Shade made no sound on the earth, their silhouette wavering at the edges, faint violet eyes scanning the horizon with the wariness of something that had wal…" | | 4 | "It was warm—hotter than it had ever been, a steady thrum like a second heartbeat that seemed almost eager." | | 5 | "The vines grew taller than she was, their trunks thick as ancient oaks, laden with clusters of grapes that caught the amber light and glowed like polished garne…" | | 6 | "Golden apples, plums the color of bruises, peaches that smelled so sweet Rory's mouth watered without her permission." | | 7 | "A path wound through the vineyards, paved with cobblestones that had been worn smooth by countless feet." | | 8 | "They followed it, ducking beneath trellises heavy with flowers Rory couldn't name, blooms that shimmered in shades that shouldn't exist in nature—a blue so deep…" | | 9 | "Then distinct sounds separated themselves: the clink of goblets, the scrape of cutlery on platters, the wet sound of eating—not chewing, but the desperate hungr…" | | 10 | "Laughter bubbled beneath it, high and manic, the kind of sound that came from somewhere other than genuine amusement." | | 11 | "Tables stretched in every direction, laden with dishes that steamed and glistened and overflowed." | | 12 | "At the center of it all, a fountain carved from black marble spouted wine—not clear, but a thick, ruby-red stream that splashed into a basin where guests dipped…" | | 13 | "Massive oak standing stones ringed a clearing of wildflowers that bloomed in defiance of the amber sky, their colors too vivid to be natural." | | 14 | "The moonsilver caught the amber light and turned it silver-pale, the blade gleaming with a cold that rejected the warmth of Dymas." | | 15 | "Prince Belphegor wore robes of deep crimson that pooled around him like spilled wine, and he smiled with teeth that were just slightly too white, too even, too …" |
| |
| 41.67% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 12 | | uselessAdditionCount | 2 | | matches | | 0 | "Nyx said, their voice barely a breath against her ear" | | 1 | "he said, and his voice was a purr" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 33 | | tagDensity | 0.212 | | leniency | 0.424 | | rawRatio | 0.143 | | effectiveRatio | 0.061 | |