| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 1 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 79.49% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1219 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "quickly" | | 1 | "suddenly" | | 2 | "completely" | | 3 | "slightly" |
| |
| 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) | |
| 42.58% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1219 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "rhythmic" | | 1 | "pulse" | | 2 | "quickened" | | 3 | "weight" | | 4 | "echo" | | 5 | "absolutely" | | 6 | "stomach" | | 7 | "crystallized" | | 8 | "intensity" | | 9 | "crystalline" | | 10 | "shattered" | | 11 | "shimmered" |
| |
| 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 | 99 | | matches | (empty) | |
| 99.57% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 99 | | filterMatches | (empty) | | hedgeMatches | | 0 | "seemed to" | | 1 | "started to" |
| |
| 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 | | maxSentenceWordsSeen | 36 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1200 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 91.62% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 39 | | wordCount | 1199 | | uniqueNames | 14 | | maxNameDensity | 1.17 | | worstName | "Aurora" | | maxWindowNameDensity | 2 | | worstWindowName | "Grove" | | discoveredNames | | Park | 1 | | Fae | 2 | | Grove | 12 | | Heartstone | 1 | | Pendant | 1 | | Hel | 1 | | February | 1 | | Eva | 1 | | Yu-Fei | 1 | | Silas | 1 | | Earth | 1 | | Cardiff | 1 | | Evan | 1 | | Aurora | 14 |
| | persons | | 0 | "Pendant" | | 1 | "Eva" | | 2 | "Silas" | | 3 | "Evan" | | 4 | "Aurora" |
| | places | | 0 | "Park" | | 1 | "Fae" | | 2 | "Grove" | | 3 | "Hel" | | 4 | "Cardiff" |
| | globalScore | 0.916 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 79 | | glossingSentenceCount | 7 | | matches | | 0 | "seemed older than the concept of oak" | | 1 | "felt like thirty minutes had taken only" | | 2 | "seemed closer than it had been" | | 3 | "Something between a breath and a footstep, comi" | | 4 | "seemed coordinated" | | 5 | "not quite human, tall and too-thin, head tilted at an angle that shouldn't have been sustainable" | | 6 | "something like clothes, but the fabric moved" |
| |
| 33.33% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.667 | | wordCount | 1200 | | matches | | 0 | "Not the gentle thrumming she'd learned to expect near a Hel portal, but something frantic" | | 1 | "Not warm exactly, but dense, like breathing through fabric" |
| |
| 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 | 36 | | mean | 33.33 | | std | 26.69 | | cv | 0.801 | | sampleLengths | | 0 | 42 | | 1 | 45 | | 2 | 8 | | 3 | 69 | | 4 | 11 | | 5 | 7 | | 6 | 70 | | 7 | 19 | | 8 | 3 | | 9 | 46 | | 10 | 4 | | 11 | 53 | | 12 | 8 | | 13 | 55 | | 14 | 8 | | 15 | 75 | | 16 | 10 | | 17 | 16 | | 18 | 47 | | 19 | 5 | | 20 | 48 | | 21 | 15 | | 22 | 69 | | 23 | 6 | | 24 | 82 | | 25 | 8 | | 26 | 71 | | 27 | 77 | | 28 | 6 | | 29 | 58 | | 30 | 7 | | 31 | 48 | | 32 | 57 | | 33 | 5 | | 34 | 33 | | 35 | 9 |
| |
| 98.17% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 99 | | matches | | 0 | "was gone" | | 1 | "being shattered" |
| |
| 67.99% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 202 | | matches | | 0 | "was going" | | 1 | "was leaning" | | 2 | "was trying" | | 3 | "were coming" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 99 | | ratio | 0.111 | | matches | | 0 | "Richmond Park sprawled behind her now, swallowed by darkness, and ahead lay the Fae Grove—that pocket of impossible green that existed in the spaces between proper places." | | 1 | "During daylight, it was beautiful—wildflowers blooming in defiance of February, moss-covered stones arranged in patterns that hurt to look at directly, oak trees that seemed older than the concept of oak." | | 2 | "She'd learned quickly that questions about the Fae touching Earth, about portals and artifacts and things that didn't fit neatly into the boxes people used to sort the world—those questions only generated concern and distance." | | 3 | "The pendant pressed harder against her sternum, its pulse matching something—a rhythm in the air itself." | | 4 | "The chimes didn't return, but something else did—a sensation like weight, like the Grove itself had suddenly noticed her presence and was leaning in to look." | | 5 | "She knew the Grove's rules already—time moved differently here, minutes outside could be hours within, or vice versa." | | 6 | "The flowers nearby writhed—not touched by wind, not responding to any force she could identify." | | 7 | "In one of those sweeping passes, she caught something—a flash of movement at human height, perhaps fifteen feet away." | | 8 | "The sounds multiplied—chimes from multiple directions, that wet breathing sound coming closer, branches cracking in a pattern that almost seemed coordinated." | | 9 | "Aurora hadn't watched it arrive—it simply was, suddenly, as if the Grove had decided to stop hiding whatever it was." | | 10 | "The chime sounds rose to a crescendo, and Aurora realized they were coming from the creature itself—a sound like wind chimes, yes, but also like breaking glass, like something crystalline being shattered from the inside." |
| |
| 88.59% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1218 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 64 | | adverbRatio | 0.052545155993431854 | | lyAdverbCount | 25 | | lyAdverbRatio | 0.020525451559934318 | |
| 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 | 12.12 | | std | 7.48 | | cv | 0.617 | | sampleLengths | | 0 | 15 | | 1 | 27 | | 2 | 14 | | 3 | 15 | | 4 | 2 | | 5 | 14 | | 6 | 8 | | 7 | 31 | | 8 | 11 | | 9 | 16 | | 10 | 11 | | 11 | 11 | | 12 | 7 | | 13 | 8 | | 14 | 2 | | 15 | 2 | | 16 | 23 | | 17 | 35 | | 18 | 10 | | 19 | 9 | | 20 | 3 | | 21 | 17 | | 22 | 14 | | 23 | 15 | | 24 | 4 | | 25 | 10 | | 26 | 16 | | 27 | 12 | | 28 | 15 | | 29 | 8 | | 30 | 11 | | 31 | 14 | | 32 | 4 | | 33 | 26 | | 34 | 8 | | 35 | 15 | | 36 | 3 | | 37 | 18 | | 38 | 27 | | 39 | 7 | | 40 | 5 | | 41 | 10 | | 42 | 10 | | 43 | 6 | | 44 | 6 | | 45 | 8 | | 46 | 16 | | 47 | 9 | | 48 | 8 | | 49 | 5 |
| |
| 40.91% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.26262626262626265 | | totalSentences | 99 | | uniqueOpeners | 26 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 94 | | matches | | 0 | "Especially not Silas, who already" | | 1 | "Just for a moment, just" | | 2 | "Sometimes thinking kept you breathing." |
| | ratio | 0.032 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 28 | | totalSentences | 94 | | matches | | 0 | "She'd come because the Heartstone" | | 1 | "She'd told no one where" | | 2 | "She'd learned quickly that questions" | | 3 | "Her breath came out in" | | 4 | "She could see maybe twenty" | | 5 | "She turned toward it and" | | 6 | "Her jaw tightened." | | 7 | "She knew the Grove's rules" | | 8 | "She'd experienced it once before," | | 9 | "She'd never come here alone." | | 10 | "Her voice came out thin," | | 11 | "She knew, absolutely, that she" | | 12 | "Her trainers remained exactly where" | | 13 | "She raised the pendant higher," | | 14 | "She backed up a step." | | 15 | "Her heel caught on an" | | 16 | "She moved deeper into the" | | 17 | "It wouldn't call without reason." | | 18 | "Her hand had stopped shaking." | | 19 | "She'd learned to do that" |
| | ratio | 0.298 | |
| 34.47% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 80 | | totalSentences | 94 | | matches | | 0 | "Aurora's trainers crunched against frost-brittle" | | 1 | "Richmond Park sprawled behind her" | | 2 | "She'd come because the Heartstone" | | 3 | "The pendant hung beneath her" | | 4 | "The Grove itself looked wrong" | | 5 | "The flowers gave off a" | | 6 | "The standing stones looked less" | | 7 | "Aurora stopped at the clearing's" | | 8 | "The pendant's pulse quickened against" | | 9 | "She'd told no one where" | | 10 | "She'd learned quickly that questions" | | 11 | "The air in the Grove" | | 12 | "Aurora stepped forward." | | 13 | "Her breath came out in" | | 14 | "The wildflowers hung their heads" | | 15 | "She could see maybe twenty" | | 16 | "The wrongness started small." | | 17 | "A sound like wind chimes," | | 18 | "The pendant pressed harder against" | | 19 | "Aurora's fingers found the chain" |
| | ratio | 0.851 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 94 | | matches | (empty) | | ratio | 0 | |
| 55.14% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 57 | | technicalSentenceCount | 7 | | matches | | 0 | "During daylight, it was beautiful—wildflowers blooming in defiance of February, moss-covered stones arranged in patterns that hurt to look at directly, oak tree…" | | 1 | "She'd learned quickly that questions about the Fae touching Earth, about portals and artifacts and things that didn't fit neatly into the boxes people used to s…" | | 2 | "writhed, their stems bending in configurations that made her stomach turn." | | 3 | "The sensible part, the part that had gotten her through Cardiff law school and out of an abusive relationship through sheer stubborn thinking, screamed at her t…" | | 4 | "Human-shaped but not quite human, tall and too-thin, head tilted at an angle that shouldn't have been sustainable." | | 5 | "It had no discernible eyes, but she felt observed regardless, as if her entire self had been read in a single moment." | | 6 | "Aurora's blue eyes were wide and fixed, watching as the creature tilted its too-long head further, impossibly further, until it achieved an angle that made her …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |