| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 22 | | adverbTagCount | 2 | | adverbTags | | 0 | "She inhaled deeply [deeply]" | | 1 | "\"—must also [also]" |
| | dialogueSentences | 35 | | tagDensity | 0.629 | | leniency | 1 | | rawRatio | 0.091 | | effectiveRatio | 0.091 | |
| 92.79% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1387 | | 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) | |
| 31.51% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1387 | | totalAiIsms | 19 | | found | | | highlights | | 0 | "pulsed" | | 1 | "warmth" | | 2 | "quickened" | | 3 | "shimmered" | | 4 | "familiar" | | 5 | "stomach" | | 6 | "desire" | | 7 | "silk" | | 8 | "perfect" | | 9 | "crystalline" | | 10 | "echoed" | | 11 | "streaming" | | 12 | "crystallized" | | 13 | "depths" |
| |
| 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 | 97 | | matches | (empty) | |
| 98.67% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 97 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 111 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 51 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1377 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 67.51% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 47 | | wordCount | 1091 | | uniqueNames | 12 | | maxNameDensity | 1.65 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Rory" | | discoveredNames | | Heartstone | 2 | | Rory | 18 | | Veil | 1 | | Dymas | 2 | | Nyx | 8 | | Isolde | 8 | | Fae | 2 | | Yu-Fei | 1 | | Golden | 1 | | Empress | 1 | | Belphegor | 2 | | Prince | 1 |
| | persons | | 0 | "Rory" | | 1 | "Nyx" | | 2 | "Isolde" | | 3 | "Yu-Fei" | | 4 | "Belphegor" | | 5 | "Prince" |
| | places | | | globalScore | 0.675 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 73 | | glossingSentenceCount | 1 | | matches | | 0 | "soil that seemed to breathe" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 4 | | per1kWords | 2.905 | | wordCount | 1377 | | matches | | 0 | "not music, exactly, but rhythm" | | 1 | "not pantries but dining chambers, tables groaning with food" | | 2 | "not teeth but something crystalline, something" | | 3 | "no longer gliding but" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 111 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 42 | | mean | 32.79 | | std | 18.17 | | cv | 0.554 | | sampleLengths | | 0 | 58 | | 1 | 37 | | 2 | 29 | | 3 | 32 | | 4 | 51 | | 5 | 9 | | 6 | 59 | | 7 | 25 | | 8 | 43 | | 9 | 40 | | 10 | 41 | | 11 | 20 | | 12 | 47 | | 13 | 21 | | 14 | 50 | | 15 | 27 | | 16 | 19 | | 17 | 64 | | 18 | 58 | | 19 | 14 | | 20 | 1 | | 21 | 16 | | 22 | 46 | | 23 | 46 | | 24 | 6 | | 25 | 6 | | 26 | 5 | | 27 | 67 | | 28 | 33 | | 29 | 30 | | 30 | 19 | | 31 | 47 | | 32 | 21 | | 33 | 48 | | 34 | 31 | | 35 | 7 | | 36 | 54 | | 37 | 59 | | 38 | 25 | | 39 | 30 | | 40 | 29 | | 41 | 7 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 97 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 202 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 111 | | ratio | 0.09 | | matches | | 0 | "The vines here grew wrong—too thick, too eager, clusters of fruit that gleamed with inner light, heavy enough to bend the trellises toward the amber ground." | | 1 | "\"—the smells will make you weep, seer. Do not follow them.\"" | | 2 | "The scent hit her like a physical blow—roasting meat, baking bread, the sharp green of herbs she couldn't name, sweetness of caramelizing sugar." | | 3 | "They wound downward, into a valley where structures rose—not built so much as grown, walls of compressed vine and bone-white stone, roofs of woven thatch that steamed with perpetual warmth." | | 4 | "A sound reached them—not music, exactly, but rhythm." | | 5 | "She followed its pull, down a corridor lined with pantries—doors of dark wood, brass handles shaped like grasping hands." | | 6 | "\"—to be wanted. To be consumed.\"" | | 7 | "Not all at once—one, then another, the brass hands turning themselves, revealing not pantries but dining chambers, tables groaning with food that steamed and shifted and occasionally moved of its own accord." | | 8 | "\"—must also be consumed. There is a hunger that even Belphegor cannot satisfy. The hunger of the one who opened your rift. The hunger that wears your name like a promise.\"" | | 9 | "The Prince's table stretched into amber distance, a banquet without end, and at its center, rising from a throne of compressed bone and crystallized sugar, a shape that was almost Belphegor and almost not—too vast, too many limbs, too many mouths opening in directions that didn't exist in Rory's world." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 647 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 16 | | adverbRatio | 0.02472952086553323 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.00463678516228748 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 111 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 111 | | mean | 12.41 | | std | 8.94 | | cv | 0.721 | | sampleLengths | | 0 | 19 | | 1 | 26 | | 2 | 13 | | 3 | 37 | | 4 | 18 | | 5 | 11 | | 6 | 8 | | 7 | 13 | | 8 | 11 | | 9 | 16 | | 10 | 22 | | 11 | 13 | | 12 | 5 | | 13 | 4 | | 14 | 6 | | 15 | 26 | | 16 | 17 | | 17 | 3 | | 18 | 7 | | 19 | 10 | | 20 | 15 | | 21 | 15 | | 22 | 28 | | 23 | 10 | | 24 | 19 | | 25 | 11 | | 26 | 3 | | 27 | 5 | | 28 | 23 | | 29 | 3 | | 30 | 7 | | 31 | 14 | | 32 | 6 | | 33 | 2 | | 34 | 15 | | 35 | 30 | | 36 | 8 | | 37 | 13 | | 38 | 2 | | 39 | 8 | | 40 | 15 | | 41 | 17 | | 42 | 8 | | 43 | 8 | | 44 | 7 | | 45 | 7 | | 46 | 5 | | 47 | 3 | | 48 | 16 | | 49 | 6 |
| |
| 65.47% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.44144144144144143 | | totalSentences | 111 | | uniqueOpeners | 49 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 87 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 22 | | totalSentences | 87 | | matches | | 0 | "She'd found the rift in" | | 1 | "She stopped, pale lavender eyes" | | 2 | "It pulsed harder, insistent." | | 3 | "They moved into the vineyard" | | 4 | "Her stomach growled." | | 5 | "She pressed her palm flat" | | 6 | "She stopped at a stone" | | 7 | "She inhaled deeply, ethereal features" | | 8 | "Her knees buckled." | | 9 | "She gripped the archway stone," | | 10 | "They wound downward, into a" | | 11 | "She thought of Yu-Fei's Golden" | | 12 | "She followed its pull, down" | | 13 | "She stopped, silver brows drawing" | | 14 | "They pressed deeper." | | 15 | "Their violet eyes remained, floating" | | 16 | "They searched for the word" | | 17 | "Its jaw unhinged, impossibly wide," | | 18 | "it whispered, and the word" | | 19 | "Their touch was cold, the" |
| | ratio | 0.253 | |
| 23.22% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 76 | | totalSentences | 87 | | matches | | 0 | "The Heartstone pendant pulsed against" | | 1 | "She'd found the rift in" | | 2 | "The Veil there shimmered wrong," | | 3 | "Nyx said, their voice the" | | 4 | "Rory adjusted the strap of" | | 5 | "The Fae blade hung at" | | 6 | "Isolde's silver hair caught light" | | 7 | "She stopped, pale lavender eyes" | | 8 | "Rory's hand found the pendant." | | 9 | "It pulsed harder, insistent." | | 10 | "They moved into the vineyard" | | 11 | "The vines here grew wrong—too" | | 12 | "The air tasted of wine" | | 13 | "Her stomach growled." | | 14 | "She pressed her palm flat" | | 15 | "Nyx said, though they hadn't" | | 16 | "Isolde had already moved ahead," | | 17 | "She stopped at a stone" | | 18 | "She inhaled deeply, ethereal features" | | 19 | "\"—the smells will make you" |
| | ratio | 0.874 | |
| 57.47% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 87 | | matches | | | ratio | 0.011 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 32 | | technicalSentenceCount | 10 | | matches | | 0 | "The Heartstone pendant pulsed against Rory's chest, a heartbeat of crimson warmth that quickened as they crossed the threshold." | | 1 | "The Veil there shimmered wrong, a heat-haze distortion that made her eyes water." | | 2 | "Now she stood at the edge of Dymas with Nyx solidifying beside her, a figure of living darkness that drank the amber light, and Isolde gliding forward on bare f…" | | 3 | "The vines here grew wrong—too thick, too eager, clusters of fruit that gleamed with inner light, heavy enough to bend the trellises toward the amber ground." | | 4 | "The air tasted of wine and something else, something that made Rory's mouth water despite her fear." | | 5 | "They wound downward, into a valley where structures rose—not built so much as grown, walls of compressed vine and bone-white stone, roofs of woven thatch that s…" | | 6 | "Not all at once—one, then another, the brass hands turning themselves, revealing not pantries but dining chambers, tables groaning with food that steamed and sh…" | | 7 | "Hollow-eyed, mouths working silently, hands clawing at food that passed through them like smoke." | | 8 | "Its jaw unhinged, impossibly wide, and it smiled with teeth that were not teeth but something crystalline, something that had grown in the dark." | | 9 | "The Prince's table stretched into amber distance, a banquet without end, and at its center, rising from a throne of compressed bone and crystallized sugar, a sh…" |
| |
| 79.55% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 22 | | uselessAdditionCount | 2 | | matches | | 0 | "Isolde said, not looking at the doors" | | 1 | "it whispered, and the word echoed from a dozen throats" |
| |
| 35.71% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 4 | | fancyTags | | 0 | "the smells will (will)" | | 1 | "Isolde murmured (murmur)" | | 2 | "it whispered (whisper)" | | 3 | "Rory gasped (gasp)" |
| | dialogueSentences | 35 | | tagDensity | 0.314 | | leniency | 0.629 | | rawRatio | 0.364 | | effectiveRatio | 0.229 | |