| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 7 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 33 | | tagDensity | 0.212 | | leniency | 0.424 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1292 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 10.99% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1292 | | totalAiIsms | 23 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | |
| | highlights | | 0 | "loomed" | | 1 | "warmth" | | 2 | "pulse" | | 3 | "whisper" | | 4 | "shimmered" | | 5 | "sense of" | | 6 | "resolved" | | 7 | "weight" | | 8 | "etched" | | 9 | "silk" | | 10 | "stomach" | | 11 | "echoed" | | 12 | "resolving" | | 13 | "glint" | | 14 | "velvet" | | 15 | "could feel" | | 16 | "electric" | | 17 | "trembled" | | 18 | "flickered" |
| |
| 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 | 86 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 86 | | 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 | | maxSentenceWordsSeen | 51 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 5 | | markdownWords | 5 | | totalWords | 1284 | | ratio | 0.004 | | matches | | 0 | "need" | | 1 | "wrong" | | 2 | "see" | | 3 | "consuming" | | 4 | "he" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 23.36% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 63 | | wordCount | 1066 | | uniqueNames | 9 | | maxNameDensity | 2.53 | | worstName | "Rory" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Rory" | | discoveredNames | | Heartstone | 3 | | Pendant | 3 | | Nyx | 10 | | Rory | 27 | | Seer | 1 | | Isolde | 15 | | Belphegor | 2 | | Evan | 1 | | Fae-forged | 1 |
| | persons | | 0 | "Pendant" | | 1 | "Nyx" | | 2 | "Rory" | | 3 | "Isolde" | | 4 | "Belphegor" | | 5 | "Evan" |
| | places | (empty) | | globalScore | 0.234 | | windowScore | 0.5 | |
| 71.88% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 64 | | glossingSentenceCount | 2 | | matches | | 0 | "felt like she was breathing through wet" | | 1 | "felt like she was drowning in it" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.779 | | wordCount | 1284 | | matches | | 0 | "not the trees or the sky, but a swirling vortex of colors" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 111 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 39 | | mean | 32.92 | | std | 27.74 | | cv | 0.842 | | sampleLengths | | 0 | 70 | | 1 | 15 | | 2 | 49 | | 3 | 66 | | 4 | 3 | | 5 | 88 | | 6 | 12 | | 7 | 83 | | 8 | 11 | | 9 | 16 | | 10 | 18 | | 11 | 13 | | 12 | 28 | | 13 | 16 | | 14 | 32 | | 15 | 95 | | 16 | 17 | | 17 | 4 | | 18 | 55 | | 19 | 23 | | 20 | 17 | | 21 | 14 | | 22 | 102 | | 23 | 7 | | 24 | 12 | | 25 | 12 | | 26 | 81 | | 27 | 9 | | 28 | 65 | | 29 | 13 | | 30 | 16 | | 31 | 18 | | 32 | 47 | | 33 | 16 | | 34 | 36 | | 35 | 20 | | 36 | 44 | | 37 | 18 | | 38 | 23 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 86 | | matches | | |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 177 | | matches | | 0 | "was standing" | | 1 | "was breathing" | | 2 | "were sleepwalking" | | 3 | "was standing" | | 4 | "was watching" | | 5 | "was drowning" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 0 | | flaggedSentences | 8 | | totalSentences | 111 | | ratio | 0.072 | | matches | | 0 | "The air smelled of damp earth and something sweeter—honeysuckle, maybe, or the ghost of wildflowers that shouldn’t bloom this late in the year." | | 1 | "\"Isolde said the grove reveals itself to those who need it. And we *need* it.\" She didn’t add the rest—that the pendant had grown warmer with every step, that the air between the stones shimmered like heat haze over pavement, that her skin prickled with the sense of something watching." | | 2 | "She was exactly as Rory had imagined—ageless, ethereal, her pale lavender eyes holding the weight of centuries." | | 3 | "The surface reflected not the trees or the sky, but a swirling vortex of colors—deep crimson, bruised purple, the sickly yellow of old bruises." | | 4 | "The vortex of colors sharpened, resolving into an image—a sprawling city of golden spires and crumbling stone, its streets lined with stalls overflowing with food." | | 5 | "And among them, humans—pale, hollow-eyed, their movements sluggish, as if they were sleepwalking." | | 6 | "Now Rory saw a grand hall, its ceiling lost in shadow, its tables groaning under the weight of food—whole roasted beasts, towers of fruit, rivers of wine." | | 7 | "Behind him, the shadows writhed, and for a heartbeat, Rory thought she saw Evan’s face in the darkness—her ex, his eyes black with hunger, his fingers reaching for her." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1079 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 31 | | adverbRatio | 0.028730305838739572 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.006487488415199258 | |
| 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 | 11.57 | | std | 8.77 | | cv | 0.758 | | sampleLengths | | 0 | 22 | | 1 | 25 | | 2 | 23 | | 3 | 12 | | 4 | 3 | | 5 | 16 | | 6 | 17 | | 7 | 16 | | 8 | 7 | | 9 | 50 | | 10 | 4 | | 11 | 5 | | 12 | 3 | | 13 | 6 | | 14 | 22 | | 15 | 28 | | 16 | 17 | | 17 | 15 | | 18 | 7 | | 19 | 5 | | 20 | 3 | | 21 | 26 | | 22 | 1 | | 23 | 2 | | 24 | 17 | | 25 | 8 | | 26 | 26 | | 27 | 5 | | 28 | 6 | | 29 | 12 | | 30 | 4 | | 31 | 11 | | 32 | 7 | | 33 | 8 | | 34 | 5 | | 35 | 11 | | 36 | 17 | | 37 | 8 | | 38 | 8 | | 39 | 4 | | 40 | 25 | | 41 | 3 | | 42 | 18 | | 43 | 35 | | 44 | 15 | | 45 | 27 | | 46 | 7 | | 47 | 10 | | 48 | 2 | | 49 | 2 |
| |
| 59.76% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.3963963963963964 | | totalSentences | 111 | | uniqueOpeners | 44 | |
| 83.33% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 80 | | matches | | 0 | "Distantly, she heard the sound" | | 1 | "Instead, she reached into the" |
| | ratio | 0.025 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 12 | | totalSentences | 80 | | matches | | 0 | "she muttered, squinting at the" | | 1 | "Their violet eyes glowed faintly" | | 2 | "Their voice was a whisper," | | 3 | "She didn’t add the rest—that" | | 4 | "She didn’t need to." | | 5 | "She stepped forward." | | 6 | "She was too busy staring" | | 7 | "She was exactly as Rory" | | 8 | "She turned, her bare feet" | | 9 | "She was standing in the" | | 10 | "She recoiled, her breath coming" | | 11 | "Its surface was dull in" |
| | ratio | 0.15 | |
| 35.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 68 | | totalSentences | 80 | | matches | | 0 | "The standing stones loomed like" | | 1 | "Rory adjusted the strap of" | | 2 | "The air smelled of damp" | | 3 | "she muttered, squinting at the" | | 4 | "Nyx materialized beside her, their" | | 5 | "Their violet eyes glowed faintly" | | 6 | "Their voice was a whisper," | | 7 | "Rory exhaled, fog curling from" | | 8 | "She didn’t add the rest—that" | | 9 | "She didn’t need to." | | 10 | "Nyx would feel it too." | | 11 | "She stepped forward." | | 12 | "The world blurred at the" | | 13 | "Wildflowers carpeted the ground, their" | | 14 | "The air hummed, thick with" | | 15 | "Nyx let out a low," | | 16 | "Rory didn’t answer." | | 17 | "She was too busy staring" | | 18 | "She was exactly as Rory" | | 19 | "Rory’s gaze dropped to the" |
| | ratio | 0.85 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 80 | | matches | | 0 | "Before Rory could ask what" | | 1 | "Now Rory saw a grand" |
| | ratio | 0.025 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 41 | | technicalSentenceCount | 10 | | matches | | 0 | "The air smelled of damp earth and something sweeter—honeysuckle, maybe, or the ghost of wildflowers that shouldn’t bloom this late in the year." | | 1 | "Nyx materialized beside her, their form solidifying from the dusk shadows like ink bleeding into water." | | 2 | "Wildflowers carpeted the ground, their petals unfurling even as she watched, as if time itself had stuttered." | | 3 | "She was too busy staring at the woman who stood in the center of the clearing, her silver hair spilling over her shoulders like liquid moonlight." | | 4 | "Rory’s gaze dropped to the ground, searching for footprints, but the grass beneath Isolde’s bare feet was unbroken, as if she hadn’t walked there at all." | | 5 | "The trees here were ancient, their trunks wide enough that Rory couldn’t have wrapped her arms around them, their bark etched with symbols that made her eyes ac…" | | 6 | "The Heartstone Pendant burned against her skin, as if it recognized the hues." | | 7 | "And among them, humans—pale, hollow-eyed, their movements sluggish, as if they were sleepwalking." | | 8 | "Belphegor was watching her, his lips curled in a smile that made her blood turn to ice." | | 9 | "Nyx’s form flickered, their edges blurring like a candle guttering in the wind." |
| |
| 53.57% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 7 | | uselessAdditionCount | 1 | | matches | | 0 | "Isolde tilted, her gaze flicking to Nyx" |
| |
| 59.09% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 3 | | fancyTags | | 0 | "she muttered (mutter)" | | 1 | "She didn’t (do)" | | 2 | "Nyx breathed (breathe)" |
| | dialogueSentences | 33 | | tagDensity | 0.152 | | leniency | 0.303 | | rawRatio | 0.6 | | effectiveRatio | 0.182 | |