| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 30 | | adverbTagCount | 1 | | adverbTags | | 0 | "she tried again [again]" |
| | dialogueSentences | 53 | | tagDensity | 0.566 | | leniency | 1 | | rawRatio | 0.033 | | effectiveRatio | 0.033 | |
| 95.13% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2055 | | 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) | |
| 48.91% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2055 | | totalAiIsms | 21 | | found | | | highlights | | 0 | "pulsed" | | 1 | "echo" | | 2 | "silence" | | 3 | "pulse" | | 4 | "warmth" | | 5 | "traced" | | 6 | "silk" | | 7 | "predator" | | 8 | "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 | 161 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 161 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 183 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 35 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2030 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 30 | | unquotedAttributions | 1 | | matches | | 0 | "Time here had the bad manners of a drunk guest: it arrived late, it left early, it refused to follow the script." |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 23 | | wordCount | 1731 | | uniqueNames | 9 | | maxNameDensity | 0.64 | | worstName | "Aurora" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Aurora" | | discoveredNames | | Heartstone | 3 | | Richmond | 1 | | Park | 1 | | Eva | 1 | | Golden | 1 | | Empress | 1 | | Silence | 3 | | Hel | 1 | | Aurora | 11 |
| | persons | | 0 | "Heartstone" | | 1 | "Eva" | | 2 | "Silence" | | 3 | "Aurora" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Golden" |
| | globalScore | 1 | | windowScore | 1 | |
| 84.21% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 114 | | glossingSentenceCount | 3 | | matches | | 0 | "looked like a stranger" | | 1 | "felt like a coin kept in a pocket for y" | | 2 | "felt like a role in a play she hadn't a" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.493 | | wordCount | 2030 | | matches | | 0 | "not smell of earth but of iron" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 183 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 62 | | mean | 32.74 | | std | 21.53 | | cv | 0.658 | | sampleLengths | | 0 | 61 | | 1 | 51 | | 2 | 64 | | 3 | 9 | | 4 | 72 | | 5 | 65 | | 6 | 19 | | 7 | 43 | | 8 | 66 | | 9 | 53 | | 10 | 30 | | 11 | 1 | | 12 | 60 | | 13 | 36 | | 14 | 27 | | 15 | 4 | | 16 | 52 | | 17 | 51 | | 18 | 13 | | 19 | 27 | | 20 | 14 | | 21 | 12 | | 22 | 89 | | 23 | 15 | | 24 | 17 | | 25 | 3 | | 26 | 51 | | 27 | 29 | | 28 | 27 | | 29 | 17 | | 30 | 34 | | 31 | 22 | | 32 | 39 | | 33 | 8 | | 34 | 14 | | 35 | 55 | | 36 | 45 | | 37 | 8 | | 38 | 27 | | 39 | 13 | | 40 | 26 | | 41 | 71 | | 42 | 29 | | 43 | 23 | | 44 | 8 | | 45 | 13 | | 46 | 54 | | 47 | 62 | | 48 | 9 | | 49 | 27 |
| |
| 92.19% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 161 | | matches | | 0 | "been caused" | | 1 | "been named" | | 2 | "been given" | | 3 | "being called" | | 4 | "been held" | | 5 | "was gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 313 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 17 | | semicolonCount | 5 | | flaggedSentences | 15 | | totalSentences | 183 | | ratio | 0.082 | | matches | | 0 | "Inside the ring, the air tasted different—thin, like the breath between two worlds." | | 1 | "Their petals had no frost on them; dew had settled like tiny lenses that reflected her own uncertain face back at her." | | 2 | "There were sounds that did not belong: a cloth dragged across stone where there was no stone; the dry krek of something climbing an invisible fence; the faint, precise clink of a bone against glass." | | 3 | "Once—twice—she realised the rustle she heard to her left had not been caused by wind." | | 4 | "It did not have a clear outline—tendrils of darkness lapped at air and withdrew." | | 5 | "She could imagine it—a thin seam between world and world, a hairline fracture where the Hel portals bled their cold into the bark." | | 6 | "A smell rose then—like wet wool and old coins and something floral that was not any flower she had ever known." | | 7 | "It filled her nose and slid down the back of her throat; it made her want to cough and kept her from doing it." | | 8 | "It wore the idea of a coat—nothing that could keep rain from hair—but when it turned, the surface of it reflected nothing." | | 9 | "Its voice—if it could be called a voice—rearranged the grove." | | 10 | "Her phone lay on its own screen in her hand; the camera showed nothing but a smear of colour that rearranged into a dozen half-recognised faces." | | 11 | "Once, for a second, the smear took the shape of the man she had left—the lean jaw, the well-cut excuses—and then it was gone." | | 12 | "The thing—if it was a thing—made no claim to empathy." | | 13 | "The grove shifted—time bending like a reed." | | 14 | "The Heartstone pulled—a tug that wanted to be obeyed—and Aurora felt, in the bones behind her teeth, that she stood on the edge of something that could be closed, or opened wider." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1754 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 58 | | adverbRatio | 0.0330672748004561 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.005131128848346636 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 183 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 183 | | mean | 11.09 | | std | 6.72 | | cv | 0.606 | | sampleLengths | | 0 | 12 | | 1 | 25 | | 2 | 11 | | 3 | 13 | | 4 | 23 | | 5 | 28 | | 6 | 23 | | 7 | 11 | | 8 | 22 | | 9 | 8 | | 10 | 3 | | 11 | 6 | | 12 | 10 | | 13 | 17 | | 14 | 9 | | 15 | 22 | | 16 | 5 | | 17 | 9 | | 18 | 9 | | 19 | 35 | | 20 | 5 | | 21 | 16 | | 22 | 11 | | 23 | 8 | | 24 | 5 | | 25 | 14 | | 26 | 24 | | 27 | 2 | | 28 | 16 | | 29 | 17 | | 30 | 15 | | 31 | 16 | | 32 | 15 | | 33 | 3 | | 34 | 20 | | 35 | 2 | | 36 | 13 | | 37 | 8 | | 38 | 13 | | 39 | 4 | | 40 | 5 | | 41 | 1 | | 42 | 7 | | 43 | 11 | | 44 | 17 | | 45 | 12 | | 46 | 4 | | 47 | 3 | | 48 | 6 | | 49 | 7 |
| |
| 42.81% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 15 | | diversityRatio | 0.30601092896174864 | | totalSentences | 183 | | uniqueOpeners | 56 | |
| 70.92% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 141 | | matches | | 0 | "Once—twice—she realised the rustle she" | | 1 | "Sometimes it met thin air" | | 2 | "Once, for a second, the" |
| | ratio | 0.021 | |
| 52.62% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 59 | | totalSentences | 141 | | matches | | 0 | "she said to the trees," | | 1 | "Her voice fell away and" | | 2 | "She had put one foot" | | 3 | "Their petals had no frost" | | 4 | "Her phone told her it" | | 5 | "They were small, quick things." | | 6 | "She collected them and found" | | 7 | "she tried again, and the" | | 8 | "It hung, a paper boat" | | 9 | "It pulsed faintly toward the" | | 10 | "Her shadow slid the wrong" | | 11 | "she said, already fishing the" | | 12 | "Her fingers hovered." | | 13 | "It sounded close, like someone" | | 14 | "Her name could have been" | | 15 | "It could have been a" | | 16 | "She knew the sound of" | | 17 | "It meant alertness." | | 18 | "It meant she did not" | | 19 | "she asked out loud" |
| | ratio | 0.418 | |
| 13.19% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 126 | | totalSentences | 141 | | matches | | 0 | "The stones marked the boundary" | | 1 | "Aurora had stood at their" | | 2 | "Night had folded over Richmond" | | 3 | "she said to the trees," | | 4 | "Her voice fell away and" | | 5 | "She had put one foot" | | 6 | "Wildflowers leaned under the moonlight" | | 7 | "Their petals had no frost" | | 8 | "Her phone told her it" | | 9 | "The lock screen had a" | | 10 | "The timestamp spun and misbehaved" | | 11 | "Aurora tucked the phone away." | | 12 | "Metal kissed skin beneath fabric," | | 13 | "They were small, quick things." | | 14 | "She collected them and found" | | 15 | "she tried again, and the" | | 16 | "It hung, a paper boat" | | 17 | "The pendant answered by warming." | | 18 | "The glow inside the tiny" | | 19 | "It pulsed faintly toward the" |
| | ratio | 0.894 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 141 | | matches | (empty) | | ratio | 0 | |
| 40.82% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 77 | | technicalSentenceCount | 11 | | matches | | 0 | "She had put one foot past the oaks and the grass had held the sound of it, as if the grove kept memory." | | 1 | "Their petals had no frost on them; dew had settled like tiny lenses that reflected her own uncertain face back at her." | | 2 | "There were sounds that did not belong: a cloth dragged across stone where there was no stone; the dry krek of something climbing an invisible fence; the faint, …" | | 3 | "The pendant pulsed faster, a small, insistent thing: a pulse that told her she had not guessed wrong, that the warmth which had chased her from the city windows…" | | 4 | "The stones threw long, inaccurate shadows that crossed beneath her shoes." | | 5 | "The pendant pulsed hard, as if it kept time with something huge and slow below the ground." | | 6 | "Something in the clearing responded: a faint answering luminescence that bled from between two rocks, a vein of light that the wildflowers ignored." | | 7 | "Her phone lay on its own screen in her hand; the camera showed nothing but a smear of colour that rearranged into a dozen half-recognised faces." | | 8 | "Something moved behind a stone and the shadows stitched themselves together, making a seam that did not belong." | | 9 | "She held the pendant up like a compass that had lost its true north." | | 10 | "The Heartstone pulled—a tug that wanted to be obeyed—and Aurora felt, in the bones behind her teeth, that she stood on the edge of something that could be close…" |
| |
| 58.33% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 30 | | uselessAdditionCount | 4 | | matches | | 0 | "she tried again, and the word came out less confident" | | 1 | "she added, sharper" | | 2 | "she said, without looking for him" | | 3 | "she said, softer" |
| |
| 57.41% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 27 | | fancyCount | 5 | | fancyTags | | 0 | "she agreed (agree)" | | 1 | "she added (add)" | | 2 | "she muttered (mutter)" | | 3 | "she admitted (admit)" | | 4 | "the figure insisted (insist)" |
| | dialogueSentences | 53 | | tagDensity | 0.509 | | leniency | 1 | | rawRatio | 0.185 | | effectiveRatio | 0.185 | |