| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 2 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 8 | | tagDensity | 0.25 | | leniency | 0.5 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 80.90% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1047 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "very" | | 1 | "slowly" | | 2 | "completely" | | 3 | "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) | |
| 9.26% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1047 | | totalAiIsms | 19 | | found | | | highlights | | 0 | "throbbed" | | 1 | "etched" | | 2 | "scanning" | | 3 | "silence" | | 4 | "dance" | | 5 | "weight" | | 6 | "traced" | | 7 | "footsteps" | | 8 | "familiar" | | 9 | "warmth" | | 10 | "flickered" | | 11 | "depths" | | 12 | "gleaming" |
| |
| 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 | 66 | | matches | | |
| 12.99% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 6 | | narrationSentences | 66 | | filterMatches | (empty) | | hedgeMatches | | 0 | "seemed to" | | 1 | "began to" | | 2 | "tried to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 72 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 38 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 2 | | totalWords | 1033 | | ratio | 0.002 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 5 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 17 | | wordCount | 1018 | | uniqueNames | 11 | | maxNameDensity | 0.49 | | worstName | "Aurora" | | maxWindowNameDensity | 1 | | worstWindowName | "Silas" | | discoveredNames | | Heartstone | 1 | | Pendant | 1 | | Yu-Fei | 1 | | Cheung | 1 | | Golden | 1 | | Empress | 1 | | Richmond | 1 | | Park | 1 | | Silas | 2 | | Silence | 2 | | Aurora | 5 |
| | persons | | 0 | "Pendant" | | 1 | "Yu-Fei" | | 2 | "Cheung" | | 3 | "Empress" | | 4 | "Silas" | | 5 | "Silence" | | 6 | "Aurora" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 58 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 5 | | per1kWords | 4.84 | | wordCount | 1033 | | matches | | 0 | "Not footsteps, not exactly, but something closer to the scraping of fingernails against glas" | | 1 | "not exactly, but something closer to the scraping of fingernails against glas" | | 2 | "not a voice now, but a chorus of sighs, like the wind through empty rooms, like t" | | 3 | "Not splinter or break, but fracture along ancient lines" | | 4 | "not wood or bark or anything that should have been inside, but a darkness so complete it seemed to drink the light around i" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 72 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 33 | | mean | 31.3 | | std | 23.35 | | cv | 0.746 | | sampleLengths | | 0 | 81 | | 1 | 4 | | 2 | 60 | | 3 | 1 | | 4 | 29 | | 5 | 1 | | 6 | 46 | | 7 | 56 | | 8 | 53 | | 9 | 4 | | 10 | 48 | | 11 | 53 | | 12 | 6 | | 13 | 20 | | 14 | 1 | | 15 | 56 | | 16 | 42 | | 17 | 28 | | 18 | 6 | | 19 | 68 | | 20 | 38 | | 21 | 56 | | 22 | 43 | | 23 | 4 | | 24 | 1 | | 25 | 21 | | 26 | 15 | | 27 | 25 | | 28 | 9 | | 29 | 50 | | 30 | 9 | | 31 | 54 | | 32 | 45 |
| |
| 84.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 66 | | matches | | 0 | "been carved" | | 1 | "was gone" | | 2 | "was layered" | | 3 | "being trapped" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 177 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 72 | | ratio | 0.167 | | matches | | 0 | "The Heartstone Pendant throbbed against her chest like a second heartbeat, its crimson glow pulsing in time with something else—something that didn't belong in the human world." | | 1 | "Their petals didn't dance—they hung suspended, like taxidermy specimens arranged by some meticulous hand." | | 2 | "Now, as she traced the oak's surface, her fingers found something beneath the moss—a keyhole shaped like a serpent's eye." | | 3 | "She tried her phone—nothing but dead air where signal should have reached." | | 4 | "But the grove had called to her through dreams for the past fortnight—vivid nightmares of being trapped in mirrors, of watching herself from outside her body as something wore her face and smiled with too many teeth." | | 5 | "Not dramatically—they simply moved, their positions adjusting like chess pieces rearranged by an unseen hand." | | 6 | "The wildflowers swayed again, and this time she could see that their colours weren't quite right—petals in shades that existed only in nightmares, colours that hurt to look at directly." | | 7 | "A sound rose from the darkness beyond the stones—not a voice now, but a chorus of sighs, like the wind through empty rooms, like the sound of someone trying to remember what they'd forgotten." | | 8 | "Then she heard it—the soft scrape of something moving just beyond her peripheral vision." | | 9 | "But the ground beneath her hands was no longer soil and leaf litter—it was smooth, cold stone that felt unnervingly like bone." | | 10 | "But not true silence—the absence of sound that followed true silence, like the pause between heartbeats when something fundamental had stopped working." | | 11 | "Aurora's hand flew to her mouth as the thing that had worn her face—her own face—smiled from the depths of the splitting stone." |
| |
| 91.77% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1034 | | adjectiveStacks | 1 | | stackExamples | | 0 | "thick, pressing against her" |
| | adverbCount | 44 | | adverbRatio | 0.0425531914893617 | | lyAdverbCount | 20 | | lyAdverbRatio | 0.019342359767891684 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 72 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 72 | | mean | 14.35 | | std | 9.3 | | cv | 0.648 | | sampleLengths | | 0 | 27 | | 1 | 28 | | 2 | 26 | | 3 | 4 | | 4 | 12 | | 5 | 24 | | 6 | 24 | | 7 | 1 | | 8 | 14 | | 9 | 15 | | 10 | 1 | | 11 | 8 | | 12 | 26 | | 13 | 12 | | 14 | 10 | | 15 | 16 | | 16 | 14 | | 17 | 16 | | 18 | 7 | | 19 | 26 | | 20 | 20 | | 21 | 4 | | 22 | 5 | | 23 | 22 | | 24 | 21 | | 25 | 15 | | 26 | 26 | | 27 | 12 | | 28 | 6 | | 29 | 8 | | 30 | 12 | | 31 | 1 | | 32 | 12 | | 33 | 7 | | 34 | 37 | | 35 | 21 | | 36 | 21 | | 37 | 5 | | 38 | 17 | | 39 | 6 | | 40 | 6 | | 41 | 15 | | 42 | 23 | | 43 | 30 | | 44 | 34 | | 45 | 4 | | 46 | 14 | | 47 | 34 | | 48 | 8 | | 49 | 6 |
| |
| 54.63% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.3611111111111111 | | totalSentences | 72 | | uniqueOpeners | 26 | |
| 51.28% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 65 | | matches | | 0 | "Then she heard it—the soft" |
| | ratio | 0.015 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 15 | | totalSentences | 65 | | matches | | 0 | "She whirled around, her bright" | | 1 | "Their petals didn't dance—they hung" | | 2 | "She'd come for answers about" | | 3 | "It seemed to emanate from" | | 4 | "She tried her phone—nothing but" | | 5 | "It was layered now, harmonised" | | 6 | "Her room above it felt" | | 7 | "Her breath formed a cloud" | | 8 | "She needed to get back." | | 9 | "She forced herself to look," | | 10 | "Her rational mind searched for" | | 11 | "Her own voice, perhaps, but" | | 12 | "she demanded, her voice cracking" | | 13 | "She looked down at her" | | 14 | "Her shoes had vanished, leaving" |
| | ratio | 0.231 | |
| 90.77% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 48 | | totalSentences | 65 | | matches | | 0 | "The Heartstone Pendant throbbed against" | | 1 | "Aurora pressed her palm against" | | 2 | "The delivery person from Yu-Fei" | | 3 | "The order had been for" | | 4 | "The pendant had begun its" | | 5 | "She whirled around, her bright" | | 6 | "The voice came from everywhere" | | 7 | "Silence stretched between them like" | | 8 | "Aurora's hand moved instinctively to" | | 9 | "Pain flared through the scar" | | 10 | "The grove was wrong in" | | 11 | "The wildflowers that bloomed year-round" | | 12 | "Their petals didn't dance—they hung" | | 13 | "The air itself seemed too" | | 14 | "She'd come for answers about" | | 15 | "The unknown benefactor who'd slipped" | | 16 | "The pendant flared crimson." | | 17 | "A sound made her freeze." | | 18 | "It seemed to emanate from" | | 19 | "Aurora backed away, her sensible" |
| | ratio | 0.738 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 65 | | matches | | 0 | "Now, she was back." | | 1 | "Now, as she traced the" | | 2 | "To her flat, to Silas's" |
| | ratio | 0.046 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 42 | | technicalSentenceCount | 10 | | matches | | 0 | "The Heartstone Pendant throbbed against her chest like a second heartbeat, its crimson glow pulsing in time with something else—something that didn't belong in …" | | 1 | "Aurora pressed her palm against the cold bark of the ancient oak standing stone, its surface etched with symbols that hadn't been carved by any tool she recogni…" | | 2 | "Three days ago, she'd found herself standing in this same grove, following a delivery address that led to a door marked only with a crescent moon." | | 3 | "The wildflowers that bloomed year-round stood unnaturally still despite the breeze that whispered through the oaks." | | 4 | "The unknown benefactor who'd slipped it into her bag three weeks ago hadn't left a note, only a slip of parchment that smelled faintly of iron." | | 5 | "But the ground beneath her hands was no longer soil and leaf litter—it was smooth, cold stone that felt unnervingly like bone." | | 6 | "But not true silence—the absence of sound that followed true silence, like the pause between heartbeats when something fundamental had stopped working." | | 7 | "The bark split open like a mouth opening, revealing not wood or bark or anything that should have been inside, but a darkness so complete it seemed to drink the…" | | 8 | "Aurora's hand flew to her mouth as the thing that had worn her face—her own face—smiled from the depths of the splitting stone." | | 9 | "The smile was too wide, too many teeth gleaming in the starlight that had suddenly begun to fall in the wrong direction." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 2 | | uselessAdditionCount | 1 | | matches | | 0 | "she demanded, her voice cracking with fear she tried to suppress" |
| |
| 25.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 8 | | tagDensity | 0.125 | | leniency | 0.25 | | rawRatio | 1 | | effectiveRatio | 0.25 | |