| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 90.77% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1084 | | 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) | |
| 0.00% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1084 | | totalAiIsms | 33 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | | | 19 | |
| | highlights | | 0 | "rhythmic" | | 1 | "warmth" | | 2 | "reminder" | | 3 | "shimmered" | | 4 | "silence" | | 5 | "tracing" | | 6 | "pulsed" | | 7 | "weight" | | 8 | "flicker" | | 9 | "furrowed" | | 10 | "pulse" | | 11 | "quickened" | | 12 | "throb" | | 13 | "vibrated" | | 14 | "footsteps" | | 15 | "oppressive" | | 16 | "scanning" | | 17 | "beacon" | | 18 | "looming" | | 19 | "depths" |
| |
| 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 | 1 | | narrationSentences | 79 | | matches | | |
| 88.61% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 79 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 79 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 39 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 2 | | totalWords | 1089 | | ratio | 0.002 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 0 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 21 | | wordCount | 1089 | | uniqueNames | 9 | | maxNameDensity | 0.83 | | worstName | "Aurora" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Aurora" | | discoveredNames | | Park | 1 | | Aurora | 9 | | Carter | 1 | | Thames | 1 | | Heartstone | 2 | | Hel | 1 | | Fae | 4 | | November | 1 | | Grove | 1 |
| | persons | | 0 | "Park" | | 1 | "Aurora" | | 2 | "Carter" | | 3 | "Heartstone" |
| | places | | 0 | "Thames" | | 1 | "Fae" | | 2 | "November" | | 3 | "Grove" |
| | globalScore | 1 | | windowScore | 1 | |
| 9.15% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 71 | | glossingSentenceCount | 4 | | matches | | 0 | "tasted like damp earth and ozone, thick a" | | 1 | "felt like a curse" | | 2 | "felt like hours" | | 3 | "shadows that seemed to absorb the moonlight" |
| |
| 16.35% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.837 | | wordCount | 1089 | | matches | | 0 | "Not a figure, but a shape" | | 1 | "not walking, but flowing like smoke through the air" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 79 | | matches | (empty) | |
| 4.95% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 10 | | mean | 108.9 | | std | 18.22 | | cv | 0.167 | | sampleLengths | | 0 | 131 | | 1 | 98 | | 2 | 121 | | 3 | 100 | | 4 | 115 | | 5 | 92 | | 6 | 88 | | 7 | 104 | | 8 | 93 | | 9 | 147 |
| |
| 91.94% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 79 | | matches | | 0 | "was gone" | | 1 | "was gone" | | 2 | "was knocked" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 180 | | matches | | 0 | "was using" | | 1 | "was coming" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 6 | | flaggedSentences | 13 | | totalSentences | 79 | | ratio | 0.165 | | matches | | 0 | "The grove itself felt wrong from the start – the air shimmered slightly, like heat haze over hot tarmac, and the usual nocturnal chorus of owls and foxes was absent, replaced by an unnatural silence that pressed in on her." | | 1 | "Aurora’s hand drifted unconsciously to her left wrist, tracing the small, crescent-shaped scar – a relic from a childhood fall." | | 2 | "She took a step forward, and the ground beneath her boots felt subtly different – softer, spongier, as if the earth itself had shifted." | | 3 | "Moonlight, pale and cold, filtered through the dense canopy, illuminating patches of unnaturally vibrant wildflowers – orchids that shouldn’t bloom in November, their petals like stained glass." | | 4 | "This wasn’t just a hidden grove; it was a place where the veil between worlds was thin, and thin places attracted things best left undisturbed." | | 5 | "The air grew colder, carrying the scent of damp stone and something else – ozone, metallic, like blood." | | 6 | "The grove wasn’t just a conduit; it was a trap." | | 7 | "The time distortion was real; she’d been here only minutes, but it felt like hours." | | 8 | "The pendant’s warmth was a beacon, drawing something – or someone – to her." | | 9 | "Not a figure, but a shape – tall, impossibly thin, draped in shadows that seemed to absorb the moonlight." | | 10 | "The Fae weren’t just watchers; they were predators." | | 11 | "The Fae Grove wasn’t just a place; it was a prison, and she was its newest inmate." | | 12 | "The horror wasn’t in the gore; it was in the knowing, the absolute certainty that escape was impossible, and that the darkness watching her from the shadows was only the beginning." |
| |
| 98.43% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1084 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 45 | | adverbRatio | 0.04151291512915129 | | lyAdverbCount | 22 | | lyAdverbRatio | 0.02029520295202952 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 79 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 79 | | mean | 13.78 | | std | 7.07 | | cv | 0.513 | | sampleLengths | | 0 | 22 | | 1 | 30 | | 2 | 18 | | 3 | 21 | | 4 | 40 | | 5 | 15 | | 6 | 17 | | 7 | 20 | | 8 | 16 | | 9 | 13 | | 10 | 17 | | 11 | 7 | | 12 | 5 | | 13 | 5 | | 14 | 3 | | 15 | 17 | | 16 | 24 | | 17 | 10 | | 18 | 13 | | 19 | 15 | | 20 | 9 | | 21 | 13 | | 22 | 7 | | 23 | 27 | | 24 | 18 | | 25 | 10 | | 26 | 25 | | 27 | 13 | | 28 | 12 | | 29 | 18 | | 30 | 17 | | 31 | 8 | | 32 | 8 | | 33 | 13 | | 34 | 23 | | 35 | 16 | | 36 | 6 | | 37 | 6 | | 38 | 8 | | 39 | 15 | | 40 | 1 | | 41 | 14 | | 42 | 12 | | 43 | 5 | | 44 | 10 | | 45 | 15 | | 46 | 16 | | 47 | 13 | | 48 | 8 | | 49 | 15 |
| |
| 34.81% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.24050632911392406 | | totalSentences | 79 | | uniqueOpeners | 19 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 77 | | matches | | 0 | "Just the distant, muffled thrum" | | 1 | "Only the gnarled roots of" | | 2 | "Then, a sound from behind" | | 3 | "Just the oppressive stillness, broken" |
| | ratio | 0.052 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 77 | | matches | | 0 | "She’d come for the pendant," | | 1 | "Its faint, internal warmth was" | | 2 | "She’d parked her bike a" | | 3 | "She’d come because the pendant’s" | | 4 | "She took a step forward," | | 5 | "She spun, heart hammering against" | | 6 | "She forced herself to breathe," | | 7 | "It was just her imagination," | | 8 | "She moved towards the oak," | | 9 | "She spun again, but the" | | 10 | "She pressed herself against the" | | 11 | "She knew she wasn’t alone." | | 12 | "She backed away from the" | | 13 | "She needed to leave." | | 14 | "It stood just beyond the" | | 15 | "Its eyes, if it had" | | 16 | "It didn’t move, just stood" | | 17 | "It moved towards her, the" | | 18 | "She looked at the shape" |
| | ratio | 0.247 | |
| 37.92% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 65 | | totalSentences | 77 | | matches | | 0 | "The night air inRichmond Park" | | 1 | "The path, barely more than" | | 2 | "She’d come for the pendant," | | 3 | "Its faint, internal warmth was" | | 4 | "The grove itself felt wrong" | | 5 | "She’d parked her bike a" | | 6 | "Aurora’s hand drifted unconsciously to" | | 7 | "The pendant, nestled in her" | | 8 | "She’d come because the pendant’s" | | 9 | "Someone, or something, was using" | | 10 | "The silence deepened, becoming a" | | 11 | "Aurora paused, straining her ears." | | 12 | "She took a step forward," | | 13 | "A flicker of movement caught" | | 14 | "She spun, heart hammering against" | | 15 | "She forced herself to breathe," | | 16 | "It was just her imagination," | | 17 | "The path opened into a" | | 18 | "Moonlight, pale and cold, filtered" | | 19 | "Aurora felt a prickle of" |
| | ratio | 0.844 | |
| 64.94% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 77 | | matches | | 0 | "Now, the path narrowed, the" |
| | ratio | 0.013 | |
| 12.99% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 55 | | technicalSentenceCount | 10 | | matches | | 0 | "The grove itself felt wrong from the start – the air shimmered slightly, like heat haze over hot tarmac, and the usual nocturnal chorus of owls and foxes was ab…" | | 1 | "The pendant, nestled in her pocket, pulsed again, a faint, internal heat that made her shiver." | | 2 | "She took a step forward, and the ground beneath her boots felt subtly different – softer, spongier, as if the earth itself had shifted." | | 3 | "Moonlight, pale and cold, filtered through the dense canopy, illuminating patches of unnaturally vibrant wildflowers – orchids that shouldn’t bloom in November,…" | | 4 | "The pendant’s pulse quickened, a low, resonant throb that vibrated in her chest." | | 5 | "She pressed herself against the rough bark of the oak, her fingers digging into the grooves, feeling the cold seep through her coat." | | 6 | "The wildflowers pulsed with an inner light, a sickly green glow that made the crimson of the Heartstone seem even more alarming." | | 7 | "The pendant flew from her pocket, rolling across the moss, its glow flaring bright enough to momentarily illuminate the clearing." | | 8 | "Not a figure, but a shape – tall, impossibly thin, draped in shadows that seemed to absorb the moonlight." | | 9 | "Aurora scrambled backwards, her hands scraping against the moss and roots, trying to find purchase." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |