| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 8 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said quietly [quietly]" |
| | dialogueSentences | 34 | | tagDensity | 0.235 | | leniency | 0.471 | | rawRatio | 0.125 | | effectiveRatio | 0.059 | |
| 90.90% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2197 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "softly" | | 1 | "suddenly" | | 2 | "quickly" |
| |
| 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) | |
| 54.48% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2197 | | totalAiIsms | 20 | | found | | | highlights | | 0 | "warmth" | | 1 | "flickered" | | 2 | "scanning" | | 3 | "pulsed" | | 4 | "stomach" | | 5 | "traced" | | 6 | "throb" | | 7 | "perfect" | | 8 | "whisper" | | 9 | "marble" | | 10 | "vibrated" | | 11 | "crystal" | | 12 | "pulse" | | 13 | "racing" | | 14 | "treacherous" | | 15 | "tapestry" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 2 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
| | 1 | | label | "clenched jaw/fists" | | count | 1 |
|
| | highlights | | 0 | "eyes narrowed" | | 1 | "clenched her jaw" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 157 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 157 | | filterMatches | (empty) | | hedgeMatches | | |
| 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 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 39 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2185 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 80.07% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 76 | | wordCount | 1716 | | uniqueNames | 22 | | maxNameDensity | 1.4 | | worstName | "Aurora" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Aurora" | | discoveredNames | | Aurora | 24 | | Richmond | 1 | | Park | 1 | | Heartstone | 3 | | Shade | 3 | | Fae-forged | 2 | | Golden | 1 | | Cardiff | 2 | | Evan | 1 | | Nyx | 12 | | Silas | 1 | | Cleopatra | 1 | | Henry | 1 | | Eighth | 1 | | Fae | 4 | | Sunday | 1 | | University | 1 | | Eva | 1 | | London | 1 | | Isolde | 9 | | Dymas | 1 | | One | 4 |
| | persons | | 0 | "Aurora" | | 1 | "Heartstone" | | 2 | "Shade" | | 3 | "Evan" | | 4 | "Nyx" | | 5 | "Silas" | | 6 | "Cleopatra" | | 7 | "Henry" | | 8 | "Eighth" | | 9 | "Eva" | | 10 | "Isolde" | | 11 | "One" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Cardiff" | | 3 | "London" |
| | globalScore | 0.801 | | windowScore | 0.833 | |
| 90.94% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 127 | | glossingSentenceCount | 3 | | matches | | 0 | "as though breathing" | | 1 | "as if agreeing" | | 2 | "tasted like frost on her tongue" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 2185 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 183 | | matches | (empty) | |
| 73.85% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 44 | | mean | 49.66 | | std | 20.28 | | cv | 0.408 | | sampleLengths | | 0 | 71 | | 1 | 49 | | 2 | 32 | | 3 | 51 | | 4 | 76 | | 5 | 52 | | 6 | 35 | | 7 | 60 | | 8 | 64 | | 9 | 91 | | 10 | 34 | | 11 | 72 | | 12 | 83 | | 13 | 14 | | 14 | 24 | | 15 | 48 | | 16 | 93 | | 17 | 41 | | 18 | 31 | | 19 | 64 | | 20 | 48 | | 21 | 44 | | 22 | 47 | | 23 | 82 | | 24 | 53 | | 25 | 39 | | 26 | 13 | | 27 | 65 | | 28 | 90 | | 29 | 25 | | 30 | 37 | | 31 | 49 | | 32 | 50 | | 33 | 30 | | 34 | 52 | | 35 | 53 | | 36 | 62 | | 37 | 34 | | 38 | 48 | | 39 | 33 | | 40 | 55 | | 41 | 30 | | 42 | 49 | | 43 | 12 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 157 | | matches | | 0 | "was molten" | | 1 | "were carved" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 300 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 1 | | flaggedSentences | 12 | | totalSentences | 183 | | ratio | 0.066 | | matches | | 0 | "One moment the winter wind of Richmond Park clawed at her coat; the next, warmth folded around her like a living thing." | | 1 | "Each step released bursts of perfume—blackberry, roasted meat, fresh bread, something darker like spiced blood." | | 2 | "Water—no, wine—trickled from a carved mouth shaped like a laughing satyr." | | 3 | "She traced a finger along carvings that depicted figures in constant feast—mouths stretched too wide, hands clutching more than they could hold." | | 4 | "The smell grew thicker until she could taste it on her tongue—overripe peach, caramelized onion, the metallic tang of rare venison." | | 5 | "His gaze locked on Aurora and his mouth opened in a silent scream of either hunger or warning—she couldn’t tell which." | | 6 | "Then she realized it was singing—thousands of voices raised in a hymn to fullness." | | 7 | "In its center stood fountains that didn’t spray water but instead gushed sauces—velvety béarnaise, scarlet reduction, emerald pesto that moved like living things." | | 8 | "Each step was inlaid with tiny mosaics depicting famous last meals—Cleopatra’s basket of figs, Henry the Eighth’s final swan, a helbound chef’s own heart served on a silver platter." | | 9 | "The tower itself looked grown rather than built—ribs of candy glass and sinews of nougat supporting walls of dark chocolate and marzipan battlements." | | 10 | "Beneath the surface, shapes moved—enormous fish with scales of hardened sugar, their mouths opening to reveal ovens instead of tongues." | | 11 | "Each step sent fresh aromas curling around her—her father’s Sunday roast, the buttery scones from the café near Cardiff University, the cheap ramen she and Eva had survived on during their first weeks in London." |
| |
| 88.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1742 | | adjectiveStacks | 2 | | stackExamples | | 0 | "translucent, revealing tiny galaxies" | | 1 | "released sticky-sweet juice." |
| | adverbCount | 57 | | adverbRatio | 0.032721010332950634 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.008610792192881744 | |
| 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.94 | | std | 6.86 | | cv | 0.574 | | sampleLengths | | 0 | 15 | | 1 | 22 | | 2 | 7 | | 3 | 7 | | 4 | 20 | | 5 | 13 | | 6 | 9 | | 7 | 15 | | 8 | 12 | | 9 | 19 | | 10 | 8 | | 11 | 5 | | 12 | 3 | | 13 | 10 | | 14 | 13 | | 15 | 11 | | 16 | 14 | | 17 | 10 | | 18 | 17 | | 19 | 12 | | 20 | 10 | | 21 | 6 | | 22 | 21 | | 23 | 10 | | 24 | 15 | | 25 | 13 | | 26 | 7 | | 27 | 7 | | 28 | 7 | | 29 | 11 | | 30 | 14 | | 31 | 3 | | 32 | 10 | | 33 | 11 | | 34 | 10 | | 35 | 11 | | 36 | 18 | | 37 | 4 | | 38 | 7 | | 39 | 22 | | 40 | 8 | | 41 | 23 | | 42 | 16 | | 43 | 4 | | 44 | 30 | | 45 | 16 | | 46 | 25 | | 47 | 8 | | 48 | 13 | | 49 | 13 |
| |
| 59.56% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.3770491803278688 | | totalSentences | 183 | | uniqueOpeners | 69 | |
| 21.65% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 154 | | matches | | 0 | "Then she realized it was" |
| | ratio | 0.006 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 35 | | totalSentences | 154 | | matches | | 0 | "She blinked hard against the" | | 1 | "they whispered, the word carried" | | 2 | "Her silver hair caught the" | | 3 | "She tilted her head, listening" | | 4 | "Her stomach growled despite the" | | 5 | "She pressed a hand to" | | 6 | "They drifted ahead, incorporeal now," | | 7 | "She dipped one finger, tasted," | | 8 | "She traced a finger along" | | 9 | "Their violet eyes narrowed." | | 10 | "They pointed one obsidian finger" | | 11 | "They moved together." | | 12 | "Her fingers brushed a grape" | | 13 | "It burst at the lightest" | | 14 | "She yanked her hand back," | | 15 | "She had accepted it months" | | 16 | "His gaze locked on Aurora" | | 17 | "She forced her eyes forward." | | 18 | "Their form flickered, betraying unease." | | 19 | "She caught herself smiling and" |
| | ratio | 0.227 | |
| 60.65% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 123 | | totalSentences | 154 | | matches | | 0 | "The air tasted of ripe" | | 1 | "Amber light bathed everything, thick" | | 2 | "She blinked hard against the" | | 3 | "The Heartstone pendant burned against" | | 4 | "Nyx slid in beside her," | | 5 | "The Shade’s violet eyes flickered" | | 6 | "they whispered, the word carried" | | 7 | "Aurora adjusted the strap of" | | 8 | "The moonsilver dagger rested cold" | | 9 | "Isolde entered last." | | 10 | "Her silver hair caught the" | | 11 | "She tilted her head, listening" | | 12 | "The grove’s boundary stones had" | | 13 | "Trees heavy with fruit Aurora" | | 14 | "Some apples shone translucent, revealing" | | 15 | "Others pulsed softly, as though" | | 16 | "The air hummed with the" | | 17 | "Aurora’s boots sank into soil" | | 18 | "Each step released bursts of" | | 19 | "Her stomach growled despite the" |
| | ratio | 0.799 | |
| 97.40% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 154 | | matches | | 0 | "Now it tugged her forward" | | 1 | "Before she could react, a" | | 2 | "To taste one thing." |
| | ratio | 0.019 | |
| 74.01% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 83 | | technicalSentenceCount | 8 | | matches | | 0 | "She traced a finger along carvings that depicted figures in constant feast—mouths stretched too wide, hands clutching more than they could hold." | | 1 | "Nyx coalesced into solid form, six-foot-two of living darkness wrapped in a cloak that wasn’t fabric." | | 2 | "The vineyard rows stretched in perfect geometry, each vine laden with clusters that drizzled sap the color of molten gold." | | 3 | "Nyx’s entire form shuddered, edges sharpening as though suddenly in focus." | | 4 | "In its center stood fountains that didn’t spray water but instead gushed sauces—velvety béarnaise, scarlet reduction, emerald pesto that moved like living thing…" | | 5 | "They crossed the basalt bridge that arched over the chocolate lake." | | 6 | "Floating platforms drifted between them, laden with platters that replenished themselves." | | 7 | "They darted between platforms, avoiding the grasping hands of sous-chefs who lunged at the sudden movement." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 8 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 91.18% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 2 | | fancyTags | | 0 | "they whispered (whisper)" | | 1 | "Nyx murmured (murmur)" |
| | dialogueSentences | 34 | | tagDensity | 0.147 | | leniency | 0.294 | | rawRatio | 0.4 | | effectiveRatio | 0.118 | |