| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 21 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 39 | | tagDensity | 0.538 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1702 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 58.87% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1702 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "whisper" | | 1 | "pulse" | | 2 | "throb" | | 3 | "intricate" | | 4 | "silk" | | 5 | "pulsed" | | 6 | "stomach" | | 7 | "grave" | | 8 | "desire" | | 9 | "flicked" |
| |
| 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 | 103 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 103 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 121 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 58 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1686 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 20 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 49 | | wordCount | 1331 | | uniqueNames | 9 | | maxNameDensity | 1.58 | | worstName | "Rory" | | maxWindowNameDensity | 3 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 21 | | Richmond | 1 | | Fae | 1 | | Nyx | 10 | | Heartstone | 3 | | Isolde | 10 | | Evan | 1 | | Earth | 1 | | Gluttony | 1 |
| | persons | | 0 | "Rory" | | 1 | "Nyx" | | 2 | "Isolde" | | 3 | "Evan" |
| | places | | | globalScore | 0.711 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 67 | | glossingSentenceCount | 1 | | matches | | 0 | "something like centuries" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.593 | | wordCount | 1686 | | matches | | 0 | "Not the steady beat of a heart, but the slow, deep throb of something vast" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 121 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 40 | | mean | 42.15 | | std | 31.37 | | cv | 0.744 | | sampleLengths | | 0 | 66 | | 1 | 24 | | 2 | 21 | | 3 | 100 | | 4 | 56 | | 5 | 31 | | 6 | 55 | | 7 | 58 | | 8 | 21 | | 9 | 82 | | 10 | 10 | | 11 | 3 | | 12 | 30 | | 13 | 135 | | 14 | 13 | | 15 | 25 | | 16 | 65 | | 17 | 29 | | 18 | 81 | | 19 | 63 | | 20 | 17 | | 21 | 19 | | 22 | 72 | | 23 | 12 | | 24 | 5 | | 25 | 91 | | 26 | 59 | | 27 | 16 | | 28 | 3 | | 29 | 34 | | 30 | 85 | | 31 | 14 | | 32 | 45 | | 33 | 25 | | 34 | 87 | | 35 | 3 | | 36 | 35 | | 37 | 30 | | 38 | 51 | | 39 | 15 |
| |
| 98.45% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 103 | | matches | | 0 | "being poured" | | 1 | "been left" | | 2 | "been lacquered" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 222 | | matches | | 0 | "was standing" | | 1 | "was pulsing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 1 | | flaggedSentences | 14 | | totalSentences | 121 | | ratio | 0.116 | | matches | | 0 | "It thickened, warmed, and carried a sweetness so heavy it coated the back of Rory's throat—overripe fruit and woodsmoke, honey and something darker, like caramel left too long on the stove." | | 1 | "One moment she was standing in the damp Richmond gloaming with the Fae blade cold against her hip; the next, Nyx's shadow-slick hand closed around her wrist, and the world folded." | | 2 | "Not the amber of sunset—sunset bled and bruised into violet and umber at its edges." | | 3 | "She pressed a hand to her sternum and felt the Heartstone pendant beneath her shirt pulse once against her palm—a warm, answering throb." | | 4 | "The seer stood at the edge of the clearing, barefoot on the grass, and Rory noticed—as she always noticed, and never quite accepted—that the grass did not bend beneath her feet." | | 5 | "The grass beneath Rory's boots was unnervingly soft, springy, and it released a scent with every step—thyme and lavender and something musky underneath." | | 6 | "Below them, the land fell away in a series of wide, gentle valleys, each one killed and worked and planted in patterns so intricate they looked from above like embroidery—vineyards in spirals, fields of grain arranged in whorls, gardens laid out in geometries that hurt to look at too long." | | 7 | "Rivers of something that glittered like liquid amber threaded through it all, and on those rivers moved boats with sails of spun—not silk, something finer." | | 8 | "They descended a stair cut into the living rock—each step warm underfoot, polished smooth by centuries of use, or something like centuries." | | 9 | "At the bottom of the stair, a village—if a village could be a hundred kitchens stacked and terraced and blooming with roofs of copper that had weathered to verdigris." | | 10 | "Not a demon—a woman, or the shape of one, tall and broad and wearing an apron stained with a dozen colors." | | 11 | "It was the best thing that had ever touched her tongue—and not in a simple way." | | 12 | "She saw them in the kitchens, behind the ovens and the great iron cauldrons, their faces slack in a way she recognized from the worst days of her life with Evan—that particular emptiness, that particular patience." | | 13 | "Two figures flanked them—tall, horned, their skin the polished black of obsidian and their aprons as stained as the broth-woman's." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1353 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 40 | | adverbRatio | 0.029563932002956393 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.005173688100517369 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 121 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 121 | | mean | 13.93 | | std | 10.54 | | cv | 0.757 | | sampleLengths | | 0 | 4 | | 1 | 31 | | 2 | 31 | | 3 | 2 | | 4 | 3 | | 5 | 19 | | 6 | 21 | | 7 | 4 | | 8 | 15 | | 9 | 27 | | 10 | 22 | | 11 | 19 | | 12 | 13 | | 13 | 14 | | 14 | 18 | | 15 | 9 | | 16 | 15 | | 17 | 7 | | 18 | 23 | | 19 | 1 | | 20 | 12 | | 21 | 31 | | 22 | 12 | | 23 | 13 | | 24 | 10 | | 25 | 23 | | 26 | 12 | | 27 | 11 | | 28 | 10 | | 29 | 2 | | 30 | 23 | | 31 | 36 | | 32 | 21 | | 33 | 3 | | 34 | 7 | | 35 | 3 | | 36 | 11 | | 37 | 19 | | 38 | 21 | | 39 | 50 | | 40 | 9 | | 41 | 25 | | 42 | 9 | | 43 | 21 | | 44 | 13 | | 45 | 4 | | 46 | 11 | | 47 | 10 | | 48 | 22 | | 49 | 13 |
| |
| 67.77% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.4462809917355372 | | totalSentences | 121 | | uniqueOpeners | 54 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 89 | | matches | (empty) | | ratio | 0 | |
| 80.67% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 31 | | totalSentences | 89 | | matches | | 0 | "It thickened, warmed, and carried" | | 1 | "It was more like being" | | 2 | "They stood a few paces" | | 3 | "Their violet eyes reflected nothing" | | 4 | "She pressed a hand to" | | 5 | "It was cold even through" | | 6 | "She'd learned, in the three" | | 7 | "They passed through an orchard" | | 8 | "They emerged from the orchard" | | 9 | "she said, and meant it," | | 10 | "Their form had thickened further," | | 11 | "They descended a stair cut" | | 12 | "She pulled her hand away." | | 13 | "Her stomach clenched, sudden and" | | 14 | "Her skin was the deep" | | 15 | "She did not speak." | | 16 | "She simply held out a" | | 17 | "It was warm in her" | | 18 | "It was the best thing" | | 19 | "It was the memory of" |
| | ratio | 0.348 | |
| 44.27% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 74 | | totalSentences | 89 | | matches | | 0 | "The air changed first." | | 1 | "It thickened, warmed, and carried" | | 2 | "Nothing so clean." | | 3 | "It was more like being" | | 4 | "Rory stumbled forward onto ground" | | 5 | "The sky was amber." | | 6 | "This was amber all through," | | 7 | "Rory turned in a slow" | | 8 | "The land simply continued, terraced" | | 9 | "Nyx's voice was a whisper" | | 10 | "They stood a few paces" | | 11 | "Their violet eyes reflected nothing" | | 12 | "Rory's voice came out thin" | | 13 | "She pressed a hand to" | | 14 | "Isolde's silver hair caught the" | | 15 | "The seer stood at the" | | 16 | "Rory's hand drifted to the" | | 17 | "It was cold even through" | | 18 | "She'd learned, in the three" | | 19 | "Isolde said, which was not" |
| | ratio | 0.831 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 89 | | matches | (empty) | | ratio | 0 | |
| 44.82% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 51 | | technicalSentenceCount | 7 | | matches | | 0 | "This was amber all through, a warm honeyed dome from horizon to horizon, as though the whole vault of heaven had been lacquered and lit from behind." | | 1 | "They passed through an orchard first, trees heavy with fruit she couldn't name: globes of deep violet the size of her fist, clusters of translucent silver berri…" | | 2 | "Below them, the land fell away in a series of wide, gentle valleys, each one killed and worked and planted in patterns so intricate they looked from above like …" | | 3 | "Rivers of something that glittered like liquid amber threaded through it all, and on those rivers moved boats with sails of spun—not silk, something finer." | | 4 | "Her stomach clenched, sudden and sharp, and she realized she was ravenous in a way that had nothing to do with skipping lunch." | | 5 | "It was the memory of every good meal she'd ever had, layered and deepened, and underneath it something that whispered: more." | | 6 | "Vendors who called out in languages she half-understood—bargains, invitations, samples offered on the flat of a palm." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 21 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 73.08% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 13 | | fancyCount | 3 | | fancyTags | | 0 | "Nyx agreed (agree)" | | 1 | "Nyx murmured (murmur)" | | 2 | "Isolde corrected (correct)" |
| | dialogueSentences | 39 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0.231 | | effectiveRatio | 0.154 | |