| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 11 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 37 | | tagDensity | 0.297 | | leniency | 0.595 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1488 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 36.16% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1488 | | totalAiIsms | 19 | | found | | | highlights | | 0 | "pulse" | | 1 | "loomed" | | 2 | "warmth" | | 3 | "silence" | | 4 | "could feel" | | 5 | "velvet" | | 6 | "throbbed" | | 7 | "shattered" | | 8 | "weight" | | 9 | "familiar" | | 10 | "stomach" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "let out a breath" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 140 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 140 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 167 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 54 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 25 | | markdownWords | 62 | | totalWords | 1464 | | ratio | 0.042 | | matches | | 0 | "One. Two. Three." | | 1 | "Four. Five." | | 2 | "Six." | | 3 | "\"Not Isolde.\"" | | 4 | "\"Neither are you.\"" | | 5 | "\"We know what it is.\"" | | 6 | "voices" | | 7 | "\"Dymas-made.\"" | | 8 | "\"Blood-bound.\"" | | 9 | "\"Stolen.\"" | | 10 | "\"Given.\"" | | 11 | "\"Given.\"" | | 12 | "\"Given by whom?\"" | | 13 | "\"Liar.\"" | | 14 | "\"You know.\"" | | 15 | "\"You've always known.\"" | | 16 | "\"Say his name.\"" | | 17 | "moving" | | 18 | "\"Say his name.\"" | | 19 | "\"SAY IT.\"" | | 20 | "shifted" | | 21 | "\"Say his name,\"" | | 22 | "\"The one who gave you the stone. Say it, and we will let you leave.\"" | | 23 | "you" | | 24 | "\"Have you?\"" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 89.44% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 47 | | wordCount | 1321 | | uniqueNames | 19 | | maxNameDensity | 1.21 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Carter | 1 | | October | 1 | | Eva | 6 | | Hel | 2 | | Silas | 4 | | Yu-Fei | 1 | | Richmond | 1 | | Park | 1 | | Rory | 16 | | Silence | 1 | | Good | 1 | | Mercer | 1 | | Street | 1 | | Hel-hound | 1 | | Cardiff | 2 | | London | 1 | | Albany | 1 | | Road | 1 | | One | 4 |
| | persons | | 0 | "Carter" | | 1 | "Eva" | | 2 | "Silas" | | 3 | "Rory" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Mercer" | | 3 | "Street" | | 4 | "Cardiff" | | 5 | "London" | | 6 | "Albany" | | 7 | "Road" | | 8 | "One" |
| | globalScore | 0.894 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 75 | | glossingSentenceCount | 1 | | matches | | 0 | "felt like a dead thing" |
| |
| 63.39% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.366 | | wordCount | 1464 | | matches | | 0 | "Not the fiery pulse Eva had described when a Hel portal lurked nearby, but a steady heat" | | 1 | "Not the gentle warmth she'd grown accustomed to, but a sharp, insistent heat" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 167 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 68 | | mean | 21.53 | | std | 22.16 | | cv | 1.029 | | sampleLengths | | 0 | 3 | | 1 | 55 | | 2 | 34 | | 3 | 71 | | 4 | 5 | | 5 | 16 | | 6 | 81 | | 7 | 6 | | 8 | 54 | | 9 | 5 | | 10 | 67 | | 11 | 11 | | 12 | 23 | | 13 | 24 | | 14 | 2 | | 15 | 27 | | 16 | 17 | | 17 | 3 | | 18 | 37 | | 19 | 61 | | 20 | 3 | | 21 | 3 | | 22 | 44 | | 23 | 36 | | 24 | 5 | | 25 | 33 | | 26 | 1 | | 27 | 1 | | 28 | 1 | | 29 | 48 | | 30 | 1 | | 31 | 1 | | 32 | 3 | | 33 | 62 | | 34 | 22 | | 35 | 5 | | 36 | 19 | | 37 | 1 | | 38 | 53 | | 39 | 2 | | 40 | 3 | | 41 | 3 | | 42 | 60 | | 43 | 2 | | 44 | 3 | | 45 | 1 | | 46 | 2 | | 47 | 56 | | 48 | 10 | | 49 | 54 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 140 | | matches | | 0 | "been unlocked" | | 1 | "are made" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 226 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 23 | | semicolonCount | 0 | | flaggedSentences | 15 | | totalSentences | 167 | | ratio | 0.09 | | matches | | 0 | "Not a sound—not yet—but a pressure change, like walking from a quiet street into a room where someone held their breath." | | 1 | "She'd been here twice before—once with Eva and Silas, once alone in daylight to deliver a package for Yu-Fei that had smelled of ginger and old parchment." | | 2 | "She'd dressed in the dark—jeans, boots, her canvas jacket with the torn lining—and cycled through empty streets to Richmond Park." | | 3 | "The wildflowers—foxgloves, bluebells, things that shouldn't coexist in one season—bent away from her as she passed." | | 4 | "Then, from somewhere in the dark between the stones, a voice—too many voices, layered like sediment, old and young and something in between." | | 5 | "She'd faced things before—the thing in the basement on Mercer Street, the drowned girls in the canal, the Hel-hound that had stalked her for three blocks until Silas spoke words that made the air taste like copper." | | 6 | "No—the *voices* had separated, individual threads pulling apart from the chorus." | | 7 | "Rory had nightmares about hands—long-fingered, too many joints—pressing the chain into her palm while she slept." | | 8 | "Not in wind—the air had gone dead still, heavy as water." | | 9 | "She could feel it breathing—slow, deep, the respiration of something ancient and patient." | | 10 | "The small crescent on her left wrist, long healed, long forgotten—she'd gotten it falling from a swing set when she was seven, that was the story, that was always the story—now burned with the same heat as the pendant." | | 11 | "Somewhere in the distance, a fox screamed—that awful, humanlike sound that had startled her as a child in Cardiff, made her run to her parents' room." | | 12 | "Not clearly—she would never remember it clearly, no matter how many times Eva or Silas asked her to recount this night—but she saw the absence of light, the negative space shaped like a figure, tall and wrong-angled and crowned with something that might have been antlers or might have been bone." | | 13 | "But she felt its attention on her like a weight, like drowning, like the moment before her ex's fist connected with the wall beside her head—that terrible suspended certainty of harm." | | 14 | "The antlers—if they were antlers—scraped against the sky." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1026 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 24 | | adverbRatio | 0.023391812865497075 | | lyAdverbCount | 0 | | lyAdverbRatio | 0 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 167 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 167 | | mean | 8.77 | | std | 8.27 | | cv | 0.943 | | sampleLengths | | 0 | 3 | | 1 | 13 | | 2 | 21 | | 3 | 21 | | 4 | 7 | | 5 | 1 | | 6 | 26 | | 7 | 13 | | 8 | 13 | | 9 | 27 | | 10 | 18 | | 11 | 5 | | 12 | 12 | | 13 | 4 | | 14 | 8 | | 15 | 17 | | 16 | 9 | | 17 | 20 | | 18 | 5 | | 19 | 3 | | 20 | 19 | | 21 | 5 | | 22 | 1 | | 23 | 17 | | 24 | 12 | | 25 | 16 | | 26 | 9 | | 27 | 3 | | 28 | 2 | | 29 | 2 | | 30 | 15 | | 31 | 2 | | 32 | 21 | | 33 | 1 | | 34 | 1 | | 35 | 9 | | 36 | 1 | | 37 | 14 | | 38 | 1 | | 39 | 2 | | 40 | 1 | | 41 | 8 | | 42 | 4 | | 43 | 6 | | 44 | 13 | | 45 | 1 | | 46 | 23 | | 47 | 2 | | 48 | 3 | | 49 | 12 |
| |
| 58.68% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 17 | | diversityRatio | 0.41317365269461076 | | totalSentences | 167 | | uniqueOpeners | 69 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 114 | | matches | | 0 | "Then, from somewhere in the" | | 1 | "Just the stone, warm as" | | 2 | "Somewhere in the distance, a" | | 3 | "Then, from the tree line" |
| | ratio | 0.035 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 21 | | totalSentences | 114 | | matches | | 0 | "Her boots crunched frosted grass," | | 1 | "She touched the pendant beneath" | | 2 | "She'd been here twice before—once" | | 3 | "She'd dressed in the dark—jeans," | | 4 | "She held her breath and" | | 5 | "she said, and her voice" | | 6 | "She'd faced things before—the thing" | | 7 | "She'd learned to read the" | | 8 | "She let out a breath" | | 9 | "She didn't know." | | 10 | "They rustled like things laughing." | | 11 | "She hadn't realized she'd retreated" | | 12 | "She could feel it breathing—slow," | | 13 | "She looked down and saw" | | 14 | "She knew that voice." | | 15 | "She'd fled London to escape" | | 16 | "She didn't turn." | | 17 | "She knew it wasn't real." | | 18 | "She stepped forward, away from" | | 19 | "Her legs shook." |
| | ratio | 0.184 | |
| 69.65% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 89 | | totalSentences | 114 | | matches | | 0 | "The trees breathed." | | 1 | "Rory Carter felt the shift" | | 2 | "Her boots crunched frosted grass," | | 3 | "She touched the pendant beneath" | | 4 | "The standing stones loomed ahead," | | 5 | "Moonlight caught the edges, made" | | 6 | "She'd been here twice before—once" | | 7 | "Both times, the grove had" | | 8 | "Tonight, the humming had stopped." | | 9 | "Rory said, her voice smaller" | | 10 | "The pendant had woken her" | | 11 | "The chain left a red" | | 12 | "She'd dressed in the dark—jeans," | | 13 | "The gate had been unlocked." | | 14 | "That was wrong." | | 15 | "The park closed at dusk," | | 16 | "Tonight, the gate hung open." | | 17 | "The standing stones cast shadows" | | 18 | "The wildflowers—foxgloves, bluebells, things that" | | 19 | "The silence pressed against her" |
| | ratio | 0.781 | |
| 87.72% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 114 | | matches | | 0 | "Now, in the clearing, Rory" | | 1 | "If she turned, she would" |
| | ratio | 0.018 | |
| 46.70% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 52 | | technicalSentenceCount | 7 | | matches | | 0 | "Her boots crunched frosted grass, and the night air tasted of wild honeysuckle that had no business blooming in late October." | | 1 | "She'd been here twice before—once with Eva and Silas, once alone in daylight to deliver a package for Yu-Fei that had smelled of ginger and old parchment." | | 2 | "Not the gentle warmth she'd grown accustomed to, but a sharp, insistent heat that bordered on painful." | | 3 | "The wildflowers—foxgloves, bluebells, things that shouldn't coexist in one season—bent away from her as she passed." | | 4 | "She'd faced things before—the thing in the basement on Mercer Street, the drowned girls in the canal, the Hel-hound that had stalked her for three blocks until …" | | 5 | "The small crescent on her left wrist, long healed, long forgotten—she'd gotten it falling from a swing set when she was seven, that was the story, that was alwa…" | | 6 | "Not clearly—she would never remember it clearly, no matter how many times Eva or Silas asked her to recount this night—but she saw the absence of light, the neg…" |
| |
| 79.55% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 11 | | uselessAdditionCount | 1 | | matches | | 0 | "Rory said, her voice smaller than she intended" |
| |
| 68.92% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 3 | | fancyTags | | 0 | "she admitted (admit)" | | 1 | "a fox screamed (scream)" | | 2 | "Rory whispered (whisper)" |
| | dialogueSentences | 37 | | tagDensity | 0.189 | | leniency | 0.378 | | rawRatio | 0.429 | | effectiveRatio | 0.162 | |