| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 10 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 95.49% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1108 | | totalAiIsmAdverbs | 1 | | 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) | |
| 32.31% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1108 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "traced" | | 1 | "warmth" | | 2 | "pulsed" | | 3 | "flickered" | | 4 | "silence" | | 5 | "pulse" | | 6 | "quickened" | | 7 | "velvet" | | 8 | "familiar" | | 9 | "lurch" | | 10 | "stomach" | | 11 | "footsteps" |
| |
| 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 | 0 | | narrationSentences | 95 | | matches | (empty) | |
| 97.74% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 2 | | narrationSentences | 95 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 99 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 39 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1096 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 25 | | wordCount | 998 | | uniqueNames | 12 | | maxNameDensity | 0.9 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 1 | | Park | 1 | | November | 2 | | Heartstone | 1 | | Eva | 1 | | Grove | 3 | | Rory | 9 | | Evan | 1 | | London | 1 | | Honey | 1 | | Good | 1 | | Do | 3 |
| | persons | | 0 | "Eva" | | 1 | "Grove" | | 2 | "Rory" | | 3 | "Evan" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "November" | | 3 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 54 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 4 | | per1kWords | 3.65 | | wordCount | 1096 | | matches | | 0 | "not a step but a fall sideways through temperatures" | | 1 | "Not the child's laugh now, but something older" | | 2 | "not the gentle warmth of before, but a warning heat" | | 3 | "not a face, but the memory of one, the way water remembers the stone" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 99 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 32 | | mean | 34.25 | | std | 23.95 | | cv | 0.699 | | sampleLengths | | 0 | 63 | | 1 | 8 | | 2 | 54 | | 3 | 4 | | 4 | 50 | | 5 | 64 | | 6 | 27 | | 7 | 49 | | 8 | 9 | | 9 | 53 | | 10 | 3 | | 11 | 58 | | 12 | 11 | | 13 | 32 | | 14 | 49 | | 15 | 5 | | 16 | 59 | | 17 | 57 | | 18 | 4 | | 19 | 58 | | 20 | 4 | | 21 | 55 | | 22 | 44 | | 23 | 43 | | 24 | 12 | | 25 | 77 | | 26 | 24 | | 27 | 7 | | 28 | 64 | | 29 | 3 | | 30 | 6 | | 31 | 40 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 95 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 158 | | matches | | 0 | "wasn't looking" | | 1 | "were turning" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 99 | | ratio | 0.111 | | matches | | 0 | "She had traced the warmth to this place—had followed it through three weeks of sleepless nights and obsessive map-scrolling until the pattern became undeniable." | | 1 | "She turned her head and caught only the after-image of movement—a suggestion of pale bark shifting where no wind blew." | | 2 | "Rory's light swept across their surfaces and found carvings—not runes, not anything she could name—that seemed to recede from the beam as she moved it." | | 3 | "Do not—" | | 4 | "The branches of the standing oaks interlaced into a canopy that shouldn't have held leaves this late in the year, but did—pale silver-green foliage that rustled without wind." | | 5 | "But the dark here was not an absence of light—it was a presence, a substance, a velvet black that things moved through like fish in deep water." | | 6 | "Something watched from the treeline—and treeline was the wrong word, these weren't trees, these were shapes that had learned to approximate trees the way a doll approximates a person." | | 7 | "Every instinct that had kept her alive through Evan's rages, through London's dark streets, through the slow revelation that the world was full of hungers wearing familiar shapes—every one of those instincts screamed at her to remain still." | | 8 | "The pendant flared hot against her skin—not the gentle warmth of before, but a warning heat that made her want to tear it off." | | 9 | "\"No?\" The shape leaned closer, and in the space where its face should have been, she saw the suggestion of features—not a face, but the memory of one, the way water remembers the stone that disturbed it." | | 10 | "And somewhere behind the shape—far behind it, in the impossible depth of the Grove that shouldn't extend past the stones but did—Rory heard footsteps." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1014 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 28 | | adverbRatio | 0.027613412228796843 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.006903353057199211 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 99 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 99 | | mean | 11.07 | | std | 9.16 | | cv | 0.828 | | sampleLengths | | 0 | 16 | | 1 | 18 | | 2 | 8 | | 3 | 4 | | 4 | 17 | | 5 | 8 | | 6 | 24 | | 7 | 14 | | 8 | 2 | | 9 | 14 | | 10 | 4 | | 11 | 3 | | 12 | 14 | | 13 | 20 | | 14 | 13 | | 15 | 7 | | 16 | 12 | | 17 | 20 | | 18 | 25 | | 19 | 10 | | 20 | 17 | | 21 | 5 | | 22 | 7 | | 23 | 3 | | 24 | 17 | | 25 | 6 | | 26 | 5 | | 27 | 4 | | 28 | 2 | | 29 | 9 | | 30 | 3 | | 31 | 3 | | 32 | 19 | | 33 | 12 | | 34 | 1 | | 35 | 9 | | 36 | 3 | | 37 | 3 | | 38 | 3 | | 39 | 28 | | 40 | 7 | | 41 | 2 | | 42 | 21 | | 43 | 4 | | 44 | 5 | | 45 | 2 | | 46 | 6 | | 47 | 21 | | 48 | 5 | | 49 | 16 |
| |
| 57.91% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 11 | | diversityRatio | 0.41414141414141414 | | totalSentences | 99 | | uniqueOpeners | 41 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 83 | | matches | | 0 | "Just the raw, black quiet" | | 1 | "Then her right." | | 2 | "Then directly overhead." |
| | ratio | 0.036 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 14 | | totalSentences | 83 | | matches | | 0 | "She had traced the warmth" | | 1 | "Her phone screen flickered." | | 2 | "She turned her head and" | | 3 | "She counted five heartbeats before" | | 4 | "Her voice came out thinner" | | 5 | "She had prepared for this." | | 6 | "She looked up." | | 7 | "She stepped between the stones." | | 8 | "Her boots found ground that" | | 9 | "It came from everywhere and" | | 10 | "She was not alone." | | 11 | "Their branches bent at joints." | | 12 | "Their roots shifted when she" | | 13 | "Her voice held steady" |
| | ratio | 0.169 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 58 | | totalSentences | 83 | | matches | | 0 | "The footpath ended at a" | | 1 | "Rory thumbed the zipper of" | | 2 | "The Heartstone pendant burned cold" | | 3 | "She had traced the warmth" | | 4 | "The stone pulsed strongest at" | | 5 | "A blind spot where satellite" | | 6 | "Her phone screen flickered." | | 7 | "Rory stopped walking." | | 8 | "The beam held steady, but" | | 9 | "She turned her head and" | | 10 | "She counted five heartbeats before" | | 11 | "The standing stones announced themselves" | | 12 | "The bark spiraled in patterns" | | 13 | "Rory's light swept across their" | | 14 | "Her voice came out thinner" | | 15 | "The sound died within arm's" | | 16 | "She had prepared for this." | | 17 | "A pocket realm, Eva had" | | 18 | "A place between." | | 19 | "The instructions were specific: step" |
| | ratio | 0.699 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 83 | | matches | (empty) | | ratio | 0 | |
| 46.33% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 37 | | technicalSentenceCount | 5 | | matches | | 0 | "The branches of the standing oaks interlaced into a canopy that shouldn't have held leaves this late in the year, but did—pale silver-green foliage that rustled…" | | 1 | "Something watched from the treeline—and treeline was the wrong word, these weren't trees, these were shapes that had learned to approximate trees the way a doll…" | | 2 | "Every instinct that had kept her alive through Evan's rages, through London's dark streets, through the slow revelation that the world was full of hungers weari…" | | 3 | "The wildflowers swayed in time to it, and Rory realized with a lurch of her stomach that they were turning their faces toward the voice, toward the thing that c…" | | 4 | "And somewhere behind the shape—far behind it, in the impossible depth of the Grove that shouldn't extend past the stones but did—Rory heard footsteps." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 10 | | tagDensity | 0.1 | | leniency | 0.2 | | rawRatio | 0 | | effectiveRatio | 0 | |