| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 19 | | adverbTagCount | 1 | | adverbTags | | 0 | "the Seer said softly [softly]" |
| | dialogueSentences | 38 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.053 | | effectiveRatio | 0.053 | |
| 84.80% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1645 | | totalAiIsmAdverbs | 5 | | found | | 0 | | adverb | "ever so slightly" | | count | 1 |
| | 1 | | | 2 | | | 3 | |
| | highlights | | 0 | "ever so slightly" | | 1 | "very" | | 2 | "truly" | | 3 | "softly" |
| |
| 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) | |
| 42.25% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1645 | | totalAiIsms | 19 | | found | | | highlights | | 0 | "pulsed" | | 1 | "warmth" | | 2 | "whisper" | | 3 | "flickered" | | 4 | "weight" | | 5 | "shimmered" | | 6 | "lurch" | | 7 | "pulse" | | 8 | "echoing" | | 9 | "could feel" | | 10 | "echo" | | 11 | "predator" | | 12 | "fractured" | | 13 | "chill" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "air was thick with" | | count | 1 |
|
| | highlights | | 0 | "The air was thick with" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 107 | | matches | (empty) | |
| 89.45% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 4 | | narrationSentences | 107 | | filterMatches | (empty) | | hedgeMatches | | 0 | "managed to" | | 1 | "seemed to" | | 2 | "appeared to" |
| |
| 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 | 50 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1632 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 33.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 65 | | wordCount | 1374 | | uniqueNames | 18 | | maxNameDensity | 1.38 | | worstName | "Rory" | | maxWindowNameDensity | 4 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 19 | | Heartstone | 7 | | December | 2 | | Richmond | 2 | | Park | 1 | | English | 2 | | Fae-touched | 1 | | Hel | 3 | | London | 2 | | Fae | 4 | | Nyx | 8 | | Seer | 2 | | Evan | 1 | | Isolde | 5 | | Dymas | 1 | | Veil | 1 | | Wardens | 1 | | Come | 3 |
| | persons | | 0 | "Rory" | | 1 | "Nyx" | | 2 | "Seer" | | 3 | "Evan" | | 4 | "Isolde" | | 5 | "Veil" |
| | places | | 0 | "Heartstone" | | 1 | "Richmond" | | 2 | "Park" | | 3 | "English" | | 4 | "London" |
| | globalScore | 0.809 | | windowScore | 0.333 | |
| 82.43% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 74 | | glossingSentenceCount | 2 | | matches | | 0 | "knots that seemed to move in her peripheral vision" | | 1 | "quite a color at all" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.613 | | wordCount | 1632 | | matches | | 0 | "not the random sprawl of nature, but designs" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 124 | | matches | | 0 | "know that the" | | 1 | "passing, that the" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 51 | | mean | 32 | | std | 23.46 | | cv | 0.733 | | sampleLengths | | 0 | 66 | | 1 | 20 | | 2 | 52 | | 3 | 76 | | 4 | 3 | | 5 | 38 | | 6 | 22 | | 7 | 63 | | 8 | 10 | | 9 | 7 | | 10 | 3 | | 11 | 37 | | 12 | 54 | | 13 | 47 | | 14 | 22 | | 15 | 61 | | 16 | 4 | | 17 | 15 | | 18 | 44 | | 19 | 68 | | 20 | 32 | | 21 | 5 | | 22 | 36 | | 23 | 68 | | 24 | 6 | | 25 | 2 | | 26 | 54 | | 27 | 18 | | 28 | 74 | | 29 | 16 | | 30 | 20 | | 31 | 2 | | 32 | 49 | | 33 | 18 | | 34 | 29 | | 35 | 38 | | 36 | 12 | | 37 | 39 | | 38 | 46 | | 39 | 4 | | 40 | 88 | | 41 | 29 | | 42 | 34 | | 43 | 4 | | 44 | 78 | | 45 | 20 | | 46 | 25 | | 47 | 24 | | 48 | 19 | | 49 | 12 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 107 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 241 | | matches | | 0 | "was standing" | | 1 | "was echoing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 124 | | ratio | 0.089 | | matches | | 0 | "She'd learned enough over the past months to know that the warmth meant something—something she probably wouldn't like." | | 1 | "Moss and lichen crawled across their surfaces, but the carvings beneath remained visible—spirals and knots that seemed to move in her peripheral vision." | | 2 | "The invitation had arrived three days ago, slipped under her door like a takeaway menu—a single sheet of paper covered in silver script that shimmered and shifted, the words never quite settling into English until she stopped trying to read them and simply let the meaning wash over her." | | 3 | "Not violently—not like the Hel portals she'd stumbled through before, that sickening lurch and tear." | | 4 | "Bluebells and foxgloves alongside flowers she couldn't name—blooms that shimmered with inner light, petals spiraling in patterns that hurt to follow." | | 5 | "Not metaphorically—their trunks twisted like corkscrews, bark peeling in strips of silver and bronze, branches arching overhead to form a canopy that filtered light into scattered coins on the forest floor." | | 6 | "She could feel it—that watchful presence at the edge of perception, the sense that the flowers turned to track her passing, that the spiral trees leaned ever so slightly toward her as she walked." | | 7 | "The wildflowers here grew in deliberate patterns—not the random sprawl of nature, but designs." | | 8 | "\"And it has chosen you.\" Her eyes lifted to meet Rory's, and something terrible moved through them—knowledge, grief, hunger." | | 9 | "Isolde laughed—a sound like breaking ice and blooming roses, beautiful and wrong." | | 10 | "Rory saw—Hel." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1391 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 43 | | adverbRatio | 0.030913012221423435 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.008626887131560028 | |
| 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.16 | | std | 9.61 | | cv | 0.73 | | sampleLengths | | 0 | 24 | | 1 | 15 | | 2 | 27 | | 3 | 2 | | 4 | 18 | | 5 | 23 | | 6 | 22 | | 7 | 7 | | 8 | 5 | | 9 | 23 | | 10 | 24 | | 11 | 6 | | 12 | 18 | | 13 | 3 | | 14 | 9 | | 15 | 1 | | 16 | 28 | | 17 | 4 | | 18 | 10 | | 19 | 8 | | 20 | 49 | | 21 | 5 | | 22 | 2 | | 23 | 7 | | 24 | 4 | | 25 | 6 | | 26 | 7 | | 27 | 3 | | 28 | 15 | | 29 | 3 | | 30 | 19 | | 31 | 1 | | 32 | 17 | | 33 | 21 | | 34 | 15 | | 35 | 6 | | 36 | 16 | | 37 | 25 | | 38 | 5 | | 39 | 14 | | 40 | 3 | | 41 | 19 | | 42 | 20 | | 43 | 22 | | 44 | 4 | | 45 | 9 | | 46 | 6 | | 47 | 3 | | 48 | 20 | | 49 | 21 |
| |
| 45.70% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 15 | | diversityRatio | 0.3467741935483871 | | totalSentences | 124 | | uniqueOpeners | 43 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 96 | | matches | (empty) | | ratio | 0 | |
| 90.83% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 31 | | totalSentences | 96 | | matches | | 0 | "She slowed her steps, one" | | 1 | "She'd learned enough over the" | | 2 | "They rose from the darkness" | | 3 | "She'd been cold ten minutes" | | 4 | "She was standing at the" | | 5 | "She hadn't come alone." | | 6 | "She'd learned that particular lesson" | | 7 | "She recognized it from the" | | 8 | "She felt as if she" | | 9 | "It was warm." | | 10 | "She pulled her hand away." | | 11 | "They hadn't touched anything." | | 12 | "They moved through the shadows" | | 13 | "She could feel it—that watchful" | | 14 | "She looked no older than" | | 15 | "Her silver hair cascaded past" | | 16 | "She wore a gown of" | | 17 | "She turned those lavender eyes" | | 18 | "Her eyes lifted to meet" | | 19 | "She thought of Evan's hands" |
| | ratio | 0.323 | |
| 32.92% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 82 | | totalSentences | 96 | | matches | | 0 | "The standing stones rose from" | | 1 | "She slowed her steps, one" | | 2 | "The gem pulsed against her" | | 3 | "She'd learned enough over the" | | 4 | "Nyx's whisper carried from the" | | 5 | "They rose from the darkness" | | 6 | "Rory stared at the monoliths." | | 7 | "Moss and lichen crawled across" | | 8 | "The air itself felt different" | | 9 | "She'd been cold ten minutes" | | 10 | "The question felt absurd even" | | 11 | "She was standing at the" | | 12 | "Nyx's violet eyes flickered." | | 13 | "The invitation had arrived three" | | 14 | "She hadn't come alone." | | 15 | "She'd learned that particular lesson" | | 16 | "Rory stepped between the first" | | 17 | "The world folded." | | 18 | "This was gentler." | | 19 | "The park simply slipped away," |
| | ratio | 0.854 | |
| 52.08% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 96 | | matches | | 0 | "Now her jacket hung open," |
| | ratio | 0.01 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 46 | | technicalSentenceCount | 13 | | matches | | 0 | "The standing stones rose from the earth like broken teeth, ancient oak transformed into something that belonged to no forest Rory had ever walked." | | 1 | "The gem pulsed against her collarbone, warm and alive in a way that made her want to rip the thing off and hurl it into the underbrush." | | 2 | "Moss and lichen crawled across their surfaces, but the carvings beneath remained visible—spirals and knots that seemed to move in her peripheral vision." | | 3 | "The air itself felt different here, thicker, carrying a sweetness that had nothing to do with the December frost coating Richmond Park behind her." | | 4 | "The invitation had arrived three days ago, slipped under her door like a takeaway menu—a single sheet of paper covered in silver script that shimmered and shift…" | | 5 | "The park simply slipped away, Richmond's grey-green sameness replaced by something that made her breath catch in her throat." | | 6 | "Hundreds of them, thousands, carpeting the ground in waves of color that shouldn't exist side by side." | | 7 | "Bluebells and foxgloves alongside flowers she couldn't name—blooms that shimmered with inner light, petals spiraling in patterns that hurt to follow." | | 8 | "Not metaphorically—their trunks twisted like corkscrews, bark peeling in strips of silver and bronze, branches arching overhead to form a canopy that filtered l…" | | 9 | "Pulsing faintly, a slow rhythm that matched her heartbeat but arrived half a second too late, as if the tree had heard her pulse and was echoing it back." | | 10 | "Her silver hair cascaded past her waist, stirring in a breeze that didn't touch anything else in the clearing." | | 11 | "She wore a gown of shifting color, fabric that moved between green and gold and something that wasn't quite a color at all." | | 12 | "She saw the seven realms spread before her like wounds in the fabric of existence, saw Dymas with its amber sky and endless feasting, saw the starving thing tha…" |
| |
| 98.68% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 19 | | uselessAdditionCount | 1 | | matches | | 0 | "she said, her voice steady despite the trembling in her bones," |
| |
| 97.37% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 2 | | fancyTags | | 0 | "Rory murmured (murmur)" | | 1 | "the Seer whispered (whisper)" |
| | dialogueSentences | 38 | | tagDensity | 0.184 | | leniency | 0.368 | | rawRatio | 0.286 | | effectiveRatio | 0.105 | |