| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 1 | | adverbTags | | 0 | "Nyx drifted around [around]" |
| | dialogueSentences | 30 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.067 | | effectiveRatio | 0.067 | |
| 87.83% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1233 | | totalAiIsmAdverbs | 3 | | 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 | 1233 | | totalAiIsms | 25 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | | | 19 | | | 20 | | | 21 | |
| | highlights | | 0 | "silk" | | 1 | "racing" | | 2 | "fractured" | | 3 | "pulsed" | | 4 | "marble" | | 5 | "chill" | | 6 | "intricate" | | 7 | "measured" | | 8 | "rhythmic" | | 9 | "vibrated" | | 10 | "churn" | | 11 | "tracing" | | 12 | "shattered" | | 13 | "quivered" | | 14 | "warmth" | | 15 | "maw" | | 16 | "echoed" | | 17 | "weight" | | 18 | "gleaming" | | 19 | "scanning" | | 20 | "pulse" | | 21 | "beacon" |
| |
| 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 | 66 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 66 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 81 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 33 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1232 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 64.83% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 33 | | wordCount | 998 | | uniqueNames | 7 | | maxNameDensity | 1.7 | | worstName | "Rory" | | maxWindowNameDensity | 3 | | worstWindowName | "Rory" | | discoveredNames | | Veil | 1 | | Heartstone | 2 | | Rory | 17 | | Shade | 2 | | Fae-forged | 1 | | Isolde | 5 | | Nyx | 5 |
| | persons | | 0 | "Veil" | | 1 | "Heartstone" | | 2 | "Rory" | | 3 | "Shade" | | 4 | "Isolde" | | 5 | "Nyx" |
| | places | (empty) | | globalScore | 0.648 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 63 | | glossingSentenceCount | 1 | | matches | | 0 | "as though clutching the wrists of whoever sat there" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1232 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 81 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 36 | | mean | 34.22 | | std | 20.64 | | cv | 0.603 | | sampleLengths | | 0 | 21 | | 1 | 68 | | 2 | 3 | | 3 | 38 | | 4 | 39 | | 5 | 69 | | 6 | 28 | | 7 | 8 | | 8 | 21 | | 9 | 86 | | 10 | 10 | | 11 | 32 | | 12 | 63 | | 13 | 32 | | 14 | 46 | | 15 | 56 | | 16 | 23 | | 17 | 3 | | 18 | 14 | | 19 | 25 | | 20 | 17 | | 21 | 48 | | 22 | 69 | | 23 | 22 | | 24 | 15 | | 25 | 56 | | 26 | 25 | | 27 | 48 | | 28 | 29 | | 29 | 41 | | 30 | 7 | | 31 | 54 | | 32 | 15 | | 33 | 39 | | 34 | 29 | | 35 | 33 |
| |
| 94.63% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 66 | | matches | | 0 | "were shaped" | | 1 | "were carved" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 152 | | matches | (empty) | |
| 72.31% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 1 | | semicolonCount | 1 | | flaggedSentences | 2 | | totalSentences | 81 | | ratio | 0.025 | | matches | | 0 | "Where her boots met the mossy flagstones, not a single lichen crushed; she left no trace on the earth." | | 1 | "Sprawling orchards clung to the architecture, heavy with fruit that Rory had no names for—gourds that pulsed with pale, internal light, and clusters of translucent berries the color of arterial blood." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1005 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 18 | | adverbRatio | 0.01791044776119403 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.004975124378109453 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 81 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 81 | | mean | 15.21 | | std | 6.44 | | cv | 0.423 | | sampleLengths | | 0 | 21 | | 1 | 12 | | 2 | 20 | | 3 | 22 | | 4 | 14 | | 5 | 3 | | 6 | 6 | | 7 | 19 | | 8 | 13 | | 9 | 12 | | 10 | 27 | | 11 | 17 | | 12 | 6 | | 13 | 16 | | 14 | 19 | | 15 | 11 | | 16 | 4 | | 17 | 24 | | 18 | 8 | | 19 | 21 | | 20 | 14 | | 21 | 19 | | 22 | 31 | | 23 | 22 | | 24 | 10 | | 25 | 20 | | 26 | 12 | | 27 | 8 | | 28 | 20 | | 29 | 15 | | 30 | 20 | | 31 | 20 | | 32 | 12 | | 33 | 14 | | 34 | 20 | | 35 | 12 | | 36 | 5 | | 37 | 8 | | 38 | 23 | | 39 | 20 | | 40 | 11 | | 41 | 12 | | 42 | 3 | | 43 | 14 | | 44 | 13 | | 45 | 12 | | 46 | 11 | | 47 | 6 | | 48 | 22 | | 49 | 17 |
| |
| 81.07% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.5308641975308642 | | totalSentences | 81 | | uniqueOpeners | 43 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 66 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 8 | | totalSentences | 66 | | matches | | 0 | "She regained her footing in" | | 1 | "She glided down the basalt" | | 2 | "Her waist-length silver hair caught" | | 3 | "They stood atop a colossal" | | 4 | "Its leaf-shaped edge cast a" | | 5 | "She adjusted her grip, the" | | 6 | "She stopped, crouching low, her" | | 7 | "They reached the floor of" |
| | ratio | 0.121 | |
| 50.91% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 54 | | totalSentences | 66 | | matches | | 0 | "The shimmering film of the" | | 1 | "Rory stumbled across the threshold," | | 2 | "She regained her footing in" | | 3 | "The deep crimson gem cast" | | 4 | "Nyx poured forward from Rory’s" | | 5 | "The living shadow rose to" | | 6 | "Wisps of darkness drifted from" | | 7 | "Isolde noted, her voice drifting" | | 8 | "She glided down the basalt" | | 9 | "Her waist-length silver hair caught" | | 10 | "Rory drew a breath." | | 11 | "The air rolled down her" | | 12 | "Isolde murmured, her pale lavender" | | 13 | "They stood atop a colossal" | | 14 | "Tier upon tier of ancient" | | 15 | "Nyx’s shadow-tendrils flared, tasting the" | | 16 | "the Shade hissed, their voice" | | 17 | "Rory unhooked the Fae-forged blade" | | 18 | "The moonsilver metal bit into" | | 19 | "Its leaf-shaped edge cast a" |
| | ratio | 0.818 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 66 | | matches | (empty) | | ratio | 0 | |
| 23.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 42 | | technicalSentenceCount | 7 | | matches | | 0 | "Beneath the fabric, the Heartstone pendant burned against her chest, a steady, furious thrum that matched the rhythm of her racing heart." | | 1 | "Her waist-length silver hair caught the amber glow, floating behind her as if submerged in water." | | 2 | "They stood atop a colossal terrace that tumbled into a valley of impossible proportions." | | 3 | "Blocks of black granite, cut with geometric precision that defied human engineering, formed retaining walls that held back surging tides of alien flora." | | 4 | "She stopped, crouching low, her knuckles grazing the edge of a step." | | 5 | "The blossoms were shaped like open mouths, lined with pale, hair-like filaments that quivered as she passed." | | 6 | "Inside it, a pool of black liquid bubbled lazily, releasing steam that smelled sharply of fermented plums." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 4 | | matches | | 0 | "Isolde noted, her voice drifting like fine linen over the stone" | | 1 | "Isolde murmured, her pale lavender eyes fixed on the expanse below" | | 2 | "the Shade hissed, their voice a dry rustle of autumn leaves" | | 3 | "Rory kept, her eyes scanning the shadows beneath the ruined colonnade" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 9 | | fancyTags | | 0 | "Isolde noted (note)" | | 1 | "Isolde murmured (murmur)" | | 2 | "the Shade hissed (hiss)" | | 3 | "Rory stated (state)" | | 4 | "the Shade whispered (whisper)" | | 5 | "Rory muttered (mutter)" | | 6 | "Rory observed (observe)" | | 7 | "Isolde agreed (agree)" | | 8 | "Nyx warned (warn)" |
| | dialogueSentences | 30 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0.9 | | effectiveRatio | 0.6 | |