| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 12 | | adverbTagCount | 1 | | adverbTags | | 0 | "they said quietly [quietly]" |
| | dialogueSentences | 37 | | tagDensity | 0.324 | | leniency | 0.649 | | rawRatio | 0.083 | | effectiveRatio | 0.054 | |
| 85.53% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1382 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "slightly" | | 1 | "perfectly" | | 2 | "suddenly" |
| |
| 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) | |
| 52.97% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1382 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "stomach" | | 1 | "whisper" | | 2 | "scanning" | | 3 | "glistening" | | 4 | "warmth" | | 5 | "pulsed" | | 6 | "structure" | | 7 | "fractured" | | 8 | "tension" | | 9 | "crystal" |
| |
| 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 | 83 | | matches | (empty) | |
| 22.38% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 5 | | narrationSentences | 83 | | filterMatches | | | hedgeMatches | | 0 | "seemed to" | | 1 | "tried to" | | 2 | "began to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 106 | | 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 | 1366 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 73.22% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 47 | | wordCount | 1107 | | uniqueNames | 11 | | maxNameDensity | 1.54 | | worstName | "Aurora" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Aurora" | | discoveredNames | | Heartstone | 4 | | Isolde | 6 | | Seer | 2 | | Half-Fae | 1 | | Aurora | 17 | | Hel | 1 | | Fae | 4 | | Nyx | 6 | | Cardiff | 1 | | London | 1 | | Don | 4 |
| | persons | | 0 | "Heartstone" | | 1 | "Isolde" | | 2 | "Seer" | | 3 | "Half-Fae" | | 4 | "Aurora" | | 5 | "Nyx" |
| | places | | | globalScore | 0.732 | | windowScore | 0.833 | |
| 68.03% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 61 | | glossingSentenceCount | 2 | | matches | | 0 | "seemed carved from honey and gold" | | 1 | "felt like hours" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.732 | | wordCount | 1366 | | matches | | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 106 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 45 | | mean | 30.36 | | std | 22 | | cv | 0.725 | | sampleLengths | | 0 | 17 | | 1 | 60 | | 2 | 33 | | 3 | 15 | | 4 | 19 | | 5 | 14 | | 6 | 4 | | 7 | 47 | | 8 | 61 | | 9 | 17 | | 10 | 72 | | 11 | 21 | | 12 | 48 | | 13 | 44 | | 14 | 38 | | 15 | 3 | | 16 | 23 | | 17 | 75 | | 18 | 24 | | 19 | 3 | | 20 | 55 | | 21 | 58 | | 22 | 23 | | 23 | 34 | | 24 | 5 | | 25 | 7 | | 26 | 18 | | 27 | 76 | | 28 | 54 | | 29 | 26 | | 30 | 2 | | 31 | 7 | | 32 | 56 | | 33 | 11 | | 34 | 2 | | 35 | 65 | | 36 | 43 | | 37 | 21 | | 38 | 30 | | 39 | 9 | | 40 | 37 | | 41 | 40 | | 42 | 39 | | 43 | 4 | | 44 | 6 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 83 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 192 | | matches | | 0 | "wasn't looking" | | 1 | "was just beginning" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 106 | | ratio | 0.104 | | matches | | 0 | "The amber light hit her first—warm as honey, thick as summer—before her feet even touched solid ground." | | 1 | "The amber sky stretched endless above them, no sun visible but light everywhere—diffuse and golden, like perpetual late afternoon." | | 2 | "Aurora had learned to stop expecting it—the Seer moved through the world like smoke, leaving no trace of her passage." | | 3 | "Beyond the clearing where they'd arrived, the landscape rolled into gentle hills covered in vineyards—but these were no ordinary grapes." | | 4 | "\"Dymas.\" Nyx moved forward, their form rippling between solid and shadow as they passed beneath the branches of an enormous tree—oak, maybe, but twisted in on itself, bark spiraling in patterns that made her eyes water if she looked too long." | | 5 | "She tried to memorize the route—left at the twisted oak, straight past the fountain that ran with something viscous and amber, right where the trellises arched overhead—but the landscape seemed to shift when she wasn't looking." | | 6 | "The vineyards gave way to orchards—trees heavy with fruits she didn't recognize, some luminous and pulsing with inner light, others dark as bruises and weeping sap that steamed where it hit the ground." | | 7 | "It wasn't a palace—not exactly." | | 8 | "People—no, not people, souls—moved among the tables." | | 9 | "Don't—" | | 10 | "And somewhere in the distance, through the amber light and the impossible vineyards, a bell began to toll—deep and slow, counting out seconds that felt like hours." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1129 | | adjectiveStacks | 1 | | stackExamples | | 0 | "deep purple-black, crimson," |
| | adverbCount | 36 | | adverbRatio | 0.03188662533215235 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.011514614703277236 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 106 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 106 | | mean | 12.89 | | std | 9.28 | | cv | 0.72 | | sampleLengths | | 0 | 17 | | 1 | 23 | | 2 | 16 | | 3 | 21 | | 4 | 19 | | 5 | 9 | | 6 | 5 | | 7 | 15 | | 8 | 8 | | 9 | 11 | | 10 | 5 | | 11 | 9 | | 12 | 4 | | 13 | 19 | | 14 | 2 | | 15 | 2 | | 16 | 24 | | 17 | 11 | | 18 | 20 | | 19 | 30 | | 20 | 15 | | 21 | 2 | | 22 | 4 | | 23 | 20 | | 24 | 34 | | 25 | 12 | | 26 | 1 | | 27 | 1 | | 28 | 16 | | 29 | 1 | | 30 | 4 | | 31 | 41 | | 32 | 7 | | 33 | 22 | | 34 | 13 | | 35 | 9 | | 36 | 20 | | 37 | 18 | | 38 | 3 | | 39 | 8 | | 40 | 15 | | 41 | 14 | | 42 | 36 | | 43 | 14 | | 44 | 11 | | 45 | 20 | | 46 | 4 | | 47 | 3 | | 48 | 21 | | 49 | 34 |
| |
| 52.83% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 14 | | diversityRatio | 0.39622641509433965 | | totalSentences | 106 | | uniqueOpeners | 42 | |
| 45.05% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 74 | | matches | | 0 | "Just that strange, honeyed glow" |
| | ratio | 0.014 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 17 | | totalSentences | 74 | | matches | | 0 | "She pressed her palm flat" | | 1 | "Their violet eyes swept the" | | 2 | "She shot them a look." | | 3 | "She caught up to them," | | 4 | "She tried to memorize the" | | 5 | "She walked faster, her boots" | | 6 | "they said quietly" | | 7 | "She glanced down." | | 8 | "It wasn't a palace—not exactly." | | 9 | "It rose from the earth" | | 10 | "They wore fine clothes in" | | 11 | "She realized with sudden clarity" | | 12 | "Her stomach, empty since breakfast," | | 13 | "Her skin gleamed in the" | | 14 | "She wore a dress of" | | 15 | "She gestured toward the endless" | | 16 | "She thought, not for the" |
| | ratio | 0.23 | |
| 81.62% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 56 | | totalSentences | 74 | | matches | | 0 | "The amber light hit her" | | 1 | "Aurora stumbled forward, her boots" | | 2 | "The Heartstone pendant burned against" | | 3 | "She pressed her palm flat" | | 4 | "Nyx's voice barely rose above" | | 5 | "Their violet eyes swept the" | | 6 | "Aurora managed, straightening her spine" | | 7 | "She shot them a look." | | 8 | "The amber sky stretched endless" | | 9 | "Aurora had learned to stop" | | 10 | "Isolde said, her voice carrying" | | 11 | "Aurora followed her gaze." | | 12 | "The vines crawled across trellises" | | 13 | "The air smelled thick with" | | 14 | "Aurora asked, though the pendant's" | | 15 | "Nyx moved forward, their form" | | 16 | "She caught up to them," | | 17 | "The moonsilver hummed cold against" | | 18 | "Isolde drifted past them both," | | 19 | "Nyx's laugh was a rustle" |
| | ratio | 0.757 | |
| 67.57% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 74 | | matches | | 0 | "If anything, it widened." |
| | ratio | 0.014 | |
| 38.33% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 41 | | technicalSentenceCount | 6 | | matches | | 0 | "Just that strange, honeyed glow that made everything feel slightly unreal, as though she'd stepped into a photograph left too long in the sun." | | 1 | "The vines crawled across trellises of pale stone, their leaves shifting through colors that had no names, their fruit swollen and glistening in clusters of deep…" | | 2 | "She tried to memorize the route—left at the twisted oak, straight past the fountain that ran with something viscous and amber, right where the trellises arched …" | | 3 | "It rose from the earth like something grown rather than built, walls of pale stone twined with living vines, towers that spiraled impossibly upward, windows of …" | | 4 | "She realized with sudden clarity that she'd been breathing deeper, her body craving the rich scents that drifted from the feast tables." | | 5 | "Aurora spun, her blade half-drawn, and found herself face-to-face with a woman who seemed carved from honey and gold." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 12 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 37 | | tagDensity | 0.081 | | leniency | 0.162 | | rawRatio | 0 | | effectiveRatio | 0 | |