| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 8 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 31 | | tagDensity | 0.258 | | leniency | 0.516 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 95.99% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1247 | | 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) | |
| 43.87% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1247 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "whisper" | | 1 | "pulsed" | | 2 | "silk" | | 3 | "weight" | | 4 | "resolving" | | 5 | "stomach" | | 6 | "marble" | | 7 | "warmth" | | 8 | "pulse" |
| |
| 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 | 79 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 79 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 100 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 44 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1233 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 50.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 48 | | wordCount | 979 | | uniqueNames | 12 | | maxNameDensity | 1.63 | | worstName | "Aurora" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Aurora" | | discoveredNames | | Aurora | 16 | | Richmond | 1 | | Park | 1 | | Heartstone | 4 | | London | 1 | | Thin | 1 | | Grove | 6 | | Nyx | 11 | | Shade | 1 | | Fae | 2 | | Isolde | 3 | | Seer | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Heartstone" | | 2 | "Grove" | | 3 | "Nyx" | | 4 | "Shade" | | 5 | "Isolde" | | 6 | "Seer" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" |
| | globalScore | 0.683 | | windowScore | 0.5 | |
| 16.07% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 56 | | glossingSentenceCount | 3 | | matches | | 0 | "felt like a straight line, yet the stan" | | 1 | "felt like silk and smelled like honeyed" | | 2 | "smelled like honeyed wine" | | 3 | "steps that seemed to cover impossible distances—three paces, and she stood close enough to touch" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.811 | | wordCount | 1233 | | matches | | 0 | "not mud, but something" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 100 | | matches | | 0 | "swallowed that glimpse" | | 1 | "survive that truth" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 47 | | mean | 26.23 | | std | 18.56 | | cv | 0.708 | | sampleLengths | | 0 | 54 | | 1 | 4 | | 2 | 52 | | 3 | 43 | | 4 | 15 | | 5 | 24 | | 6 | 5 | | 7 | 3 | | 8 | 62 | | 9 | 1 | | 10 | 27 | | 11 | 49 | | 12 | 18 | | 13 | 3 | | 14 | 46 | | 15 | 2 | | 16 | 64 | | 17 | 3 | | 18 | 40 | | 19 | 2 | | 20 | 27 | | 21 | 40 | | 22 | 54 | | 23 | 25 | | 24 | 4 | | 25 | 12 | | 26 | 4 | | 27 | 18 | | 28 | 5 | | 29 | 32 | | 30 | 40 | | 31 | 48 | | 32 | 28 | | 33 | 41 | | 34 | 45 | | 35 | 30 | | 36 | 12 | | 37 | 17 | | 38 | 50 | | 39 | 2 | | 40 | 28 | | 41 | 24 | | 42 | 16 | | 43 | 25 | | 44 | 45 | | 45 | 12 | | 46 | 32 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 79 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 154 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 14 | | totalSentences | 100 | | ratio | 0.14 | | matches | | 0 | "She paused at the boundary, her breath misting in air that tasted of summer blossoms and something older—stone and starlight and the memory of rain that had fallen centuries ago." | | 1 | "The crimson gem pulsed warm against her collarbone—warmer than it had been in her flat, warmer than it had been at the park's entrance." | | 2 | "Not violently—nothing so dramatic as a door slamming or a veil ripping." | | 3 | "For a heartbeat, Aurora glimpsed something beneath the shadow—a suggestion of bones, of sinew stretched taut, of a man who had once breathed and bled." | | 4 | "Bluebells and foxgloves and blooms Aurora couldn't name—petals the colour of auroras, stems that hummed at frequencies she felt in her molars rather than heard with her ears." | | 5 | "Aurora's boot sank into soft earth that gave way like a wound—not mud, but something that yielded and sighed beneath her weight." | | 6 | "There—barely visible threads of packed earth winding between the flowers, silver as old cobwebs in that sourceless light." | | 7 | "A tree that shouldn't exist—its trunk wider than her flat, its branches reaching so high they dissolved into a sky that held no sun, no moon, no stars." | | 8 | "The path opened into a second clearing—smaller, enclosed by standing stones that hummed with low, resonant vibration." | | 9 | "Her features held the ageless quality of marble carved by a master hand—beautiful and remote and utterly inhuman." | | 10 | "\"You come seeking answers about a stone that beats like a heart.\" Isolde's voice carried the same quality as the Grove's music—almost a melody, almost a memory." | | 11 | "She moved toward Aurora with steps that seemed to cover impossible distances—three paces, and she stood close enough to touch." | | 12 | "\"—the Fae cannot lie. What you find in the roots will be true. Whether you survive that truth depends entirely on how hungry you are.\"" | | 13 | "The Heartstone burned against her chest now, and the silver path at her feet seemed to pulse in time with its rhythm—forward, always forward, curving into the dark beneath the oak where the roots formed a doorway that hadn't existed a moment before." |
| |
| 94.01% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 918 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 43 | | adverbRatio | 0.046840958605664486 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.011982570806100218 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 100 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 100 | | mean | 12.33 | | std | 8.9 | | cv | 0.722 | | sampleLengths | | 0 | 24 | | 1 | 30 | | 2 | 4 | | 3 | 16 | | 4 | 24 | | 5 | 12 | | 6 | 17 | | 7 | 24 | | 8 | 2 | | 9 | 15 | | 10 | 5 | | 11 | 19 | | 12 | 5 | | 13 | 3 | | 14 | 12 | | 15 | 15 | | 16 | 11 | | 17 | 24 | | 18 | 1 | | 19 | 7 | | 20 | 1 | | 21 | 11 | | 22 | 8 | | 23 | 13 | | 24 | 25 | | 25 | 11 | | 26 | 9 | | 27 | 9 | | 28 | 3 | | 29 | 18 | | 30 | 28 | | 31 | 2 | | 32 | 4 | | 33 | 24 | | 34 | 2 | | 35 | 2 | | 36 | 9 | | 37 | 23 | | 38 | 3 | | 39 | 5 | | 40 | 22 | | 41 | 13 | | 42 | 2 | | 43 | 20 | | 44 | 7 | | 45 | 3 | | 46 | 1 | | 47 | 18 | | 48 | 5 | | 49 | 13 |
| |
| 69.67% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.46 | | totalSentences | 100 | | uniqueOpeners | 46 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 71 | | matches | | 0 | "Then darkness swallowed that glimpse," | | 1 | "Only that mingled silver-gold luminescence," | | 2 | "More like the memory of" | | 3 | "Impossibly cold, like the blade" |
| | ratio | 0.056 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 15 | | totalSentences | 71 | | matches | | 0 | "She paused at the boundary," | | 1 | "They had been silent for" | | 2 | "She stepped between the stones." | | 3 | "Her voice came out strange" | | 4 | "She turned to see if" | | 5 | "Their whisper held an edge" | | 6 | "They walked what felt like" | | 7 | "She scrambled backward, and the" | | 8 | "She hadn't noticed them before." | | 9 | "She chose the one that" | | 10 | "Her features held the ageless" | | 11 | "She pulled the Heartstone from" | | 12 | "She moved toward Aurora with" | | 13 | "She extended one pale hand" | | 14 | "She pressed a finger to" |
| | ratio | 0.211 | |
| 93.80% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 52 | | totalSentences | 71 | | matches | | 0 | "The standing stones rose from" | | 1 | "She paused at the boundary," | | 2 | "Nyx's whisper carried from the" | | 3 | "They had been silent for" | | 4 | "Aurora touched the Heartstone at" | | 5 | "The crimson gem pulsed warm" | | 6 | "Aurora shot them a look." | | 7 | "Nyx's featureless face offered nothing" | | 8 | "She stepped between the stones." | | 9 | "The world folded." | | 10 | "The next, those sounds vanished" | | 11 | "The amber glow of streetlamps" | | 12 | "Her voice came out strange" | | 13 | "She turned to see if" | | 14 | "The Shade stood at the" | | 15 | "Their whisper held an edge" | | 16 | "Bluebells and foxgloves and blooms" | | 17 | "The Grove defied geometry." | | 18 | "They walked what felt like" | | 19 | "A constellation she almost recognised" |
| | ratio | 0.732 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 71 | | matches | | 0 | "Now they solidified, their humanoid" | | 1 | "As if the Grove drank" | | 2 | "Now she couldn't unsee them," |
| | ratio | 0.042 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 42 | | technicalSentenceCount | 11 | | matches | | 0 | "The standing stones rose from the earth like broken teeth, ancient oak transformed into something that belonged to no forest Aurora had ever walked." | | 1 | "She paused at the boundary, her breath misting in air that tasted of summer blossoms and something older—stone and starlight and the memory of rain that had fal…" | | 2 | "For a heartbeat, Aurora glimpsed something beneath the shadow—a suggestion of bones, of sinew stretched taut, of a man who had once breathed and bled." | | 3 | "But Nyx had already moved past her, flowing between the wildflowers that carpeted the clearing in impossible profusion." | | 4 | "Bluebells and foxgloves and blooms Aurora couldn't name—petals the colour of auroras, stems that hummed at frequencies she felt in her molars rather than heard …" | | 5 | "The wildflowers grew thicker as they pressed deeper, brushing against her jeans with leaves that felt like silk and smelled like honeyed wine." | | 6 | "A tree that shouldn't exist—its trunk wider than her flat, its branches reaching so high they dissolved into a sky that held no sun, no moon, no stars." | | 7 | "When they spoke again, their whisper held a gravity that made Aurora's stomach tighten." | | 8 | "The path opened into a second clearing—smaller, enclosed by standing stones that hummed with low, resonant vibration." | | 9 | "The crimson gem pulsed in earnest now, a steady rhythm that matched her own heartbeat." | | 10 | "The Heartstone burned against her chest now, and the silver path at her feet seemed to pulse in time with its rhythm—forward, always forward, curving into the d…" |
| |
| 62.50% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 8 | | uselessAdditionCount | 1 | | matches | | 0 | "Nyx materialised, their whisper sharp" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |