| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 2 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 2 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 82.80% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1163 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "slowly" | | 1 | "truly" | | 2 | "very" | | 3 | "completely" |
| |
| 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) | |
| 26.91% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1163 | | totalAiIsms | 17 | | found | | | highlights | | 0 | "warmth" | | 1 | "silence" | | 2 | "pulsed" | | 3 | "flicker" | | 4 | "scanning" | | 5 | "lurching" | | 6 | "weight" | | 7 | "pulse" | | 8 | "could feel" | | 9 | "sense of" | | 10 | "reminder" |
| |
| 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 | 1 | | narrationSentences | 106 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 106 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 106 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 51 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1149 | | 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 | 26 | | wordCount | 1146 | | uniqueNames | 11 | | maxNameDensity | 0.61 | | worstName | "Aurora" | | maxWindowNameDensity | 1 | | worstWindowName | "Aurora" | | discoveredNames | | Silas | 3 | | Aurora | 7 | | Richmond | 1 | | Park | 1 | | Fae | 5 | | Isolde | 2 | | Heartstone | 1 | | Cool-headed | 1 | | Grove | 2 | | London | 2 | | Wales | 1 |
| | persons | | 0 | "Silas" | | 1 | "Aurora" | | 2 | "Isolde" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Fae" | | 3 | "Grove" | | 4 | "London" | | 5 | "Wales" |
| | globalScore | 1 | | windowScore | 1 | |
| 73.08% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 65 | | glossingSentenceCount | 2 | | matches | | 0 | "light that seemed to come from nowhere and everywhere at once" | | 1 | "seemed farther away, the stone circle at the entrance impossibly distant" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1149 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 106 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 38 | | mean | 30.24 | | std | 22.13 | | cv | 0.732 | | sampleLengths | | 0 | 12 | | 1 | 63 | | 2 | 81 | | 3 | 11 | | 4 | 59 | | 5 | 24 | | 6 | 63 | | 7 | 69 | | 8 | 35 | | 9 | 29 | | 10 | 41 | | 11 | 5 | | 12 | 4 | | 13 | 49 | | 14 | 37 | | 15 | 6 | | 16 | 21 | | 17 | 33 | | 18 | 60 | | 19 | 10 | | 20 | 47 | | 21 | 31 | | 22 | 6 | | 23 | 40 | | 24 | 33 | | 25 | 11 | | 26 | 47 | | 27 | 18 | | 28 | 2 | | 29 | 48 | | 30 | 4 | | 31 | 2 | | 32 | 58 | | 33 | 36 | | 34 | 36 | | 35 | 6 | | 36 | 4 | | 37 | 8 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 106 | | matches | (empty) | |
| 67.33% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 201 | | matches | | 0 | "was screaming" | | 1 | "were reaching" | | 2 | "was rising" | | 3 | "was waiting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 106 | | ratio | 0.057 | | matches | | 0 | "The grove was never truly dark—not with the ambient Fae light that hung like permanent dawn—but tonight shadows pooled in the corners of her vision, clinging to the bases of the standing stones." | | 1 | "But they moved again, a slow undulation that could have been wind through leaves—if there had been any wind." | | 2 | "Someone—or something—had been directly behind her." | | 3 | "Her heel caught on something—a root, a stone, she didn't look—and she stumbled." | | 4 | "The boundary couldn't have been far—she'd only walked ten minutes in—but the clearing stretched and stretched and the trees kept their distance and her legs burned and the breathing, that awful too-steady breathing, grew louder, closer, filling her ears and her nose and the space behind her eyes." | | 5 | "Not clearly—a sense of wrongness, of something vast pressing close, of reaching shadows and breathing darkness and the cold grey nothing of the pendant's light." |
| |
| 99.55% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1160 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 47 | | adverbRatio | 0.04051724137931034 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.011206896551724138 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 106 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 106 | | mean | 10.84 | | std | 9.34 | | cv | 0.862 | | sampleLengths | | 0 | 12 | | 1 | 19 | | 2 | 20 | | 3 | 24 | | 4 | 6 | | 5 | 4 | | 6 | 30 | | 7 | 28 | | 8 | 13 | | 9 | 5 | | 10 | 6 | | 11 | 22 | | 12 | 4 | | 13 | 14 | | 14 | 19 | | 15 | 9 | | 16 | 3 | | 17 | 3 | | 18 | 9 | | 19 | 20 | | 20 | 21 | | 21 | 22 | | 22 | 15 | | 23 | 33 | | 24 | 2 | | 25 | 19 | | 26 | 10 | | 27 | 5 | | 28 | 2 | | 29 | 18 | | 30 | 4 | | 31 | 19 | | 32 | 6 | | 33 | 8 | | 34 | 22 | | 35 | 11 | | 36 | 5 | | 37 | 2 | | 38 | 2 | | 39 | 7 | | 40 | 1 | | 41 | 19 | | 42 | 4 | | 43 | 12 | | 44 | 6 | | 45 | 11 | | 46 | 12 | | 47 | 8 | | 48 | 6 | | 49 | 3 |
| |
| 55.03% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.3867924528301887 | | totalSentences | 106 | | uniqueOpeners | 41 | |
| 37.88% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 88 | | matches | | | ratio | 0.011 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 24 | | totalSentences | 88 | | matches | | 0 | "She'd wanted to come here" | | 1 | "Her skin prickled as she" | | 2 | "Her voice fell flat in" | | 3 | "She stopped in the centre" | | 4 | "She was certain she'd seen" | | 5 | "Her voice came out steadier" | | 6 | "She wasn't about to let" | | 7 | "She stood very still, listening" | | 8 | "Her own breathing sounded loud" | | 9 | "Her pulse hammered in her" | | 10 | "She whirled, but again there" | | 11 | "Her skin crawled." | | 12 | "She'd been here dozens of" | | 13 | "It couldn't be." | | 14 | "She heard breathing." | | 15 | "It came from everywhere and" | | 16 | "Her heel caught on something—a" | | 17 | "They were closer now, pooling" | | 18 | "She couldn't see what cast" | | 19 | "They were reaching for her." |
| | ratio | 0.273 | |
| 50.91% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 72 | | totalSentences | 88 | | matches | | 0 | "The path opened into the" | | 1 | "Aurora stopped at the edge" | | 2 | "The standing stones marked the" | | 3 | "Wildflowers she had no names" | | 4 | "She'd wanted to come here" | | 5 | "That was the plan." | | 6 | "Eva had offered to tag" | | 7 | "The pendant had been pulling" | | 8 | "Whatever waited in that pocket" | | 9 | "The entry felt different tonight." | | 10 | "That was the first wrong" | | 11 | "Her skin prickled as she" | | 12 | "The air tasted of copper" | | 13 | "Her voice fell flat in" | | 14 | "The silence pressed against her" | | 15 | "Aurora walked deeper into the" | | 16 | "The Heartstone pendant pulsed warmer" | | 17 | "The geminner glow had shifted" | | 18 | "She stopped in the centre" | | 19 | "The grove was never truly" |
| | ratio | 0.818 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 4 | | totalSentences | 88 | | matches | | 0 | "Before, stepping through the boundary" | | 1 | "Now, the transition scraped." | | 2 | "If there had been any" | | 3 | "To her left." |
| | ratio | 0.045 | |
| 47.62% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 45 | | technicalSentenceCount | 6 | | matches | | 0 | "Wildflowers she had no names for bloomed in the moonlight, pale petals catching light that seemed to come from nowhere and everywhere at once." | | 1 | "The pendant had been pulling her toward Richmond Park for three nights now, that faint warmth against her sternum growing stronger with each step closer to the …" | | 2 | "The air tasted of copper and something older, something that made her think of deep wells and sealed doors." | | 3 | "The grove was never truly dark—not with the ambient Fae light that hung like permanent dawn—but tonight shadows pooled in the corners of her vision, clinging to…" | | 4 | "They were closer now, pooling around her feet, curling around her ankles like smoke that had learned to touch." | | 5 | "She lay still, heart thudding, sweat cooling on her skin, one hand clutching the pendant that was warm again, that had never stopped being warm, and for a long …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 2 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |