| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 23 | | adverbTagCount | 2 | | adverbTags | | 0 | "Nyx said sharply [sharply]" | | 1 | "she said quietly [quietly]" |
| | dialogueSentences | 47 | | tagDensity | 0.489 | | leniency | 0.979 | | rawRatio | 0.087 | | effectiveRatio | 0.085 | |
| 84.03% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1565 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "slightly" | | 1 | "sharply" | | 2 | "completely" | | 3 | "very" |
| |
| 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) | |
| 58.47% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1565 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "pulse" | | 1 | "warmth" | | 2 | "echo" | | 3 | "pulsed" | | 4 | "kaleidoscope" | | 5 | "perfect" | | 6 | "rhythmic" | | 7 | "could feel" | | 8 | "shimmered" | | 9 | "churning" | | 10 | "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 | 101 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 101 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 125 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 41 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1553 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 22 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 44 | | wordCount | 1080 | | uniqueNames | 7 | | maxNameDensity | 1.39 | | worstName | "Rory" | | maxWindowNameDensity | 3 | | worstWindowName | "Isolde" | | discoveredNames | | Fae | 2 | | Grove | 1 | | Nyx | 10 | | Rory | 15 | | Isolde | 14 | | Seer | 1 | | Cardiff | 1 |
| | persons | | 0 | "Nyx" | | 1 | "Rory" | | 2 | "Isolde" | | 3 | "Seer" |
| | places | | | globalScore | 0.806 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 66 | | glossingSentenceCount | 1 | | matches | | 0 | "felt like cutting a lifeline" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1553 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 125 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 59 | | mean | 26.32 | | std | 21.86 | | cv | 0.831 | | sampleLengths | | 0 | 11 | | 1 | 45 | | 2 | 49 | | 3 | 11 | | 4 | 4 | | 5 | 44 | | 6 | 69 | | 7 | 4 | | 8 | 50 | | 9 | 2 | | 10 | 6 | | 11 | 47 | | 12 | 7 | | 13 | 5 | | 14 | 24 | | 15 | 63 | | 16 | 6 | | 17 | 11 | | 18 | 30 | | 19 | 14 | | 20 | 67 | | 21 | 4 | | 22 | 10 | | 23 | 8 | | 24 | 44 | | 25 | 33 | | 26 | 3 | | 27 | 43 | | 28 | 33 | | 29 | 2 | | 30 | 25 | | 31 | 79 | | 32 | 9 | | 33 | 3 | | 34 | 33 | | 35 | 54 | | 36 | 24 | | 37 | 5 | | 38 | 55 | | 39 | 16 | | 40 | 7 | | 41 | 33 | | 42 | 34 | | 43 | 34 | | 44 | 30 | | 45 | 6 | | 46 | 13 | | 47 | 61 | | 48 | 11 | | 49 | 75 |
| |
| 98.32% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 101 | | matches | | 0 | "been carved" | | 1 | "being followed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 197 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 125 | | ratio | 0.072 | | matches | | 0 | "Too many stars, too many colors bleeding into one another—indigo melting into copper melting into a green so pale it hurt to look at." | | 1 | "\"I can feel it. The shadows in here respond to pulse and breath.\" They extended a hand—solid now, fingers long and smoke-edged—and watched a nearby shadow curl toward them like a cat seeking warmth." | | 2 | "The path beneath their feet wasn't a path so much as a suggestion—grass bent slightly in one direction, flowers turning their heads to follow as Rory passed." | | 3 | "She knelt beside the nearest one, drawn by something she couldn't name, and saw her own face staring back—except it wasn't." | | 4 | "Leaves rustled overhead in a pattern too rhythmic to be wind—a language, maybe, or a song learned before human throats could shape words." | | 5 | "Before Nyx could answer—and Rory could feel the temperature dropping around them, shadows bleeding outward from their form—Isolde turned and began walking deeper into the grove." | | 6 | "The moment her foot crossed the boundary between the treeline and the sundial's domain, she felt it—a pulling sensation behind her navel, like the world had just shifted two inches to the left." | | 7 | "The seasonal rings shied away from them—spring flowers wilting, summer fruit blackening—wherever their shade fell." | | 8 | "The rings of seasons spun faster—spring, summer, autumn, winter blurring into a single churning cycle." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1096 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 41 | | adverbRatio | 0.037408759124087594 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.008211678832116789 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 125 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 125 | | mean | 12.42 | | std | 9.18 | | cv | 0.739 | | sampleLengths | | 0 | 11 | | 1 | 19 | | 2 | 26 | | 3 | 5 | | 4 | 24 | | 5 | 4 | | 6 | 16 | | 7 | 11 | | 8 | 4 | | 9 | 34 | | 10 | 10 | | 11 | 6 | | 12 | 11 | | 13 | 14 | | 14 | 38 | | 15 | 4 | | 16 | 8 | | 17 | 27 | | 18 | 4 | | 19 | 11 | | 20 | 2 | | 21 | 6 | | 22 | 3 | | 23 | 27 | | 24 | 17 | | 25 | 7 | | 26 | 5 | | 27 | 24 | | 28 | 3 | | 29 | 24 | | 30 | 21 | | 31 | 5 | | 32 | 1 | | 33 | 9 | | 34 | 6 | | 35 | 9 | | 36 | 2 | | 37 | 30 | | 38 | 3 | | 39 | 11 | | 40 | 29 | | 41 | 23 | | 42 | 8 | | 43 | 7 | | 44 | 4 | | 45 | 10 | | 46 | 8 | | 47 | 6 | | 48 | 27 | | 49 | 3 |
| |
| 56.53% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 11 | | diversityRatio | 0.392 | | totalSentences | 125 | | uniqueOpeners | 49 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 89 | | matches | | 0 | "Too many stars, too many" | | 1 | "Just light, everywhere and nowhere," | | 2 | "Even the leaves stopped their" |
| | ratio | 0.034 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 89 | | matches | | 0 | "They extended a hand—solid now," | | 1 | "They snapped their fingers" | | 2 | "It just stopped, swallowed by" | | 3 | "They moved deeper." | | 4 | "She knelt beside the nearest" | | 5 | "She pulled back." | | 6 | "They pushed further into the" | | 7 | "Her silver hair dragged the" | | 8 | "She was barefoot." | | 9 | "Her dress was the color" | | 10 | "Her voice carried harmonics that" | | 11 | "She gasped and clutched at" | | 12 | "She unclasped the chain and" | | 13 | "she said quietly" | | 14 | "She looked up, her lavender" | | 15 | "She held the pendant out." | | 16 | "She was a delivery girl" | | 17 | "She took the pendant." | | 18 | "she said, and clasped the" |
| | ratio | 0.213 | |
| 27.42% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 77 | | totalSentences | 89 | | matches | | 0 | "The air inside the Fae" | | 1 | "Rory stepped through the gap" | | 2 | "The sky overhead wasn't right." | | 3 | "Nyx whispered, their voice rustling" | | 4 | "They extended a hand—solid now," | | 5 | "Rory turned in a slow" | | 6 | "Wildflowers carpeted the ground in" | | 7 | "Some bloomed and wilted and" | | 8 | "The standing stones behind them" | | 9 | "Nyx straightened, their form solidifying" | | 10 | "They snapped their fingers" | | 11 | "The sound didn't echo." | | 12 | "It just stopped, swallowed by" | | 13 | "They moved deeper." | | 14 | "The path beneath their feet" | | 15 | "The pendant pulsed again, hotter" | | 16 | "Rory didn't answer." | | 17 | "The grove was changing around" | | 18 | "She knelt beside the nearest" | | 19 | "The reflection's eyes were older." |
| | ratio | 0.865 | |
| 56.18% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 89 | | matches | | 0 | "Before Nyx could answer—and Rory" |
| | ratio | 0.011 | |
| 59.80% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 43 | | technicalSentenceCount | 5 | | matches | | 0 | "Just light, everywhere and nowhere, casting shadows that moved independent of the things that cast them." | | 1 | "The standing stones behind them weren't oak at all up close, she realized, but something that had been carved to look like oak, runes spiraling up their surface…" | | 2 | "The grove was changing around them, the wildflowers giving way to pools of still water that reflected the kaleidoscope sky with perfect, unrippled clarity." | | 3 | "A sundial stood at the center, carved from stone that shimmered with trapped starlight." | | 4 | "A ring of winter, frost spiraling across bare branches in patterns that matched the runes on the standing stones." |
| |
| 59.78% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 23 | | uselessAdditionCount | 3 | | matches | | 0 | "Nyx whispered, their voice rustling like dry leaves" | | 1 | "Nyx straightened, their form solidifying" | | 2 | "Isolde's lips curved, not unkindly" |
| |
| 43.62% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 14 | | fancyCount | 5 | | fancyTags | | 0 | "Nyx whispered (whisper)" | | 1 | "she breathed (breathe)" | | 2 | "They snapped (snap)" | | 3 | "Isolde's lips pressed (press)" | | 4 | "Nyx demanded (demand)" |
| | dialogueSentences | 47 | | tagDensity | 0.298 | | leniency | 0.596 | | rawRatio | 0.357 | | effectiveRatio | 0.213 | |