| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 33 | | tagDensity | 0.152 | | leniency | 0.303 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 95.74% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1174 | | totalAiIsmAdverbs | 1 | | 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) | |
| 61.67% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1174 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "familiar" | | 1 | "pulse" | | 2 | "could feel" | | 3 | "perfect" | | 4 | "shimmered" | | 5 | "depths" | | 6 | "pulsed" | | 7 | "whisper" |
| |
| 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 | 69 | | matches | (empty) | |
| 39.34% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 4 | | narrationSentences | 69 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 97 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 42 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1164 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 3 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 49 | | wordCount | 910 | | uniqueNames | 20 | | maxNameDensity | 1.54 | | worstName | "Rory" | | maxWindowNameDensity | 3 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 1 | | Park | 1 | | Sunday | 1 | | November | 1 | | Heartstone | 1 | | Fae-forged | 1 | | Rory | 14 | | Earth | 1 | | Seer | 1 | | Varga | 1 | | Eva | 3 | | Veil | 1 | | Nyx | 4 | | Boundary | 1 | | Barrier | 1 | | Six | 1 | | Dymas | 2 | | Fae | 2 | | Hel | 2 | | Isolde | 9 |
| | persons | | 0 | "Rory" | | 1 | "Seer" | | 2 | "Varga" | | 3 | "Eva" | | 4 | "Nyx" | | 5 | "Dymas" | | 6 | "Isolde" |
| | places | | | globalScore | 0.731 | | windowScore | 0.667 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 52 | | glossingSentenceCount | 5 | | matches | | 0 | "symbols that seemed to rearrange themselves when she looked away" | | 1 | "light that seemed to come from everywhere and nowhere" | | 2 | "something between a bell and a breath, carried" | | 3 | "looked like a trapped flame" | | 4 | "something close to a human shape beside Rory" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.859 | | wordCount | 1164 | | matches | | 0 | "Not colder or warmer, but different in a way she could taste" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 97 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 54 | | mean | 21.56 | | std | 20.61 | | cv | 0.956 | | sampleLengths | | 0 | 15 | | 1 | 34 | | 2 | 3 | | 3 | 83 | | 4 | 2 | | 5 | 46 | | 6 | 9 | | 7 | 1 | | 8 | 2 | | 9 | 44 | | 10 | 5 | | 11 | 4 | | 12 | 3 | | 13 | 72 | | 14 | 56 | | 15 | 17 | | 16 | 1 | | 17 | 3 | | 18 | 79 | | 19 | 6 | | 20 | 4 | | 21 | 4 | | 22 | 31 | | 23 | 51 | | 24 | 18 | | 25 | 4 | | 26 | 13 | | 27 | 14 | | 28 | 12 | | 29 | 25 | | 30 | 9 | | 31 | 12 | | 32 | 22 | | 33 | 44 | | 34 | 7 | | 35 | 6 | | 36 | 38 | | 37 | 39 | | 38 | 35 | | 39 | 13 | | 40 | 48 | | 41 | 31 | | 42 | 26 | | 43 | 2 | | 44 | 2 | | 45 | 43 | | 46 | 32 | | 47 | 4 | | 48 | 13 | | 49 | 12 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 69 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 156 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 97 | | ratio | 0.103 | | matches | | 0 | "One step forward—" | | 1 | "Not colder or warmer, but different in a way she could taste—like silver and crushed mint on the back of her tongue." | | 2 | "Time moved strangely here—she could feel it in the way shadows pooled beneath the stones without matching the position of the sun, in the way the wildflowers seemed to shift between budding and full bloom as she watched." | | 3 | "A sound reached her—something between a bell and a breath, carried on a wind she couldn't feel." | | 4 | "Isolde Varga looked exactly as Eva had described—ethereal, ageless, with waist-length silver hair that moved without wind." | | 5 | "The word snagged in Rory's memory—Eva's research, the hastily scrawled notes about realms and rulers and something called the Veil." | | 6 | "Rory couldn't—not the way they meant it." | | 7 | "Not hell—the distinction mattered, according to Eva's notes." | | 8 | "The old habit surfaced in moments of stress—a ghost of childhood pain she'd long since learned to ignore." | | 9 | "Isolde's expression shifted—something almost like sympathy crossing her ageless features before it vanished." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 922 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 26 | | adverbRatio | 0.028199566160520606 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.006507592190889371 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 97 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 97 | | mean | 12 | | std | 8.76 | | cv | 0.73 | | sampleLengths | | 0 | 15 | | 1 | 5 | | 2 | 26 | | 3 | 3 | | 4 | 3 | | 5 | 4 | | 6 | 22 | | 7 | 27 | | 8 | 30 | | 9 | 2 | | 10 | 18 | | 11 | 13 | | 12 | 15 | | 13 | 9 | | 14 | 1 | | 15 | 2 | | 16 | 8 | | 17 | 20 | | 18 | 16 | | 19 | 5 | | 20 | 4 | | 21 | 1 | | 22 | 2 | | 23 | 8 | | 24 | 26 | | 25 | 38 | | 26 | 21 | | 27 | 24 | | 28 | 6 | | 29 | 5 | | 30 | 17 | | 31 | 1 | | 32 | 3 | | 33 | 26 | | 34 | 13 | | 35 | 20 | | 36 | 20 | | 37 | 6 | | 38 | 4 | | 39 | 4 | | 40 | 5 | | 41 | 26 | | 42 | 17 | | 43 | 14 | | 44 | 20 | | 45 | 14 | | 46 | 4 | | 47 | 4 | | 48 | 13 | | 49 | 4 |
| |
| 55.33% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.38144329896907214 | | totalSentences | 97 | | uniqueOpeners | 37 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 63 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 12 | | totalSentences | 63 | | matches | | 0 | "She took it." | | 1 | "They moved without sound, their" | | 2 | "She pulled it free and" | | 3 | "She pressed forward, weaving between" | | 4 | "She'd taken the blade anyway." | | 5 | "Its bark shimmered with opalescent" | | 6 | "Her lavender eyes held depths" | | 7 | "She wore a simple dress" | | 8 | "She'd barely skimmed them." | | 9 | "She trailed her fingers along" | | 10 | "She turned, silver hair catching" | | 11 | "Their form solidified further, taking" |
| | ratio | 0.19 | |
| 23.49% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 55 | | totalSentences | 63 | | matches | | 0 | "The ancient oaks parted like" | | 1 | "Rory stopped at the threshold." | | 2 | "She took it." | | 3 | "The air changed first." | | 4 | "The ground beneath her boots" | | 5 | "Bluebells clustered around the base" | | 6 | "Nyx materialised at her shoulder," | | 7 | "The violet glow of their" | | 8 | "They moved without sound, their" | | 9 | "Rory touched the Heartstone pendant" | | 10 | "The gemstone had warmed the" | | 11 | "She pulled it free and" | | 12 | "She pressed forward, weaving between" | | 13 | "Each one stood at least" | | 14 | "Time moved strangely here—she could" | | 15 | "The Fae-forged blade hung heavy" | | 16 | "Isolde had pressed it into" | | 17 | "Rory hadn't understood half of" | | 18 | "She'd taken the blade anyway." | | 19 | "A sound reached her—something between" |
| | ratio | 0.873 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 63 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 40 | | technicalSentenceCount | 9 | | matches | | 0 | "The ground beneath her boots shifted from compacted earth to something softer, yielding, covered in a carpet of flowers that had no business blooming in late No…" | | 1 | "Bluebells clustered around the base of standing stones that rose from the mist like broken teeth, their surfaces carved with symbols that seemed to rearrange th…" | | 2 | "The Fae-forged blade hung heavy against her hip, its moonsilver edge catching light that seemed to come from everywhere and nowhere." | | 3 | "Roots the thickness of her torso spread across the clearing in patterns that matched the carvings on the boundary stones." | | 4 | "Isolde Varga looked exactly as Eva had described—ethereal, ageless, with waist-length silver hair that moved without wind." | | 5 | "Her lavender eyes held depths that made Rory think of staring into well water." | | 6 | "Nyx drifted closer, their form rippling with something that might have been agitation." | | 7 | "But she could see the faint shimmer in the air above the opalescent tree, a distortion like heat haze that hurt to look at directly." | | 8 | "Rory had six days to understand why a realm called Dymas had sent her a blood-warm pendant, why a Fae exile had armed her with a blade that could cut through ma…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |