| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 7 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 15 | | tagDensity | 0.467 | | leniency | 0.933 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 85.58% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1734 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "slightly" | | 1 | "quickly" | | 2 | "slowly" |
| |
| 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) | |
| 33.68% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1734 | | totalAiIsms | 23 | | found | | 0 | | word | "down her spine" | | count | 1 |
| | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | | | 19 | | word | "the last thing" | | count | 1 |
|
| | highlights | | 0 | "down her spine" | | 1 | "pulsed" | | 2 | "rhythmic" | | 3 | "throb" | | 4 | "glistening" | | 5 | "silence" | | 6 | "whisper" | | 7 | "fluttered" | | 8 | "could feel" | | 9 | "pulse" | | 10 | "flickered" | | 11 | "trembled" | | 12 | "wavered" | | 13 | "glinting" | | 14 | "stomach" | | 15 | "lurched" | | 16 | "perfect" | | 17 | "echoed" | | 18 | "raced" | | 19 | "the last thing" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "shiver down spine" | | count | 1 |
|
| | highlights | | 0 | "A shiver ran down her spine" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 215 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 5 | | narrationSentences | 215 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 223 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 51 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 22 | | totalWords | 1712 | | ratio | 0.013 | | matches | | 0 | "liquefied" | | 1 | "Aurora, fear isn’t the absence of logic. It’s the presence of the unknown. And the unknown isn’t wrong to be afraid." |
| |
| 83.33% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 1 | | matches | | 0 | "When she blinked, it snapped back to normal." |
| |
| 50.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 51 | | wordCount | 1576 | | uniqueNames | 16 | | maxNameDensity | 1.21 | | worstName | "Rory" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 2 | | Park | 2 | | Carter | 1 | | September | 1 | | Sheen | 1 | | Gate | 1 | | Heartstone | 1 | | Hel | 3 | | Eva | 8 | | Rory | 19 | | Fae-touched | 1 | | Irish | 1 | | Cardiff | 1 | | Isolde | 7 | | Hollow | 1 | | Court | 1 |
| | persons | | 0 | "Carter" | | 1 | "Heartstone" | | 2 | "Eva" | | 3 | "Rory" | | 4 | "Isolde" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Sheen" | | 3 | "Hel" | | 4 | "Fae-touched" | | 5 | "Cardiff" | | 6 | "Hollow" | | 7 | "Court" |
| | globalScore | 0.897 | | windowScore | 0.5 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 113 | | glossingSentenceCount | 2 | | matches | | 0 | "as if breathing" | | 1 | "looked like it wanted to eat you, assume" |
| |
| 83.18% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.168 | | wordCount | 1712 | | matches | | 0 | "not from the cold, but from the sense" | | 1 | "Not hot enough to hurt, but warm enough to prickle" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 223 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 58 | | mean | 29.52 | | std | 24.45 | | cv | 0.828 | | sampleLengths | | 0 | 119 | | 1 | 20 | | 2 | 67 | | 3 | 50 | | 4 | 32 | | 5 | 10 | | 6 | 110 | | 7 | 2 | | 8 | 11 | | 9 | 6 | | 10 | 31 | | 11 | 44 | | 12 | 3 | | 13 | 60 | | 14 | 5 | | 15 | 24 | | 16 | 4 | | 17 | 44 | | 18 | 11 | | 19 | 64 | | 20 | 57 | | 21 | 13 | | 22 | 24 | | 23 | 6 | | 24 | 37 | | 25 | 8 | | 26 | 48 | | 27 | 43 | | 28 | 2 | | 29 | 44 | | 30 | 7 | | 31 | 48 | | 32 | 22 | | 33 | 5 | | 34 | 56 | | 35 | 28 | | 36 | 22 | | 37 | 56 | | 38 | 26 | | 39 | 7 | | 40 | 28 | | 41 | 25 | | 42 | 35 | | 43 | 3 | | 44 | 45 | | 45 | 36 | | 46 | 8 | | 47 | 10 | | 48 | 22 | | 49 | 40 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 215 | | matches | | 0 | "was gone" | | 1 | "being drawn" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 278 | | matches | | 0 | "were leaning" | | 1 | "was being" | | 2 | "was like breaking" | | 3 | "was already slipping" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 21 | | semicolonCount | 0 | | flaggedSentences | 18 | | totalSentences | 223 | | ratio | 0.081 | | matches | | 0 | "The usual hum of traffic from the A3, the distant wail of sirens, the drunken laughter of students staggering home from the pub—all of it ended abruptly at the tree line." | | 1 | "A shiver ran down her spine—not from the cold, but from the sense that the trees were leaning in." | | 2 | "Dead leaves skittered across the path in a sudden gust—except there was no wind." | | 3 | "The noise from the outside world—so absent already—melted away entirely, leaving only silence, a deep, resonant quiet." | | 4 | "Trees that shouldn’t have leaves at this time of year—yet they did, waxy and green and clustered in bunches like overripe fruit." | | 5 | "Their trunks weren’t just tall—they were proportionally wrong, too wide at the bottom, too narrow at the top, their bark peeling in sheets that fluttered like pages from an old book." | | 6 | "She counted the stones as she passed—four, five—wait, no." | | 7 | "And they certainly didn’t belong in a Fae-touched pocket—unless someone had altered the geography." | | 8 | "Clothed in something that wasn’t cloth—more like woven shadow." | | 9 | "Rory saw a flash of teeth—needle-pointed, glinting silver in the moonlight." | | 10 | "There was a face in the wood now—a mouth stretched too wide, eyes black and bottomless." | | 11 | "The ground seemed to shift underfoot—one step forward, then a half-step back." | | 12 | "Not a pool—a mirror." | | 13 | "The notes wove together into a tune—Irish, maybe." | | 14 | "The ripples carried fragrances—saltwater, rotting kelp, something sulfurous." | | 15 | "Clad in a dress that wasn’t a dress—more like a suggestion of fabric, shimmering silver-blue." | | 16 | "Something Rory had never believed in—until now." | | 17 | "The movement was wrong—too smooth, like a marionette with its strings pulled too tight." |
| |
| 91.93% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1605 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 79 | | adverbRatio | 0.049221183800623056 | | lyAdverbCount | 19 | | lyAdverbRatio | 0.011838006230529595 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 223 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 223 | | mean | 7.68 | | std | 6.46 | | cv | 0.841 | | sampleLengths | | 0 | 6 | | 1 | 31 | | 2 | 16 | | 3 | 19 | | 4 | 14 | | 5 | 2 | | 6 | 13 | | 7 | 18 | | 8 | 19 | | 9 | 1 | | 10 | 19 | | 11 | 5 | | 12 | 10 | | 13 | 13 | | 14 | 9 | | 15 | 11 | | 16 | 5 | | 17 | 14 | | 18 | 14 | | 19 | 4 | | 20 | 2 | | 21 | 11 | | 22 | 9 | | 23 | 14 | | 24 | 9 | | 25 | 1 | | 26 | 1 | | 27 | 3 | | 28 | 3 | | 29 | 2 | | 30 | 21 | | 31 | 14 | | 32 | 35 | | 33 | 5 | | 34 | 1 | | 35 | 10 | | 36 | 16 | | 37 | 8 | | 38 | 2 | | 39 | 3 | | 40 | 8 | | 41 | 6 | | 42 | 4 | | 43 | 7 | | 44 | 17 | | 45 | 3 | | 46 | 2 | | 47 | 8 | | 48 | 6 | | 49 | 2 |
| |
| 41.70% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 22 | | diversityRatio | 0.3094170403587444 | | totalSentences | 223 | | uniqueOpeners | 69 | |
| 98.04% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 170 | | matches | | 0 | "Even the moths that usually" | | 1 | "Then, a whisper." | | 2 | "Only the whispering leaves." | | 3 | "Then it was gone." | | 4 | "Then the darkness took Rory," |
| | ratio | 0.029 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 46 | | totalSentences | 170 | | matches | | 0 | "She exhaled, a visible cloud" | | 1 | "She'd been walking for forty" | | 2 | "She adjusted the strap of" | | 3 | "It burned against her breastbone." | | 4 | "She pulled the pendant out" | | 5 | "She stepped past the first" | | 6 | "It came from everywhere and" | | 7 | "She walked deeper." | | 8 | "Their trunks weren’t just tall—they" | | 9 | "She whipped around." | | 10 | "It hadn’t made a sound" | | 11 | "It coiled around her ankles" | | 12 | "She forced herself to exhale," | | 13 | "she told herself" | | 14 | "It was worse." | | 15 | "She moved quickly now, hands" | | 16 | "She was being watched." | | 17 | "She could feel it, the" | | 18 | "She counted the stones as" | | 19 | "Her breath came out in" |
| | ratio | 0.271 | |
| 83.53% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 128 | | totalSentences | 170 | | matches | | 0 | "The night swallowed Richmond Park" | | 1 | "The usual hum of traffic" | | 2 | "Rory Carter stood at the" | | 3 | "The air smelled of crushed" | | 4 | "She exhaled, a visible cloud" | | 5 | "She'd been walking for forty" | | 6 | "The last bus had already" | | 7 | "A shiver ran down her" | | 8 | "She adjusted the strap of" | | 9 | "It burned against her breastbone." | | 10 | "The Heartstone didn’t do that" | | 11 | "Rory took a step forward." | | 12 | "The ground beneath her feet" | | 13 | "The air was still." | | 14 | "She pulled the pendant out" | | 15 | "The crimson stone pulsed once," | | 16 | "That was good." | | 17 | "The standing stones rose from" | | 18 | "Rory had been here once" | | 19 | "The angles between trunk and" |
| | ratio | 0.753 | |
| 58.82% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 170 | | matches | | 0 | "Now, the stones looked different." | | 1 | "Now it had six." |
| | ratio | 0.012 | |
| 65.93% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 65 | | technicalSentenceCount | 7 | | matches | | 0 | "The last bus had already trundled past without stopping, its headlights cutting through the dark like a blade." | | 1 | "At their bases, moss grew in spirals, thick and glistening as if perpetually damp." | | 2 | "Trees that shouldn’t have leaves at this time of year—yet they did, waxy and green and clustered in bunches like overripe fruit." | | 3 | "Their trunks weren’t just tall—they were proportionally wrong, too wide at the bottom, too narrow at the top, their bark peeling in sheets that fluttered like p…" | | 4 | "The wildflowers bloomed crimson and black in the moonlight, their petals curling inward, stroking something inside Rory that wanted to scream." | | 5 | "Clad in a dress that wasn’t a dress—more like a suggestion of fabric, shimmering silver-blue." | | 6 | "The last thing she saw before the world went sideways was Isolde’s smile widening, her teeth stretching, her eyes turning black." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 7 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 83.33% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 15 | | tagDensity | 0.267 | | leniency | 0.533 | | rawRatio | 0.25 | | effectiveRatio | 0.133 | |