| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 7 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 9 | | tagDensity | 0.778 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 96.91% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1617 | | 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) | |
| 25.79% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1617 | | totalAiIsms | 24 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | |
| | highlights | | 0 | "weight" | | 1 | "shimmered" | | 2 | "echo" | | 3 | "sentinels" | | 4 | "pulse" | | 5 | "flicker" | | 6 | "rhythmic" | | 7 | "etched" | | 8 | "chill" | | 9 | "flickered" | | 10 | "vibrated" | | 11 | "traced" | | 12 | "silence" | | 13 | "scanning" | | 14 | "navigating" | | 15 | "pristine" | | 16 | "resonance" | | 17 | "clenching" | | 18 | "silk" |
| |
| 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 | 121 | | matches | (empty) | |
| 60.21% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 6 | | narrationSentences | 121 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 124 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 34 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 3 | | markdownWords | 18 | | totalWords | 1612 | | ratio | 0.011 | | matches | | 0 | "thud" | | 1 | "Tap. Tap. Tap." | | 2 | "The trees are the exit. The time is wrong. The light is the key." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 46 | | wordCount | 1524 | | uniqueNames | 17 | | maxNameDensity | 0.85 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Grove" | | discoveredNames | | London | 3 | | Aurora | 1 | | Grove | 7 | | Golden | 2 | | Empress | 2 | | Richmond | 1 | | Park | 1 | | Rory | 13 | | Evan | 2 | | Heartstone | 5 | | Pendant | 2 | | Cardiff | 2 | | Jennifer | 1 | | Heatstone | 1 | | Sawyers | 1 | | Hill | 1 | | Silas | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Grove" | | 2 | "Rory" | | 3 | "Evan" | | 4 | "Heartstone" | | 5 | "Pendant" | | 6 | "Jennifer" | | 7 | "Silas" |
| | places | | 0 | "London" | | 1 | "Richmond" | | 2 | "Park" | | 3 | "Cardiff" | | 4 | "Sawyers" | | 5 | "Hill" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 92 | | glossingSentenceCount | 6 | | matches | | 0 | "felt like being submerged in deep water" | | 1 | "light that seemed to come from the wildflowers themselves rather than the moon" | | 2 | "symbols that seemed to pull at the corners of her vision" | | 3 | "chittering that seemed to come from the earth itself" | | 4 | "sounded like dry leaves being crushed toge" | | 5 | "felt like it might shatter" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.62 | | wordCount | 1612 | | matches | | 0 | "not to the thing on her shoulder, but to the pendant, clenching it in her fist" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 124 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 41 | | mean | 39.32 | | std | 23.15 | | cv | 0.589 | | sampleLengths | | 0 | 62 | | 1 | 94 | | 2 | 27 | | 3 | 27 | | 4 | 65 | | 5 | 8 | | 6 | 49 | | 7 | 79 | | 8 | 32 | | 9 | 53 | | 10 | 43 | | 11 | 42 | | 12 | 38 | | 13 | 6 | | 14 | 44 | | 15 | 25 | | 16 | 39 | | 17 | 86 | | 18 | 3 | | 19 | 60 | | 20 | 37 | | 21 | 29 | | 22 | 44 | | 23 | 7 | | 24 | 62 | | 25 | 3 | | 26 | 8 | | 27 | 46 | | 28 | 40 | | 29 | 56 | | 30 | 57 | | 31 | 8 | | 32 | 15 | | 33 | 66 | | 34 | 18 | | 35 | 49 | | 36 | 15 | | 37 | 53 | | 38 | 12 | | 39 | 51 | | 40 | 54 |
| |
| 87.86% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 121 | | matches | | 0 | "being submerged" | | 1 | "been forced" | | 2 | "being rubbed" | | 3 | "been manufactured" | | 4 | "were detached" | | 5 | "was blistered" |
| |
| 59.35% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 237 | | matches | | 0 | "was throbbing" | | 1 | "was vibrating" | | 2 | "were already beginning" | | 3 | "were trying" | | 4 | "was still twitching" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 3 | | flaggedSentences | 8 | | totalSentences | 124 | | ratio | 0.065 | | matches | | 0 | "Something held her in place—a sudden, crushing awareness that the geometry of the Grove had changed behind her." | | 1 | "The pendant was no longer just warm; it was hot, the silver chain stinging the skin of her neck." | | 2 | "Instead, it carried the scent of wet copper—blood, fresh and sharp." | | 3 | "She saw it then—a pale, elongated hand gripping the side of a standing stone." | | 4 | "It didn’t pull a body into view; it simply stayed there, the tips of the fingers drumming a slow, rhythmic beat against the ancient wood." | | 5 | "The shadows of the trees weren't cast by the trees themselves; they were detached, tall, spindly shapes that crouched on the branches, watching her with eyes that reflected the pendant’s glow like feral cats." | | 6 | "She focused on the crescent scar on her wrist—a mark of the real world, of a childhood before shadows learned to speak." | | 7 | "The silence here was different—natural, filled with the distant hum of the city." |
| |
| 99.53% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 296 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 12 | | adverbRatio | 0.04054054054054054 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.006756756756756757 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 124 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 124 | | mean | 13 | | std | 8 | | cv | 0.616 | | sampleLengths | | 0 | 22 | | 1 | 16 | | 2 | 24 | | 3 | 24 | | 4 | 32 | | 5 | 17 | | 6 | 21 | | 7 | 16 | | 8 | 11 | | 9 | 4 | | 10 | 4 | | 11 | 19 | | 12 | 4 | | 13 | 12 | | 14 | 22 | | 15 | 27 | | 16 | 8 | | 17 | 11 | | 18 | 10 | | 19 | 22 | | 20 | 3 | | 21 | 3 | | 22 | 23 | | 23 | 5 | | 24 | 12 | | 25 | 15 | | 26 | 24 | | 27 | 20 | | 28 | 12 | | 29 | 7 | | 30 | 18 | | 31 | 28 | | 32 | 8 | | 33 | 20 | | 34 | 7 | | 35 | 8 | | 36 | 8 | | 37 | 19 | | 38 | 15 | | 39 | 15 | | 40 | 23 | | 41 | 6 | | 42 | 12 | | 43 | 10 | | 44 | 7 | | 45 | 15 | | 46 | 14 | | 47 | 11 | | 48 | 16 | | 49 | 10 |
| |
| 32.26% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 22 | | diversityRatio | 0.23387096774193547 | | totalSentences | 124 | | uniqueOpeners | 29 | |
| 86.21% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 116 | | matches | | 0 | "Instead, the Grove shimmered with" | | 1 | "Instead, it carried the scent" | | 2 | "Only four minutes had passed," |
| | ratio | 0.026 | |
| 33.79% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 54 | | totalSentences | 116 | | matches | | 0 | "It was past eleven, and" | | 1 | "She touched the crescent-shaped scar" | | 2 | "she called out" | | 3 | "Her voice didn't echo." | | 4 | "It simply stopped, absorbed by" | | 5 | "She shouldn’t have come." | | 6 | "It wasn't a flicker like" | | 7 | "It felt heavy." | | 8 | "It felt expectant." | | 9 | "She took a step toward" | | 10 | "It wasn’t a quick movement," | | 11 | "She snapped her head toward" | | 12 | "she said, her voice tighter" | | 13 | "She didn’t move to leave" | | 14 | "It wasn’t a bird or" | | 15 | "It was a sound that" | | 16 | "She needed the sound of" | | 17 | "She spun around, her heart" | | 18 | "It hadn't been there ten" | | 19 | "It was crude, headless, with" |
| | ratio | 0.466 | |
| 24.66% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 101 | | totalSentences | 116 | | matches | | 0 | "The humidity of the London" | | 1 | "The air was cool, smelling" | | 2 | "Rory adjusted the strap of" | | 3 | "Yu-Fei had been adamant about" | | 4 | "It was past eleven, and" | | 5 | "She touched the crescent-shaped scar" | | 6 | "Tonight, it did little to" | | 7 | "she called out" | | 8 | "Her voice didn't echo." | | 9 | "It simply stopped, absorbed by" | | 10 | "She shouldn’t have come." | | 11 | "The thought was a cold" | | 12 | "A pulse of heat bloomed" | | 13 | "Rory reached beneath her collar" | | 14 | "The crimson gem, usually a" | | 15 | "It wasn't a flicker like" | | 16 | "It felt heavy." | | 17 | "It felt expectant." | | 18 | "She took a step toward" | | 19 | "It wasn’t a quick movement," |
| | ratio | 0.871 | |
| 43.10% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 116 | | matches | | 0 | "To her left, something shifted." |
| | ratio | 0.009 | |
| 39.34% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 69 | | technicalSentenceCount | 10 | | matches | | 0 | "The air was cool, smelling of damp earth and a sweetness that bordered on rot, cloying enough to coat the back of her throat." | | 1 | "Instead, the Grove shimmered with a pale, directional light that seemed to come from the wildflowers themselves rather than the moon." | | 2 | "It simply stopped, absorbed by the dense canopy of ancient oaks that stood like silent sentinels around the clearing." | | 3 | "The high, glass-rubbing sound intensified, joined by a low, guttural chittering that seemed to come from the earth itself." | | 4 | "The Heartstone flared bright, a violent shade of ruby that illuminated the entire clearing." | | 5 | "For a fractional second, the light revealed things that shouldn't be possible." | | 6 | "The shadows of the trees weren't cast by the trees themselves; they were detached, tall, spindly shapes that crouched on the branches, watching her with eyes th…" | | 7 | "The smell of the copper was overpowering now, joined by the musk of an animal that had been dead for a long time." | | 8 | "Only four minutes had passed, yet the vegetable lo mein had been cold, and the blisters on her hand were already beginning to scab over as if they were days old…" | | 9 | "It was white, as thin as a spider’s silk, and it was still twitching, as if it were trying to find its way back to the dark." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 7 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 4 | | fancyTags | | 0 | "Rory lied (lie)" | | 1 | "she demanded (demand)" | | 2 | "a voice whispered (whisper)" | | 3 | "she hissed (hiss)" |
| | dialogueSentences | 9 | | tagDensity | 0.556 | | leniency | 1 | | rawRatio | 0.8 | | effectiveRatio | 0.8 | |