| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 1 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 92.50% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1334 | | 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) | |
| 62.52% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1334 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "warmth" | | 1 | "pulse" | | 2 | "rhythmic" | | 3 | "navigate" | | 4 | "flickered" | | 5 | "beacon" | | 6 | "stomach" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 47 | | matches | (empty) | |
| 0.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 3 | | narrationSentences | 47 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 47 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 89 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1323 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 2 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 36 | | wordCount | 1253 | | uniqueNames | 19 | | maxNameDensity | 0.32 | | worstName | "Aurora" | | maxWindowNameDensity | 1 | | worstWindowName | "Grove" | | discoveredNames | | Carter | 3 | | Heartstone | 3 | | Golden | 2 | | Empress | 2 | | Richmond | 2 | | Park | 2 | | Cardiff | 2 | | Evan | 3 | | Silas | 1 | | Grove | 3 | | Fae | 1 | | Welsh | 1 | | Irish | 1 | | Eva | 1 | | London | 2 | | Yu-Fei | 1 | | Cheung | 1 | | Aurora | 4 | | Hel | 1 |
| | persons | | 0 | "Carter" | | 1 | "Heartstone" | | 2 | "Evan" | | 3 | "Eva" | | 4 | "Yu-Fei" | | 5 | "Cheung" | | 6 | "Aurora" |
| | places | | 0 | "Golden" | | 1 | "Richmond" | | 2 | "Park" | | 3 | "Cardiff" | | 4 | "London" | | 5 | "Hel" |
| | globalScore | 1 | | windowScore | 1 | |
| 21.79% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 39 | | glossingSentenceCount | 2 | | matches | | 0 | "darkness that seemed to press down rather than arch above" | | 1 | "felt like a mouth opening wide" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 8 | | per1kWords | 6.047 | | wordCount | 1323 | | matches | | 0 | "not fear, exactly, but the certainty" | | 1 | "not the sky she knew, but a deep bruise of darkness" | | 2 | "not with wind, but with intention, their small faces tracking her movement" | | 3 | "not as a shout but as a damp, rhythmic click" | | 4 | "not toward the sound, but away, because she knew" | | 5 | "not a wall but a presence, as though the air itself had thickened to hold h" | | 6 | "not empty, and that the reason she had come had not been to find her benefactor, but to be found" | | 7 | "not with force but with invitation" |
| |
| 95.74% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 47 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 17 | | mean | 77.82 | | std | 40.07 | | cv | 0.515 | | sampleLengths | | 0 | 186 | | 1 | 92 | | 2 | 77 | | 3 | 95 | | 4 | 98 | | 5 | 138 | | 6 | 51 | | 7 | 85 | | 8 | 9 | | 9 | 88 | | 10 | 83 | | 11 | 28 | | 12 | 56 | | 13 | 57 | | 14 | 34 | | 15 | 67 | | 16 | 79 |
| |
| 97.80% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 47 | | matches | | |
| 67.99% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 202 | | matches | | 0 | "was thrumming" | | 1 | "was deciding" | | 2 | "was pulling" | | 3 | "was pulling" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 8 | | totalSentences | 47 | | ratio | 0.17 | | matches | | 0 | "The boundary markers were taller than she remembered from a childhood picnic, their bark black with moss, and as her palm brushed the nearest trunk she felt the same wrongness she’d felt when she’d fled Cardiff, when she’d left Evan, when she’d first found the pendant in her flat above Silas’—not fear, exactly, but the certainty that the rules had shifted." | | 1 | "She had expected moonlight, but the clearing was lit by a low, pearlescent glow that made the flowers look like something growing underwater—pale blues, sickly whites, a violet so near black it seemed to drink the air." | | 2 | "She kept walking, her boots making no sound on the turf, her small crescent-shaped scar—left wrist, from a childhood accident with a broken bottle—aching as she flexed her fingers." | | 3 | "At the edge of her vision, the wildflowers stirred, not in a breeze—there was no breeze—but in a wave, and she turned her head slowly, her black hair falling across her cheek." | | 4 | "She stepped backward, not running—running was for the prey, and Aurora Carter did not think of herself as prey—only retreating, her hand still on the pendant. The Heartstone’s glow had intensified to a faint, steady pulse, and she knew, with the same cool certainty that had made her turn away from Evan, that she was near the Hel portal. The pendant was a beacon, or a bait, or a lock, and it was pulling her toward something that wore darkness like a skin." | | 5 | "The wildflowers bent toward her. Not all of them—just the ones closest, the whites and blues, blooming in winter, turning their small faces toward her like eyes opening." | | 6 | "The sound beside her was not behind her now. It was beside her, close enough to feel, a wet, patient intake of breath, and she turned, her bright blue eyes searching the dark, and she saw nothing—only the wildflowers, only the wrong glow, only the pendant pulsing with a warmth that felt like a mouth opening wide." | | 7 | "She did not scream. She was too intelligent for that, too quick, and she knew that if she made a sound, the thing—if it was a thing—would know she was still in the game." |
| |
| 97.77% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 141 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 6 | | adverbRatio | 0.0425531914893617 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.014184397163120567 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 47 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 47 | | mean | 28.15 | | std | 22.57 | | cv | 0.802 | | sampleLengths | | 0 | 23 | | 1 | 61 | | 2 | 41 | | 3 | 61 | | 4 | 11 | | 5 | 10 | | 6 | 5 | | 7 | 23 | | 8 | 43 | | 9 | 8 | | 10 | 37 | | 11 | 32 | | 12 | 41 | | 13 | 39 | | 14 | 6 | | 15 | 9 | | 16 | 29 | | 17 | 14 | | 18 | 26 | | 19 | 7 | | 20 | 22 | | 21 | 15 | | 22 | 2 | | 23 | 25 | | 24 | 22 | | 25 | 5 | | 26 | 42 | | 27 | 27 | | 28 | 6 | | 29 | 3 | | 30 | 4 | | 31 | 2 | | 32 | 36 | | 33 | 32 | | 34 | 12 | | 35 | 3 | | 36 | 20 | | 37 | 18 | | 38 | 9 | | 39 | 88 | | 40 | 83 | | 41 | 28 | | 42 | 56 | | 43 | 57 | | 44 | 34 | | 45 | 67 | | 46 | 79 |
| |
| 35.11% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.2978723404255319 | | totalSentences | 47 | | uniqueOpeners | 14 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 45 | | matches | | 0 | "Then came a second sound:" | | 1 | "Then it said 2:14." | | 2 | "Too tall, too wrong, and" |
| | ratio | 0.067 | |
| 24.44% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 22 | | totalSentences | 45 | | matches | | 0 | "She was twenty-five, five-foot-six, with" | | 1 | "Her phone, clutched in her" | | 2 | "She had come because the" | | 3 | "She had expected moonlight, but" | | 4 | "They stood in clusters that" | | 5 | "She tugged the silver chain" | | 6 | "It was warm, burningly warm," | | 7 | "It was a key, and" | | 8 | "She kept walking, her boots" | | 9 | "She checked her left wrist" | | 10 | "She was not in Richmond" | | 11 | "She was in a hidden" | | 12 | "It was like nothing made" | | 13 | "She was intelligent, she was" | | 14 | "She turned not toward the" | | 15 | "She looked at her watch" | | 16 | "It said 2:17." | | 17 | "She froze, her" | | 18 | "She thought of her mother," | | 19 | "She stepped backward, not running—running" |
| | ratio | 0.489 | |
| 60.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 36 | | totalSentences | 45 | | matches | | 0 | "Aurora Carter stepped over the" | | 1 | "She was twenty-five, five-foot-six, with" | | 2 | "The boundary markers were taller" | | 3 | "Her phone, clutched in her" | | 4 | "The moon was not visible." | | 5 | "The sky was not the" | | 6 | "She had come because the" | | 7 | "The wildflowers bloomed year-round, and" | | 8 | "She had expected moonlight, but" | | 9 | "They stood in clusters that" | | 10 | "She tugged the silver chain" | | 11 | "It was warm, burningly warm," | | 12 | "The pendant had led her" | | 13 | "It was a key, and" | | 14 | "She kept walking, her boots" | | 15 | "She checked her left wrist" | | 16 | "The air smelled of wet" | | 17 | "She was not in Richmond" | | 18 | "She was in a hidden" | | 19 | "The first wrong sound came" |
| | ratio | 0.8 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 45 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 31 | | technicalSentenceCount | 14 | | matches | | 0 | "She was twenty-five, five-foot-six, with straight shoulder-length black hair that had fallen from her face and bright blue eyes that caught the streetlight now …" | | 1 | "She had come because the pendant’s crimson heart was thrumming now, a heat that had bloomed from faint to urgent, and because some part of her quick, out-of-the…" | | 2 | "She had expected moonlight, but the clearing was lit by a low, pearlescent glow that made the flowers look like something growing underwater—pale blues, sickly …" | | 3 | "They stood in clusters that did not match any ecology she knew, and as she walked, she saw them turn, not with wind, but with intention, their small faces track…" | | 4 | "She tugged the silver chain from under her coat, and the Heartstone rested in her palm like a second heart, roughly the size of a thumbnail, its deep crimson su…" | | 5 | "It was warm, burningly warm, and she knew with the same cool-headed instinct that had made her leave her ex, that had made her take routes through bad neighborh…" | | 6 | "She kept walking, her boots making no sound on the turf, her small crescent-shaped scar—left wrist, from a childhood accident with a broken bottle—aching as she…" | | 7 | "The air smelled of wet earth and something older, something that might have been the breath of the Fae realm bleeding through the pocket between worlds." | | 8 | "Then came a second sound: a wet, dragging exhale, as though something had just finished eating and was deciding whether to swallow." | | 9 | "She was intelligent, she was quick, she did not panic easily, but her heart was a bird in her throat, and she moved with the precision of a delivery rider who h…" | | 10 | "She stepped backward, not running—running was for the prey, and Aurora Carter did not think of herself as prey—only retreating, her hand still on the pendant. T…" | | 11 | "She reached the boundary stones again, but they were not the same. The bark was smoother, younger, and the moss had grown into shapes that looked almost like ha…" | | 12 | "The sound beside her was not behind her now. It was beside her, close enough to feel, a wet, patient intake of breath, and she turned, her bright blue eyes sear…" | | 13 | "The wildflowers closed around her ankles, not with force but with invitation, and Aurora Carter, who had survived Cardiff and London and the ghost of Evan, who …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 1 | | fancyTags | | 0 | "the Heartstone had (have)" |
| | dialogueSentences | 1 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 1 | | effectiveRatio | 1 | |