| 82.35% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 17 | | adverbTagCount | 2 | | adverbTags | | 0 | "she said softly [softly]" | | 1 | "Nyx said quietly [quietly]" |
| | dialogueSentences | 31 | | tagDensity | 0.548 | | leniency | 1 | | rawRatio | 0.118 | | effectiveRatio | 0.118 | |
| 86.83% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1519 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "very" | | 1 | "softly" | | 2 | "slowly" |
| |
| 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) | |
| 60.50% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1519 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "shimmered" | | 1 | "chill" | | 2 | "whisper" | | 3 | "could feel" | | 4 | "stomach" | | 5 | "resolve" | | 6 | "flickered" | | 7 | "perfect" | | 8 | "affection" | | 9 | "pulsed" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "blood ran cold" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 87 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 87 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 101 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 44 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1496 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 16 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 34 | | wordCount | 1211 | | uniqueNames | 10 | | maxNameDensity | 0.99 | | worstName | "Aurora" | | maxWindowNameDensity | 2 | | worstWindowName | "Aurora" | | discoveredNames | | Veil | 3 | | December | 2 | | Aurora | 12 | | Heartstone | 1 | | Isolde | 2 | | Nyx | 10 | | Fae-forged | 1 | | Dymas | 1 | | Manchester | 1 | | Earth | 1 |
| | persons | | 0 | "Veil" | | 1 | "December" | | 2 | "Aurora" | | 3 | "Heartstone" | | 4 | "Isolde" | | 5 | "Nyx" | | 6 | "Dymas" | | 7 | "Earth" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 64 | | glossingSentenceCount | 4 | | matches | | 0 | "smelled like every good meal she had ever" | | 1 | "smelled like honey" | | 2 | "sounded like affection" | | 3 | "something like dusk, and in the dimness she" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 2.005 | | wordCount | 1496 | | matches | | 0 | "Not gold, not orange, not any color a sunset had ever worn, but amber" | | 1 | "not orange, not any color a sunset had ever worn, but amber" | | 2 | "not any color a sunset had ever worn, but amber" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 101 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 41 | | mean | 36.49 | | std | 26.28 | | cv | 0.72 | | sampleLengths | | 0 | 73 | | 1 | 6 | | 2 | 49 | | 3 | 59 | | 4 | 5 | | 5 | 6 | | 6 | 64 | | 7 | 43 | | 8 | 5 | | 9 | 89 | | 10 | 4 | | 11 | 17 | | 12 | 98 | | 13 | 49 | | 14 | 42 | | 15 | 18 | | 16 | 67 | | 17 | 4 | | 18 | 19 | | 19 | 11 | | 20 | 51 | | 21 | 93 | | 22 | 28 | | 23 | 8 | | 24 | 23 | | 25 | 29 | | 26 | 50 | | 27 | 21 | | 28 | 19 | | 29 | 75 | | 30 | 36 | | 31 | 43 | | 32 | 16 | | 33 | 45 | | 34 | 74 | | 35 | 24 | | 36 | 22 | | 37 | 32 | | 38 | 12 | | 39 | 50 | | 40 | 17 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 87 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 204 | | matches | | 0 | "were replenishing" | | 1 | "was being" | | 2 | "was dragging" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 19 | | semicolonCount | 0 | | flaggedSentences | 15 | | totalSentences | 101 | | ratio | 0.149 | | matches | | 0 | "The tear in the Veil shimmered between two ancient oaks, a distortion in the air like heat rising off summer pavement—except it was December, and Aurora's breath fogged white in the cold." | | 1 | "Nyx unfolded from the shadow of the nearest stone, rising to their full height—a silhouette of living dark, violet eyes glowing faintly like embers behind smoked glass." | | 2 | "Heat struck her first—thick, humid heat that wrapped around her like a wet blanket after the December chill." | | 3 | "Not gold, not orange, not any color a sunset had ever worn, but amber—warm and translucent, as if the whole vault of heaven were fossilized resin with the light trapped inside it." | | 4 | "Vineyards rolled in impossible geometry, their rows curving in spirals that hurt to follow with the eye, heavy with grapes the size of plums in colors Aurora had no names for—one cluster glowed faintly from within, as if each fruit held a candle." | | 5 | "And threading through it all, canals of something that steamed and shimmered—not water." | | 6 | "Where their shadow-feet touched the earth, the grass—crimson-bladed, she noticed now—bent away as if from cold." | | 7 | "Up close, the vines were wrong in ways she couldn't immediately articulate—then she saw it." | | 8 | "Figures moved among the tables—some of them human-shaped, some emphatically not, things with too many arms gliding between platters, a vast shape at the far end of the valley that Aurora's eyes slid off of, refusing to resolve." | | 9 | "And that was when Aurora heard it—a voice, raised above the kitchen clamor from a pavilion just below them, speaking in a broad Manchester accent." | | 10 | "\"—told you, the sauce breaks if you rush the reduction, you absolute muppet, I've only made it four thousand bloody times—\"" | | 11 | "Grabbed Nyx's arm—their substance was cool and faintly resistant, like pushing her hand into deep water—and pointed." | | 12 | "She memorized the pavilion—the golden tree beside it, the blue-white flame, the man with the flour on his hands." | | 13 | "The amber light had begun to shift, dimming toward something like dusk, and in the dimness she saw the Veil—or where the Veil should be—shimmering thin as tissue between the distant hills." | | 14 | "A bell rang out across the valley—deep, sonorous, wrong." |
| |
| 98.27% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 953 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 40 | | adverbRatio | 0.04197271773347324 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.012591815320041973 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 101 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 101 | | mean | 14.81 | | std | 9.29 | | cv | 0.628 | | sampleLengths | | 0 | 32 | | 1 | 13 | | 2 | 28 | | 3 | 6 | | 4 | 17 | | 5 | 13 | | 6 | 19 | | 7 | 23 | | 8 | 36 | | 9 | 5 | | 10 | 6 | | 11 | 27 | | 12 | 20 | | 13 | 17 | | 14 | 11 | | 15 | 23 | | 16 | 9 | | 17 | 5 | | 18 | 18 | | 19 | 3 | | 20 | 15 | | 21 | 32 | | 22 | 4 | | 23 | 17 | | 24 | 4 | | 25 | 17 | | 26 | 17 | | 27 | 43 | | 28 | 15 | | 29 | 13 | | 30 | 10 | | 31 | 14 | | 32 | 23 | | 33 | 12 | | 34 | 14 | | 35 | 16 | | 36 | 12 | | 37 | 8 | | 38 | 10 | | 39 | 5 | | 40 | 15 | | 41 | 16 | | 42 | 4 | | 43 | 2 | | 44 | 16 | | 45 | 9 | | 46 | 4 | | 47 | 6 | | 48 | 13 | | 49 | 11 |
| |
| 72.94% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.45544554455445546 | | totalSentences | 101 | | uniqueOpeners | 46 | |
| 43.29% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 77 | | matches | | | ratio | 0.013 | |
| 90.13% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 25 | | totalSentences | 77 | | matches | | 0 | "She stared at it, one" | | 1 | "they said, and their voice" | | 2 | "She took a breath, nodded" | | 3 | "She blinked against it, and" | | 4 | "she said softly" | | 5 | "They stood on a hillside" | | 6 | "It moved too slowly, caught" | | 7 | "Her stomach clenched with sudden," | | 8 | "They descended into the vineyards." | | 9 | "She stopped in front of" | | 10 | "It strained toward her skin" | | 11 | "She thought about that as" | | 12 | "They crested a low rise" | | 13 | "She had no answer for" | | 14 | "She touched the cold dagger" | | 15 | "They skirted the valley's edge," | | 16 | "He was solid, ordinary, flour-dusted" | | 17 | "He moved through his station" | | 18 | "Her ex used to call" | | 19 | "She looked anyway." |
| | ratio | 0.325 | |
| 63.90% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 61 | | totalSentences | 77 | | matches | | 0 | "The tear in the Veil" | | 1 | "She stared at it, one" | | 2 | "The Heartstone had gone from" | | 3 | "Isolde stood at the boundary" | | 4 | "The seer's silver hair hung" | | 5 | "Isolde's gaze drifted to the" | | 6 | "Nyx unfolded from the shadow" | | 7 | "they said, and their voice" | | 8 | "Aurora checked the Fae-forged blade" | | 9 | "The moonsilver was cold even" | | 10 | "She took a breath, nodded" | | 11 | "The world tore and reknit." | | 12 | "Heat struck her first—thick, humid" | | 13 | "She blinked against it, and" | | 14 | "The light simply was, sourceless" | | 15 | "she said softly" | | 16 | "Nyx came through behind her," | | 17 | "They stood on a hillside" | | 18 | "Vineyards rolled in impossible geometry," | | 19 | "Orchards shouldered up against the" |
| | ratio | 0.792 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 77 | | matches | (empty) | | ratio | 0 | |
| 14.29% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 50 | | technicalSentenceCount | 9 | | matches | | 0 | "The Heartstone had gone from faintly warm to almost hot against her sternum, pulsing in a slow rhythm that matched, she realized with a chill, her own heartbeat…" | | 1 | "Not gold, not orange, not any color a sunset had ever worn, but amber—warm and translucent, as if the whole vault of heaven were fossilized resin with the light…" | | 2 | "Vineyards rolled in impossible geometry, their rows curving in spirals that hurt to follow with the eye, heavy with grapes the size of plums in colors Aurora ha…" | | 3 | "Orchards shouldered up against the vineyards, trees bowed under fruit that gleamed like polished stone." | | 4 | "And threading through it all, canals of something that steamed and shimmered—not water." | | 5 | "Where their shadow-feet touched the earth, the grass—crimson-bladed, she noticed now—bent away as if from cold." | | 6 | "The sound reached them before the sight: music, wild and complicated, fiddles and drums and something that might have been a choir, and beneath it the clatter o…" | | 7 | "And everywhere, the plates emptied and refilled, emptied and refilled, as if the tables themselves were replenishing." | | 8 | "In the pavilion, a human man worked a stove that burned with blue-white flame." |
| |
| 95.59% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 17 | | uselessAdditionCount | 1 | | matches | | 0 | "Nyx whispered, the wind-voice thin as thread" |
| |
| 20.97% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 14 | | fancyCount | 4 | | fancyTags | | 0 | "Nyx murmured (murmur)" | | 1 | "Nyx whispered (whisper)" | | 2 | "she breathed (breathe)" | | 3 | "Nyx whispered (whisper)" |
| | dialogueSentences | 31 | | tagDensity | 0.452 | | leniency | 0.903 | | rawRatio | 0.286 | | effectiveRatio | 0.258 | |