| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 12 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 21 | | tagDensity | 0.571 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 93.28% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1487 | | 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) | |
| 42.84% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1487 | | totalAiIsms | 17 | | found | | | highlights | | 0 | "pulse" | | 1 | "beacon" | | 2 | "warmth" | | 3 | "weight" | | 4 | "velvet" | | 5 | "unravel" | | 6 | "familiar" | | 7 | "crystalline" | | 8 | "stomach" | | 9 | "vibrated" | | 10 | "stark" | | 11 | "silk" |
| |
| 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 | 101 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 101 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 110 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 70 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 4 | | markdownWords | 15 | | totalWords | 1472 | | ratio | 0.01 | | matches | | 0 | "here" | | 1 | "For when the feast turns to hunger" | | 2 | "And it always does, in Dymas." | | 3 | "gave" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 54 | | wordCount | 1221 | | uniqueNames | 15 | | maxNameDensity | 1.56 | | worstName | "Aurora" | | maxWindowNameDensity | 3 | | worstWindowName | "Aurora" | | discoveredNames | | Heartstone | 3 | | Pendant | 3 | | Aurora | 19 | | Shade | 2 | | London | 1 | | Evan | 2 | | God | 1 | | Prince | 3 | | Gluttony | 2 | | Hel | 1 | | Nyx | 7 | | Fae | 3 | | Belphegor | 4 | | Ruler | 1 | | Dymas | 2 |
| | persons | | 0 | "Pendant" | | 1 | "Aurora" | | 2 | "Shade" | | 3 | "Evan" | | 4 | "God" | | 5 | "Prince" | | 6 | "Hel" | | 7 | "Nyx" | | 8 | "Belphegor" |
| | places | | | globalScore | 0.722 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 72 | | glossingSentenceCount | 1 | | matches | | 0 | "silk that seemed to drink the light" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 4 | | per1kWords | 2.717 | | wordCount | 1472 | | matches | | 0 | "Not with pain, but with insistence, a beacon screaming *here*" | | 1 | "not a door opening but a swallowing" | | 2 | "not earth but something softer" | | 3 | "not with the wind, but with purpose, sliding toward the light as if drawn by thirst" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 110 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 39 | | mean | 37.74 | | std | 27.58 | | cv | 0.731 | | sampleLengths | | 0 | 13 | | 1 | 68 | | 2 | 4 | | 3 | 69 | | 4 | 16 | | 5 | 30 | | 6 | 38 | | 7 | 54 | | 8 | 40 | | 9 | 43 | | 10 | 10 | | 11 | 22 | | 12 | 3 | | 13 | 46 | | 14 | 28 | | 15 | 54 | | 16 | 32 | | 17 | 135 | | 18 | 3 | | 19 | 60 | | 20 | 27 | | 21 | 30 | | 22 | 55 | | 23 | 5 | | 24 | 69 | | 25 | 26 | | 26 | 71 | | 27 | 20 | | 28 | 33 | | 29 | 23 | | 30 | 56 | | 31 | 39 | | 32 | 22 | | 33 | 95 | | 34 | 7 | | 35 | 69 | | 36 | 29 | | 37 | 10 | | 38 | 18 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 101 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 200 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 110 | | ratio | 0.1 | | matches | | 0 | "Aurora stepped back, her boots crunching on frost-kissed gravel—or what had been frost-kissed gravel moments before." | | 1 | "They gestured toward the tear in reality—a shimmering distortion where the grey London sky peeled back to reveal something else entirely." | | 2 | "And Evan—God, Evan—had found her trail once before." | | 3 | "The ground was not earth but something softer—moss, perhaps, or velvet, or the dense thatch of a thousand overgrown vines." | | 4 | "Orchards heavy with fruit—pears the size of human heads, apples that glowed from within with a soft, bioluminescent blush—bent branches to the ground under their weight." | | 5 | "The path—if it was a path—wove between the vineyards, and Aurora noticed that the rows were not planted in soil but in something richer, darker." | | 6 | "Roast beasts turned on spits tended by figures that moved with the jerky precision of marionettes—helbound souls, Aurora realized, their eyes hollow, their mouths working in silent, endless chewing." | | 7 | "He was beautiful in the way a poisonous flower is beautiful—alluring, vibrant, and utterly lethal." | | 8 | "Aurora felt the pull—the desperate, gnawing need to sit, to eat, to consume until she burst." | | 9 | "\"But tell me, shade—do you know what it is to be hungry? Truly hungry? For three centuries, I have watched mortals gorge themselves to death, and still they come. Still they want more.\" He gestured, and the amber sky darkened, just for a moment, showing Aurora the truth—the endless cycle, the souls trapped in the kitchens, the endless consumption that fed something older and vaster than any prince." | | 10 | "\"For those with the appetite. And you, Aurora Carter, have such an appetite. I've tasted it. The way you fled London. The way you run from everything. You are hungry for escape. For change. For—\" he leaned in, close enough that she could smell his breath, sweet and rotting, \"—for me.\"" |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 603 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 12 | | adverbRatio | 0.01990049751243781 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.004975124378109453 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 110 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 110 | | mean | 13.38 | | std | 10.53 | | cv | 0.787 | | sampleLengths | | 0 | 13 | | 1 | 16 | | 2 | 16 | | 3 | 24 | | 4 | 2 | | 5 | 10 | | 6 | 4 | | 7 | 7 | | 8 | 20 | | 9 | 21 | | 10 | 21 | | 11 | 2 | | 12 | 8 | | 13 | 6 | | 14 | 5 | | 15 | 7 | | 16 | 18 | | 17 | 4 | | 18 | 13 | | 19 | 21 | | 20 | 25 | | 21 | 23 | | 22 | 6 | | 23 | 22 | | 24 | 9 | | 25 | 9 | | 26 | 8 | | 27 | 8 | | 28 | 3 | | 29 | 24 | | 30 | 5 | | 31 | 5 | | 32 | 13 | | 33 | 9 | | 34 | 3 | | 35 | 10 | | 36 | 20 | | 37 | 16 | | 38 | 5 | | 39 | 20 | | 40 | 3 | | 41 | 34 | | 42 | 3 | | 43 | 3 | | 44 | 14 | | 45 | 21 | | 46 | 11 | | 47 | 4 | | 48 | 20 | | 49 | 10 |
| |
| 51.82% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.35454545454545455 | | totalSentences | 110 | | uniqueOpeners | 39 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 94 | | matches | (empty) | | ratio | 0 | |
| 66.81% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 36 | | totalSentences | 94 | | matches | | 0 | "She clutched the Heartstone Pendant" | | 1 | "Their voice didn't come from" | | 2 | "It seeped from the shadows" | | 3 | "They gestured toward the tear" | | 4 | "Her left wrist, the crescent" | | 5 | "Her breath didn't mist in" | | 6 | "She had not expected to" | | 7 | "She had not expected to" | | 8 | "She needed answers." | | 9 | "She needed the Prince of" | | 10 | "she told Nyx" | | 11 | "They stepped through." | | 12 | "She landed on her palms." | | 13 | "She looked up." | | 14 | "It was beautiful." | | 15 | "It was wrong." | | 16 | "They were gardens of flavor:" | | 17 | "It overwhelmed her." | | 18 | "It made her mouth water," | | 19 | "It was a hunger for" |
| | ratio | 0.383 | |
| 29.15% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 81 | | totalSentences | 94 | | matches | | 0 | "The rift opened in the" | | 1 | "Aurora stepped back, her boots" | | 2 | "She clutched the Heartstone Pendant" | | 3 | "Their voice didn't come from" | | 4 | "It seeped from the shadows" | | 5 | "The Shade stood six feet" | | 6 | "They gestured toward the tear" | | 7 | "Her left wrist, the crescent" | | 8 | "A phantom sensation, or a" | | 9 | "Her breath didn't mist in" | | 10 | "The cold had vanished, replaced" | | 11 | "Nyx tilted their head." | | 12 | "The movement sent ripples through" | | 13 | "Isolde had given her the" | | 14 | "She had not expected to" | | 15 | "She had not expected to" | | 16 | "She needed answers." | | 17 | "She needed the Prince of" | | 18 | "she told Nyx" | | 19 | "The Shade's laugh was the" |
| | ratio | 0.862 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 94 | | matches | | 0 | "Now the stone steamed beneath" | | 1 | "*And it always does, in" | | 2 | "Now Aurora felt the blade's" |
| | ratio | 0.032 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 45 | | technicalSentenceCount | 12 | | matches | | 0 | "She clutched the Heartstone Pendant against her sternum, feeling its crimson core hammer against her ribs in a rhythm that matched her own pulse." | | 1 | "It seeped from the shadows pooling at Aurora's feet, coalescing into words that tasted of cold metal and distant thunder." | | 2 | "The cold had vanished, replaced by a wet, heavy warmth that smelled of roasting garlic and caramelized sugar." | | 3 | "*For when the feast turns to hunger*, the seer had said, her silver hair catching moonlight that shouldn't have existed in that clearing." | | 4 | "The sky was the color of honey held up to a flame, a vast and burning dome that stretched from horizon to horizon without a single cloud, without a sun to expla…" | | 5 | "Vineyards climbed hills that shouldn't exist, their grapes fat and black as bruises, dripping with a nectar that caught the amber light and refracted it into ra…" | | 6 | "Orchards heavy with fruit—pears the size of human heads, apples that glowed from within with a soft, bioluminescent blush—bent branches to the ground under thei…" | | 7 | "They were gardens of flavor: rows of crystalline spice pods that chimed in a breeze Aurora couldn't feel, hedges of sugar-cane that rustled with secrets, trees …" | | 8 | "It made her mouth water, made her stomach clench with a hunger that had nothing to do with the empty hours since her last meal." | | 9 | "Roast beasts turned on spits tended by figures that moved with the jerky precision of marionettes—helbound souls, Aurora realized, their eyes hollow, their mout…" | | 10 | "At the head of the central table sat a throne of woven vines and bone, and upon it lounged a figure that made Aurora's breath catch." | | 11 | "His skin was the color of the amber sky, his hair a cascade of black silk that seemed to drink the light." |
| |
| 83.33% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 12 | | uselessAdditionCount | 1 | | matches | | 0 | "he said, and his voice was the sound of a thousand stomachs growling in harmony" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 4 | | fancyTags | | 0 | "Nyx whispered (whisper)" | | 1 | "Nyx warned (warn)" | | 2 | "Aurora whispered (whisper)" | | 3 | "Belphegor corrected (correct)" |
| | dialogueSentences | 21 | | tagDensity | 0.429 | | leniency | 0.857 | | rawRatio | 0.444 | | effectiveRatio | 0.381 | |