| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 19 | | tagDensity | 0.316 | | leniency | 0.632 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 94.20% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 862 | | 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) | |
| 0.00% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 862 | | totalAiIsms | 20 | | found | | | highlights | | 0 | "chill" | | 1 | "warmth" | | 2 | "wavering" | | 3 | "whisper" | | 4 | "silence" | | 5 | "flickered" | | 6 | "mosaic" | | 7 | "traced" | | 8 | "glint" | | 9 | "raced" | | 10 | "weight" | | 11 | "pulsed" | | 12 | "depths" | | 13 | "echoed" | | 14 | "pulse" | | 15 | "wavered" |
| |
| 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 | 63 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 63 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 76 | | 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 | 0 | | markdownWords | 0 | | totalWords | 850 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 5 | | unquotedAttributions | 0 | | matches | (empty) | |
| 69.68% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 32 | | wordCount | 747 | | uniqueNames | 7 | | maxNameDensity | 1.61 | | worstName | "Aurora" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Aurora" | | discoveredNames | | Heartstone | 3 | | Richmond | 1 | | Park | 1 | | Aurora | 12 | | Nyx | 7 | | Isolde | 7 | | Veil | 1 |
| | persons | | 0 | "Heartstone" | | 1 | "Aurora" | | 2 | "Nyx" | | 3 | "Isolde" |
| | places | | | globalScore | 0.697 | | windowScore | 0.833 | |
| 98.98% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 49 | | glossingSentenceCount | 1 | | matches | | 0 | "felt like wading through syrup" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 2.353 | | wordCount | 850 | | matches | | 0 | "not their faces, but a shifting mosaic of stars" | | 1 | "not from wood or stone, but from the boughs of the trees themselves" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 76 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 32 | | mean | 26.56 | | std | 16.81 | | cv | 0.633 | | sampleLengths | | 0 | 66 | | 1 | 41 | | 2 | 25 | | 3 | 37 | | 4 | 54 | | 5 | 6 | | 6 | 5 | | 7 | 45 | | 8 | 17 | | 9 | 36 | | 10 | 52 | | 11 | 18 | | 12 | 16 | | 13 | 16 | | 14 | 13 | | 15 | 46 | | 16 | 36 | | 17 | 6 | | 18 | 56 | | 19 | 6 | | 20 | 7 | | 21 | 24 | | 22 | 34 | | 23 | 15 | | 24 | 22 | | 25 | 33 | | 26 | 39 | | 27 | 2 | | 28 | 27 | | 29 | 19 | | 30 | 16 | | 31 | 15 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 63 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 119 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 76 | | ratio | 0.092 | | matches | | 0 | "Wildflowers carpeted the ground in impossible colors—petals too blue, stems too gold—blooming defiantly despite the season." | | 1 | "The silence wasn’t empty—it hummed, a faint, discordant melody just beyond hearing." | | 2 | "A glint of metal—cold and deliberate among the wild beauty." | | 3 | "Before them stretched a banquet hall carved not from wood or stone, but from the boughs of the trees themselves—great sweeping arcs of living wood interlaced with threads of glowing fungus, tables laden with fruits so ripe their skins split open, revealing flesh the color of dusk wine and garnet." | | 4 | "A sound—laughter, bright and cruel—echoed from somewhere beyond the hall." | | 5 | "Beyond it, the air changed again—cooler, clearer." | | 6 | "No—not a door." |
| |
| 98.11% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 759 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 32 | | adverbRatio | 0.04216073781291173 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.007905138339920948 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 76 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 76 | | mean | 11.18 | | std | 7.71 | | cv | 0.69 | | sampleLengths | | 0 | 14 | | 1 | 25 | | 2 | 27 | | 3 | 11 | | 4 | 16 | | 5 | 14 | | 6 | 15 | | 7 | 10 | | 8 | 25 | | 9 | 12 | | 10 | 19 | | 11 | 8 | | 12 | 16 | | 13 | 11 | | 14 | 2 | | 15 | 4 | | 16 | 3 | | 17 | 2 | | 18 | 14 | | 19 | 14 | | 20 | 14 | | 21 | 3 | | 22 | 6 | | 23 | 11 | | 24 | 9 | | 25 | 17 | | 26 | 10 | | 27 | 14 | | 28 | 17 | | 29 | 21 | | 30 | 9 | | 31 | 9 | | 32 | 5 | | 33 | 8 | | 34 | 3 | | 35 | 8 | | 36 | 8 | | 37 | 10 | | 38 | 3 | | 39 | 15 | | 40 | 15 | | 41 | 15 | | 42 | 1 | | 43 | 21 | | 44 | 15 | | 45 | 6 | | 46 | 50 | | 47 | 6 | | 48 | 6 | | 49 | 7 |
| |
| 53.95% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.35526315789473684 | | totalSentences | 76 | | uniqueOpeners | 27 | |
| 59.52% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 56 | | matches | | 0 | "Then, without warning, the canopy" |
| | ratio | 0.018 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 8 | | totalSentences | 56 | | matches | | 0 | "Their voice brushed against Aurora’s" | | 1 | "She glanced down just in" | | 2 | "She left no footprints in" | | 3 | "she murmured, glancing back at" | | 4 | "Their violet eyes glowed faintly" | | 5 | "She turned away quickly, her" | | 6 | "She knelt, brushing aside a" | | 7 | "It felt too light, like" |
| | ratio | 0.143 | |
| 13.57% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 50 | | totalSentences | 56 | | matches | | 0 | "The air smelled of honey" | | 1 | "Aurora tightened her grip on" | | 2 | "The moment she crossed the" | | 3 | "The grove stretched before them," | | 4 | "Wildflowers carpeted the ground in" | | 5 | "Nyx drifted forward, their shadowy" | | 6 | "Their voice brushed against Aurora’s" | | 7 | "She glanced down just in" | | 8 | "The silence wasn’t empty—it hummed," | | 9 | "Isolde walked ahead of them," | | 10 | "She left no footprints in" | | 11 | "she murmured, glancing back at" | | 12 | "Isolde’s lips quirked." | | 13 | "Nyx’s form flickered, solidifying for" | | 14 | "The water was mirror-still, reflecting" | | 15 | "Their violet eyes glowed faintly" | | 16 | "The stars rippled." | | 17 | "A chill pricked at the" | | 18 | "She turned away quickly, her" | | 19 | "A glint of metal—cold and" |
| | ratio | 0.893 | |
| 89.29% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 56 | | matches | | 0 | "Before them stretched a banquet" |
| | ratio | 0.018 | |
| 63.49% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 36 | | technicalSentenceCount | 4 | | matches | | 0 | "Isolde walked ahead of them, her silver hair trailing behind her in a ripple that defied the still air." | | 1 | "The trees ahead arched into a tunnel of intertwining branches, their leaves rustling without wind." | | 2 | "Nyx stepped forward first, their form shifting to something less substantial, the edges of them blending with the grove’s shifting shadows." | | 3 | "A gap in the world itself, a slice of darkness that wavered at the edges, its surface shimmering like oil on water." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 6 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 44.74% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 2 | | fancyTags | | 0 | "she murmured (murmur)" | | 1 | "Nyx murmured (murmur)" |
| | dialogueSentences | 19 | | tagDensity | 0.211 | | leniency | 0.421 | | rawRatio | 0.5 | | effectiveRatio | 0.211 | |