| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 1 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 92.03% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1255 | | totalAiIsmAdverbs | 2 | | 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) | |
| 64.14% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1255 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "chill" | | 1 | "pulsed" | | 2 | "warmth" | | 3 | "echo" | | 4 | "weight" | | 5 | "silence" |
| |
| 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 | 129 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 129 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 129 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 33 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1239 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 26 | | wordCount | 1238 | | uniqueNames | 11 | | maxNameDensity | 0.73 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Grove" | | discoveredNames | | Grove | 4 | | Rory | 9 | | October | 1 | | Richmond | 2 | | Park | 2 | | Yu-Fei | 1 | | Underground | 1 | | Evan | 1 | | London | 2 | | Heartstone | 2 | | Fae | 1 |
| | persons | | 0 | "Rory" | | 1 | "Evan" | | 2 | "Heartstone" |
| | places | | 0 | "Grove" | | 1 | "Richmond" | | 2 | "Park" | | 3 | "London" | | 4 | "Fae" |
| | globalScore | 1 | | windowScore | 1 | |
| 57.41% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 81 | | glossingSentenceCount | 3 | | matches | | 0 | "quite any color at all" | | 1 | "looked like obsidian, like the surface of" | | 2 | "quite see them clearly enough to be sure" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1239 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 129 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 47 | | mean | 26.36 | | std | 17.57 | | cv | 0.666 | | sampleLengths | | 0 | 71 | | 1 | 50 | | 2 | 15 | | 3 | 62 | | 4 | 62 | | 5 | 19 | | 6 | 47 | | 7 | 38 | | 8 | 13 | | 9 | 44 | | 10 | 3 | | 11 | 45 | | 12 | 53 | | 13 | 23 | | 14 | 26 | | 15 | 6 | | 16 | 30 | | 17 | 7 | | 18 | 9 | | 19 | 9 | | 20 | 29 | | 21 | 14 | | 22 | 7 | | 23 | 48 | | 24 | 12 | | 25 | 44 | | 26 | 27 | | 27 | 2 | | 28 | 37 | | 29 | 36 | | 30 | 14 | | 31 | 40 | | 32 | 30 | | 33 | 5 | | 34 | 8 | | 35 | 41 | | 36 | 20 | | 37 | 25 | | 38 | 7 | | 39 | 12 | | 40 | 36 | | 41 | 11 | | 42 | 30 | | 43 | 25 | | 44 | 20 | | 45 | 5 | | 46 | 22 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 129 | | matches | | |
| 74.80% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 213 | | matches | | 0 | "were screaming" | | 1 | "was looking" | | 2 | "was looking" | | 3 | "was opening" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 129 | | ratio | 0.054 | | matches | | 0 | "Aurora—Rory to everyone who mattered—stepped between two of the massive trunks and felt the shift immediately." | | 1 | "Wildflowers she'd never seen before carpeted the ground—blossoms in colors that seemed to shift under the beam, blue to purple to something that wasn't quite any color at all." | | 2 | "Ahead, something caught the light—a pool of water, still as glass, perhaps twenty feet across." | | 3 | "Behind her—behind the reflection, at the far side of the pool—a shape rose from the glass surface." | | 4 | "Its limbs were too long, jointed in too many places, and its skin—if you could call it skin—was the gray of old ash, cracked in places to show something redder underneath." | | 5 | "Peeling back in layers, revealing wet pink tissue beneath, revealing—" | | 6 | "Its hand—long-fingered, too many fingers—reached down toward her chest." |
| |
| 97.32% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1254 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 54 | | adverbRatio | 0.0430622009569378 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.007974481658692184 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 129 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 129 | | mean | 9.6 | | std | 7.57 | | cv | 0.788 | | sampleLengths | | 0 | 22 | | 1 | 16 | | 2 | 17 | | 3 | 4 | | 4 | 1 | | 5 | 11 | | 6 | 4 | | 7 | 4 | | 8 | 3 | | 9 | 9 | | 10 | 16 | | 11 | 14 | | 12 | 7 | | 13 | 8 | | 14 | 7 | | 15 | 18 | | 16 | 6 | | 17 | 10 | | 18 | 21 | | 19 | 9 | | 20 | 29 | | 21 | 24 | | 22 | 9 | | 23 | 2 | | 24 | 8 | | 25 | 10 | | 26 | 29 | | 27 | 1 | | 28 | 7 | | 29 | 8 | | 30 | 2 | | 31 | 1 | | 32 | 1 | | 33 | 13 | | 34 | 6 | | 35 | 7 | | 36 | 7 | | 37 | 6 | | 38 | 5 | | 39 | 8 | | 40 | 16 | | 41 | 7 | | 42 | 4 | | 43 | 4 | | 44 | 3 | | 45 | 7 | | 46 | 20 | | 47 | 3 | | 48 | 15 | | 49 | 9 |
| |
| 57.36% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 11 | | diversityRatio | 0.3953488372093023 | | totalSentences | 129 | | uniqueOpeners | 51 | |
| 90.91% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 110 | | matches | | 0 | "More like the presence of" | | 1 | "Then she noticed she could" | | 2 | "Then it closed its hand" |
| | ratio | 0.027 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 33 | | totalSentences | 110 | | matches | | 0 | "She checked her phone." | | 1 | "She'd expected that." | | 2 | "She'd entered the tree line" | | 3 | "Her voice fell flat, absorbed" | | 4 | "She walked forward, keeping the" | | 5 | "Her footfalls made no sound" | | 6 | "She'd left Evan because she'd" | | 7 | "She kept walking." | | 8 | "It pulled at her chest" | | 9 | "It looked like obsidian, like" | | 10 | "She could see the stars" | | 11 | "Her breath caught." | | 12 | "She was looking at herself" | | 13 | "She was not smiling." | | 14 | "It had no eyes." | | 15 | "It had no mouth." | | 16 | "It had a slit where" | | 17 | "She didn't scream." | | 18 | "She ran, flashlight clutched in" | | 19 | "She told herself the trees" |
| | ratio | 0.3 | |
| 96.36% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 80 | | totalSentences | 110 | | matches | | 0 | "The flashlight beam cut through" | | 1 | "Aurora—Rory to everyone who mattered—stepped" | | 2 | "The air behind her had" | | 3 | "This air was different." | | 4 | "She checked her phone." | | 5 | "She'd expected that." | | 6 | "She'd entered the tree line" | | 7 | "The pendant at her chest" | | 8 | "Warmth spread through her sternum," | | 9 | "Rory had come because of" | | 10 | "The first night, she'd dismissed" | | 11 | "The second, she'd blamed the" | | 12 | "Tonight, she'd clocked out early," | | 13 | "The Grove spread before her" | | 14 | "Wildflowers she'd never seen before" | | 15 | "The standing stones rose around" | | 16 | "Her voice fell flat, absorbed" | | 17 | "That bothered her more than" | | 18 | "She walked forward, keeping the" | | 19 | "The ground was soft beneath" |
| | ratio | 0.727 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 110 | | matches | (empty) | | ratio | 0 | |
| 97.26% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 47 | | technicalSentenceCount | 3 | | matches | | 0 | "The flashlight beam cut through the darkness like a pale finger, illuminating the ancient oaks that marked the boundary of the Grove." | | 1 | "Wildflowers she'd never seen before carpeted the ground—blossoms in colors that seemed to shift under the beam, blue to purple to something that wasn't quite an…" | | 2 | "Rory scrambled backward on her hands and heels, leaves and dirt scattering beneath her, her throat raw from screaming, her heart slamming against her ribs." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |