| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 4 | | tagDensity | 0.75 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 92.22% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1285 | | 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) | |
| 41.63% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1285 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "pulse" | | 1 | "warmth" | | 2 | "perfect" | | 3 | "footsteps" | | 4 | "oppressive" | | 5 | "silence" | | 6 | "whisper" | | 7 | "searing" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "jaw/fists clenched" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 64 | | matches | (empty) | |
| 75.89% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 2 | | narrationSentences | 64 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 64 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 64 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 7 | | markdownWords | 34 | | totalWords | 1275 | | ratio | 0.027 | | matches | | 0 | "If you want the truth about the pendant, come to the Grove at moonrise." | | 1 | "Laila." | | 2 | "He’s looking for you." | | 3 | "Cardiff..." | | 4 | "The law books gathering dust..." | | 5 | "The way he used to grip your arm..." | | 6 | "rotted" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 19 | | wordCount | 1247 | | uniqueNames | 9 | | maxNameDensity | 0.4 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Thump" | | discoveredNames | | Fae | 1 | | Grove | 2 | | Richmond | 1 | | Park | 1 | | Heartstone | 3 | | Evan | 2 | | Laughter | 1 | | Rory | 5 | | Thump | 3 |
| | persons | | 0 | "Heartstone" | | 1 | "Evan" | | 2 | "Laughter" | | 3 | "Rory" |
| | places | | 0 | "Fae" | | 1 | "Grove" | | 2 | "Richmond" | | 3 | "Park" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 46 | | glossingSentenceCount | 3 | | matches | | 0 | "felt like a threshold but instead just" | | 1 | "felt like a trap" | | 2 | "felt like a radio tuned slightly off-st" | | 3 | "felt like ten minutes. It could have be" |
| |
| 43.14% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.569 | | wordCount | 1275 | | matches | | 0 | "Not from one direction, but from all around her, a slow, deliberate circle being drawn a" | | 1 | "Not dug, but *rotted* into the earth, about three feet wide" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 64 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 39 | | mean | 32.69 | | std | 25.06 | | cv | 0.766 | | sampleLengths | | 0 | 102 | | 1 | 83 | | 2 | 65 | | 3 | 67 | | 4 | 6 | | 5 | 21 | | 6 | 26 | | 7 | 50 | | 8 | 64 | | 9 | 62 | | 10 | 47 | | 11 | 51 | | 12 | 38 | | 13 | 13 | | 14 | 1 | | 15 | 24 | | 16 | 32 | | 17 | 18 | | 18 | 4 | | 19 | 27 | | 20 | 12 | | 21 | 31 | | 22 | 56 | | 23 | 6 | | 24 | 59 | | 25 | 19 | | 26 | 14 | | 27 | 11 | | 28 | 42 | | 29 | 57 | | 30 | 18 | | 31 | 3 | | 32 | 3 | | 33 | 3 | | 34 | 25 | | 35 | 4 | | 36 | 38 | | 37 | 58 | | 38 | 15 |
| |
| 61.40% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 8 | | totalSentences | 64 | | matches | | 0 | "was stolen" | | 1 | "been ten" | | 2 | "being drawn" | | 3 | "was stuck" | | 4 | "was, knew" | | 5 | "was made" | | 6 | "was gone" | | 7 | "was revealed" | | 8 | "were blackened" |
| |
| 66.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 199 | | matches | | 0 | "was glowing" | | 1 | "was pulling" | | 2 | "was deafening" | | 3 | "were trying" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 64 | | ratio | 0.063 | | matches | | 0 | "Above, the sky was a bruised purple, starless—an hour ago, in Richmond Park, it had been a clear, cold night." | | 1 | "No answer. Just the gentle, wrong sigh of wind through leaves that shouldn’t have been there—the trees were too dense for any real breeze to penetrate." | | 2 | "Rory didn’t think. She ran. Not toward the stone boundary—that felt miles away—but diagonally across the clearing, toward what she hoped was a thinner part of the tree line. The air resisted her, thick and syrupy. The glowing pendant bounced against her chest, its red pulse throwing frantic, jumping shadows that made the trees seem to reach for her." | | 3 | "In the center of the small clearing was a hole. Not dug, but *rotted* into the earth, about three feet wide. The edges were blackened and splintered, like burnt wood. And from within the absolute darkness of that hole came the sound—a dry, relentless scrape, scrape, scrape, as if something were trying to claw its way up." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 341 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 13 | | adverbRatio | 0.03812316715542522 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.008797653958944282 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 64 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 64 | | mean | 19.92 | | std | 17.91 | | cv | 0.899 | | sampleLengths | | 0 | 14 | | 1 | 30 | | 2 | 20 | | 3 | 9 | | 4 | 29 | | 5 | 14 | | 6 | 14 | | 7 | 2 | | 8 | 2 | | 9 | 35 | | 10 | 16 | | 11 | 9 | | 12 | 19 | | 13 | 20 | | 14 | 3 | | 15 | 4 | | 16 | 3 | | 17 | 7 | | 18 | 17 | | 19 | 10 | | 20 | 5 | | 21 | 2 | | 22 | 4 | | 23 | 1 | | 24 | 13 | | 25 | 15 | | 26 | 6 | | 27 | 6 | | 28 | 15 | | 29 | 26 | | 30 | 50 | | 31 | 64 | | 32 | 62 | | 33 | 47 | | 34 | 51 | | 35 | 38 | | 36 | 13 | | 37 | 1 | | 38 | 24 | | 39 | 32 | | 40 | 18 | | 41 | 4 | | 42 | 27 | | 43 | 12 | | 44 | 31 | | 45 | 56 | | 46 | 6 | | 47 | 59 | | 48 | 19 | | 49 | 1 |
| |
| 59.38% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.421875 | | totalSentences | 64 | | uniqueOpeners | 27 | |
| 58.48% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 57 | | matches | | 0 | "Just a piece of jewellery" |
| | ratio | 0.018 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 15 | | totalSentences | 57 | | matches | | 0 | "She unzipped her jacket, the" | | 1 | "It was quiet." | | 2 | "She walked toward the center," | | 3 | "Her reason for being here" | | 4 | "She touched the small crescent" | | 5 | "She took another step. And" | | 6 | "She reached the center of" | | 7 | "she said, her voice steadier" | | 8 | "She went rigid. No one" | | 9 | "*He’s looking for you.*" | | 10 | "she demanded, fists clenched at" | | 11 | "It knew everything. It was" | | 12 | "She burst through a curtain" | | 13 | "It was long and bone-white," | | 14 | "it crooned, heaving its shoulders" |
| | ratio | 0.263 | |
| 12.63% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 51 | | totalSentences | 57 | | matches | | 0 | "The air in The Fae" | | 1 | "Rory’s boot sank into damp" | | 2 | "Time moved differently here, the" | | 3 | "The note she’d found slipped" | | 4 | "She unzipped her jacket, the" | | 5 | "The pendant itself, that deep" | | 6 | "The grove was a perfect" | | 7 | "Flowers she couldn’t name bloomed" | | 8 | "The ancient oaks formed a" | | 9 | "It was quiet." | | 10 | "A held-breath quiet." | | 11 | "The kind that comes before" | | 12 | "She walked toward the center," | | 13 | "Her reason for being here" | | 14 | "The truth about the pendant." | | 15 | "That it was stolen?" | | 16 | "That the man who gave" | | 17 | "She touched the small crescent" | | 18 | "A twig snapped to her" | | 19 | "Rory froze, her head whipping" |
| | ratio | 0.895 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 57 | | matches | (empty) | | ratio | 0 | |
| 23.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 36 | | technicalSentenceCount | 6 | | matches | | 0 | "Just a piece of jewellery given to her by a stranger in a rain-slicked alley two weeks ago, a man with eyes that held no light who had pressed it into her palm …" | | 1 | "A low hum began, so deep it was more a vibration in her teeth than a sound. The Heartstone against her skin grew warm. Not a gentle warmth. A sudden, feverish h…" | | 2 | "The scraping sound came again, closer now. Not from one direction, but from all around her, a slow, deliberate circle being drawn around the clearing’s edge. Ro…" | | 3 | "Rory didn’t think. She ran. Not toward the stone boundary—that felt miles away—but diagonally across the clearing, toward what she hoped was a thinner part of t…" | | 4 | "In the center of the small clearing was a hole. Not dug, but *rotted* into the earth, about three feet wide. The edges were blackened and splintered, like burnt…" | | 5 | "The silence that fell was absolute and more terrifying than any noise. Rory stood frozen, every muscle taut, staring into the abyss of that hole." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 2 | | matches | | 0 | "she said, her voice steadier than she felt" | | 1 | "she demanded, fists clenched at her sides" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 4 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.5 | | effectiveRatio | 0.5 | |