| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 10 | | adverbTagCount | 1 | | adverbTags | | 0 | "silver hair shimmered like [like]" |
| | dialogueSentences | 37 | | tagDensity | 0.27 | | leniency | 0.541 | | rawRatio | 0.1 | | effectiveRatio | 0.054 | |
| 91.55% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1183 | | 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) | |
| 0.00% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1183 | | totalAiIsms | 34 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | | word | "the last thing" | | count | 1 |
| | 19 | | | 20 | | | 21 | | | 22 | | | 23 | |
| | highlights | | 0 | "pulsed" | | 1 | "charged" | | 2 | "loomed" | | 3 | "sentinels" | | 4 | "etched" | | 5 | "flickered" | | 6 | "gloom" | | 7 | "warmth" | | 8 | "whisper" | | 9 | "shimmered" | | 10 | "trembled" | | 11 | "porcelain" | | 12 | "depths" | | 13 | "stomach" | | 14 | "symphony" | | 15 | "echoed" | | 16 | "sinewy" | | 17 | "glistening" | | 18 | "the last thing" | | 19 | "beacon" | | 20 | "weight" | | 21 | "searing" | | 22 | "unraveling" | | 23 | "scanning" |
| |
| 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 | 1 | | narrationSentences | 78 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 78 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 105 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 48 | | ratio | 0 | | matches | (empty) | |
| 45.63% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 35 | | markdownWords | 90 | | totalWords | 1166 | | ratio | 0.077 | | matches | | 0 | "around" | | 1 | "unchosen" | | 2 | "feeling" | | 3 | "inside" | | 4 | "“Little thief. Little *hungry" | | 5 | "“Gifts are always stolen. Even the ones you don’t know you’ve taken.”" | | 6 | "mouth" | | 7 | "you" | | 8 | "hands" | | 9 | "gave" | | 10 | "wet" | | 11 | "taste" | | 12 | "Then what?" | | 13 | "eat" | | 14 | "weight" | | 15 | "shifted" | | 16 | "alive" | | 17 | "“You’ve been a very good girl, little thief. Now, tell me—what do you *really" | | 18 | "laughed" | | 19 | "“Oh, but darling, you can’t have that. Not yet.”" | | 20 | "ripped" | | 21 | "I know" | | 22 | "hell" | | 23 | "“I—”" | | 24 | "Spit it out" | | 25 | "“The pendant. It’s not just a key. It’s a" | | 26 | "*bait" | | 27 | ".”" | | 28 | "“Belphegor’s using it to" | | 29 | "*feed" | | 30 | "the Veil. And now it’s feeding" | | 31 | "*back" | | 32 | ".”" | | 33 | "where" | | 34 | "answered" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 50.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 51 | | wordCount | 904 | | uniqueNames | 11 | | maxNameDensity | 1.99 | | worstName | "Rory" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 18 | | Heartstone | 2 | | London | 1 | | Shade | 3 | | Belphegor | 4 | | Isolde | 9 | | Dymas | 2 | | Helbound | 5 | | Fae-forged | 1 | | Cold | 1 | | Nyx | 5 |
| | persons | | 0 | "Rory" | | 1 | "Heartstone" | | 2 | "Shade" | | 3 | "Belphegor" | | 4 | "Isolde" | | 5 | "Helbound" | | 6 | "Nyx" |
| | places | | | globalScore | 0.504 | | windowScore | 0.5 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 61 | | glossingSentenceCount | 4 | | matches | | 0 | "runes that seemed to writhe when she blinked" | | 1 | "quite belong to the world" | | 2 | "belly that seemed to swallow the sky" | | 3 | "something like pain" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 2.573 | | wordCount | 1166 | | matches | | 0 | "not from behind but *around* her, as if the wind itself carried their words" | | 1 | "not an earthquake, but something deliberate" | | 2 | "not from the smoke but *inside* Rory’s skull, a chorus of voices layered like a sym" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 105 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 45 | | mean | 25.91 | | std | 18.63 | | cv | 0.719 | | sampleLengths | | 0 | 1 | | 1 | 6 | | 2 | 65 | | 3 | 47 | | 4 | 30 | | 5 | 58 | | 6 | 16 | | 7 | 55 | | 8 | 16 | | 9 | 27 | | 10 | 54 | | 11 | 5 | | 12 | 33 | | 13 | 39 | | 14 | 24 | | 15 | 11 | | 16 | 51 | | 17 | 2 | | 18 | 42 | | 19 | 5 | | 20 | 27 | | 21 | 17 | | 22 | 15 | | 23 | 39 | | 24 | 13 | | 25 | 17 | | 26 | 75 | | 27 | 24 | | 28 | 25 | | 29 | 34 | | 30 | 14 | | 31 | 41 | | 32 | 32 | | 33 | 8 | | 34 | 1 | | 35 | 47 | | 36 | 27 | | 37 | 23 | | 38 | 25 | | 39 | 5 | | 40 | 41 | | 41 | 8 | | 42 | 7 | | 43 | 8 | | 44 | 6 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 78 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 150 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 15 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 105 | | ratio | 0.114 | | matches | | 0 | "Around her, the air thickened—no longer the crisp London breeze, but something heavier, charged." | | 1 | "The Shade’s form flickered at the edge of her vision—a shifting silhouette, half-submerged in the gloom." | | 2 | "“Ah. So the artifact has chosen you, after all.” Her silver hair shimmered like spilled moonlight, though the grove’s light was all its own—golden, sickly, the kind that made shadows stretch too long." | | 3 | "The ground trembled beneath her boots—not an earthquake, but something deliberate." | | 4 | "The smoke coiled upward, twisting into shapes—first a feast spread across the earth, then a towering figure with a crown of grapes and a belly that seemed to swallow the sky." | | 5 | "*“Gifts are always stolen. Even the ones you don’t know you’ve taken.”* The smoke surged, forming a hand—no, a *mouth*—that stretched toward her." | | 6 | "The fissure widened, and from its depths slithered things—long, sinewy limbs, too many joints, their bodies glistening with a sheen that wasn’t sweat but something darker, something *wet*." | | 7 | "Her eyes—still alive—locked onto Rory’s." | | 8 | "The smoke coiled tighter, forming a new shape—a door, warped and bleeding, its edges fraying like old parchment." | | 9 | "The grove dissolved into a banquet hall, its walls lined with golden plates groaning under the weight of dishes that shouldn’t exist—fruits the size of boulders, meats that steamed with a scent like ozone, desserts that dripped with honey that wasn’t honey but something thicker, something *alive*." | | 10 | "The moment their fingers brushed it, the pendant’s glow flared—white-hot, searing." | | 11 | "One second, she was in Dymas, the next—" |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 920 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 27 | | adverbRatio | 0.029347826086956522 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.003260869565217391 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 105 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 105 | | mean | 11.1 | | std | 7.38 | | cv | 0.665 | | sampleLengths | | 0 | 6 | | 1 | 17 | | 2 | 16 | | 3 | 14 | | 4 | 18 | | 5 | 25 | | 6 | 16 | | 7 | 6 | | 8 | 5 | | 9 | 16 | | 10 | 9 | | 11 | 15 | | 12 | 33 | | 13 | 10 | | 14 | 8 | | 15 | 8 | | 16 | 11 | | 17 | 12 | | 18 | 22 | | 19 | 10 | | 20 | 12 | | 21 | 4 | | 22 | 12 | | 23 | 12 | | 24 | 3 | | 25 | 31 | | 26 | 23 | | 27 | 5 | | 28 | 9 | | 29 | 11 | | 30 | 4 | | 31 | 9 | | 32 | 6 | | 33 | 23 | | 34 | 10 | | 35 | 12 | | 36 | 12 | | 37 | 5 | | 38 | 6 | | 39 | 7 | | 40 | 28 | | 41 | 16 | | 42 | 2 | | 43 | 17 | | 44 | 5 | | 45 | 20 | | 46 | 3 | | 47 | 2 | | 48 | 8 | | 49 | 19 |
| |
| 47.62% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.34285714285714286 | | totalSentences | 105 | | uniqueOpeners | 36 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 75 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 12 | | totalSentences | 75 | | matches | | 0 | "She yanked her hand back" | | 1 | "She focused on the pendant," | | 2 | "Her silver hair shimmered like" | | 3 | "They gestured toward the smoke" | | 4 | "She clenched her teeth." | | 5 | "Her eyes—still alive—locked onto Rory’s." | | 6 | "It sizzled where it landed," | | 7 | "She lunged for the door," | | 8 | "She stumbled onto a path," | | 9 | "She turned, scanning the grove’s" | | 10 | "They were breathing hard, their" | | 11 | "They gestured toward the grove’s" |
| | ratio | 0.16 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 69 | | totalSentences | 75 | | matches | | 0 | "The pendant burned against Rory’s" | | 1 | "She yanked her hand back" | | 2 | "The Heartstone’s crimson glow pulsed" | | 3 | "The standing oaks loomed like" | | 4 | "Nyx’s voice slithered through the" | | 5 | "The Shade’s form flickered at" | | 6 | "Rory didn’t look at them." | | 7 | "She focused on the pendant," | | 8 | "Isolde’s voice, when it came," | | 9 | "Her silver hair shimmered like" | | 10 | "Rory exhaled through her nose," | | 11 | "The ground trembled beneath her" | | 12 | "The standing stones groaned, their" | | 13 | "A fissure yawned between two" | | 14 | "The air reeked of it," | | 15 | "Isolde tilted her head, her" | | 16 | "Nyx stepped forward, their form" | | 17 | "They gestured toward the smoke" | | 18 | "The smoke coiled upward, twisting" | | 19 | "Prince Belphegor’s voice boomed, not" |
| | ratio | 0.92 | |
| 66.67% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 75 | | matches | | 0 | "Before Isolde could answer, the" |
| | ratio | 0.013 | |
| 38.33% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 41 | | technicalSentenceCount | 6 | | matches | | 0 | "She yanked her hand back as if scalded, fingers curling into the damp earth of the grove." | | 1 | "The fissure widened, and from its depths slithered things—long, sinewy limbs, too many joints, their bodies glistening with a sheen that wasn’t sweat but someth…" | | 2 | "The smoke coiled tighter, forming a new shape—a door, warped and bleeding, its edges fraying like old parchment." | | 3 | "The grove dissolved into a banquet hall, its walls lined with golden plates groaning under the weight of dishes that shouldn’t exist—fruits the size of boulders…" | | 4 | "The Helbound server shrieked, its body unraveling into smoke, its screams dissolving into the feast’s cloying sweetness." | | 5 | "The air smelled of damp earth and pine, the kind of crispness that made her lungs ache with relief." |
| |
| 25.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 10 | | uselessAdditionCount | 2 | | matches | | 0 | "Nyx finished, their voice a rasp" | | 1 | "Rory snapped, voice raw" |
| |
| 68.92% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 3 | | fancyTags | | 0 | "Rory snapped (snap)" | | 1 | "Rory growled (growl)" | | 2 | "Rory snapped (snap)" |
| | dialogueSentences | 37 | | tagDensity | 0.081 | | leniency | 0.162 | | rawRatio | 1 | | effectiveRatio | 0.162 | |