| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 96.07% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1273 | | totalAiIsmAdverbs | 1 | | 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) | |
| 0.00% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1273 | | totalAiIsms | 27 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | |
| | highlights | | 0 | "weight" | | 1 | "pulsed" | | 2 | "rhythmic" | | 3 | "familiar" | | 4 | "crystalline" | | 5 | "marble" | | 6 | "velvet" | | 7 | "echoed" | | 8 | "lurched" | | 9 | "flickered" | | 10 | "searing" | | 11 | "depths" | | 12 | "shattered" | | 13 | "gloom" | | 14 | "resonance" | | 15 | "spectral" | | 16 | "lurching" | | 17 | "silence" |
| |
| 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 | 90 | | matches | (empty) | |
| 79.37% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 3 | | narrationSentences | 90 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 90 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 31 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1270 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 1 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.07% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 39 | | wordCount | 1270 | | uniqueNames | 12 | | maxNameDensity | 1.34 | | worstName | "Aurora" | | maxWindowNameDensity | 2 | | worstWindowName | "Aurora" | | discoveredNames | | Richmond | 2 | | Fae-forged | 1 | | Heartstone | 3 | | Aurora | 17 | | Park | 1 | | Nyx | 8 | | Hollow | 1 | | Veil | 1 | | Dymasian | 2 | | South | 1 | | London | 1 | | Isolde | 1 |
| | persons | | 0 | "Heartstone" | | 1 | "Aurora" | | 2 | "Nyx" | | 3 | "Isolde" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Dymasian" | | 3 | "South" | | 4 | "London" |
| | globalScore | 0.831 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 81 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.787 | | wordCount | 1270 | | matches | | 0 | "not of wind, but of something massive shifting beneath the topsoil" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 90 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 29 | | mean | 43.79 | | std | 22.34 | | cv | 0.51 | | sampleLengths | | 0 | 81 | | 1 | 12 | | 2 | 35 | | 3 | 85 | | 4 | 56 | | 5 | 21 | | 6 | 62 | | 7 | 45 | | 8 | 20 | | 9 | 69 | | 10 | 10 | | 11 | 59 | | 12 | 55 | | 13 | 27 | | 14 | 52 | | 15 | 48 | | 16 | 5 | | 17 | 62 | | 18 | 42 | | 19 | 17 | | 20 | 50 | | 21 | 67 | | 22 | 24 | | 23 | 5 | | 24 | 60 | | 25 | 67 | | 26 | 42 | | 27 | 60 | | 28 | 32 |
| |
| 89.67% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 90 | | matches | | 0 | "were consumed" | | 1 | "is stretched" | | 2 | "being torn" | | 3 | "get consumed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 204 | | matches | | |
| 79.37% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 3 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 90 | | ratio | 0.022 | | matches | | 0 | "The scent hit her next—roasted spices, fermenting berries, and the cloying, sickly sweetness of nectar." | | 1 | "It dragged the dagger—and Aurora’s arm—deeper into the basin." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1281 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 27 | | adverbRatio | 0.02107728337236534 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.00546448087431694 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 90 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 90 | | mean | 14.11 | | std | 6.3 | | cv | 0.447 | | sampleLengths | | 0 | 15 | | 1 | 22 | | 2 | 5 | | 3 | 17 | | 4 | 22 | | 5 | 4 | | 6 | 8 | | 7 | 18 | | 8 | 17 | | 9 | 2 | | 10 | 16 | | 11 | 19 | | 12 | 23 | | 13 | 15 | | 14 | 10 | | 15 | 20 | | 16 | 22 | | 17 | 14 | | 18 | 12 | | 19 | 9 | | 20 | 22 | | 21 | 12 | | 22 | 28 | | 23 | 9 | | 24 | 18 | | 25 | 18 | | 26 | 10 | | 27 | 10 | | 28 | 13 | | 29 | 19 | | 30 | 11 | | 31 | 11 | | 32 | 15 | | 33 | 10 | | 34 | 18 | | 35 | 17 | | 36 | 7 | | 37 | 17 | | 38 | 5 | | 39 | 16 | | 40 | 18 | | 41 | 6 | | 42 | 10 | | 43 | 14 | | 44 | 6 | | 45 | 7 | | 46 | 11 | | 47 | 17 | | 48 | 24 | | 49 | 6 |
| |
| 47.41% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.34444444444444444 | | totalSentences | 90 | | uniqueOpeners | 31 | |
| 37.45% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 89 | | matches | | 0 | "Instead of trees, gargantuan stalks" |
| | ratio | 0.011 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 23 | | totalSentences | 89 | | matches | | 0 | "They stood on the edge" | | 1 | "She reached out, stopping just" | | 2 | "It bore an engraving of" | | 3 | "She stumbled, catching herself against" | | 4 | "They held bowls of silver" | | 5 | "They did not notice the" | | 6 | "Their faces remained fixed in" | | 7 | "They are the Hollow, the" | | 8 | "She parted the thick, heavy" | | 9 | "It didn't belong here, a" | | 10 | "She saw her own reflection," | | 11 | "Her eyes blazed with the" | | 12 | "We aren't here for the" | | 13 | "Its cold temper flared, the" | | 14 | "She approached the fountain, the" | | 15 | "She didn't hesitate, plunging the" | | 16 | "It wasn't a sound of" | | 17 | "It dragged the dagger—and Aurora’s" | | 18 | "They wrapped their fingers over" | | 19 | "She felt the weight of" |
| | ratio | 0.258 | |
| 27.42% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 77 | | totalSentences | 89 | | matches | | 0 | "The air at the center" | | 1 | "Aurora adjusted the strap of" | | 2 | "Nyx materialized from the periphery," | | 3 | "The violet light in their" | | 4 | "The hunger of the place" | | 5 | "Nyx’s voice didn’t travel through" | | 6 | "Aurora took a breath, the" | | 7 | "The familiar canopy of Richmond" | | 8 | "They stood on the edge" | | 9 | "The scent hit her next—roasted" | | 10 | "Dymas sprawled beneath them, an" | | 11 | "Vines thick as pythons coiled" | | 12 | "Aurora watched a cluster of" | | 13 | "The ground beneath their boots" | | 14 | "Gluttony has a way of" | | 15 | "Nyx drifted forward, their feet" | | 16 | "Aurora followed, her hand hovering" | | 17 | "The Heartstone against her chest" | | 18 | "The path narrowed, winding between" | | 19 | "Each leaf boasted a jagged" |
| | ratio | 0.865 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 89 | | matches | (empty) | | ratio | 0 | |
| 14.93% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 67 | | technicalSentenceCount | 12 | | matches | | 0 | "They stood on the edge of a precipice overlooking a valley that defied the geometry of the physical world." | | 1 | "Instead of trees, gargantuan stalks of crystalline sugar spiraled toward a sun that hung low and heavy like a drop of liquid honey." | | 2 | "Vines thick as pythons coiled around columns of translucent marble, bleeding a thick, ruby-red wine that pooled into subterranean rivers." | | 3 | "Nyx drifted forward, their feet never touching the earth, trailing wisps of shadow that dissolved the moment they touched the vibrant flora." | | 4 | "The Heartstone against her chest grew hot, a frantic, rhythmic tapping against her ribs that matched the distant, thunderous sound of heavy iron gates slamming …" | | 5 | "She stumbled, catching herself against a vine that felt surprisingly like muscle, its surface warm and slick." | | 6 | "They held bowls of silver that overflowed with golden, glowing embers, passing them in a silent, agonizing cycle." | | 7 | "The Heartstone burned, a searing brand against her skin, pulling her attention toward a hidden alcove shrouded in a curtain of weeping willow-like vines." | | 8 | "A massive, elongated finger tapped against the underside of the liquid surface, sending ripples outward that shattered the image of the garden." | | 9 | "She felt the weight of the pendant lurching toward her throat, straining at the chain as if it wanted to physically rip itself from her body and dive into the b…" | | 10 | "Nyx drifted back, their violet glow dimmed, their silhouette flickering as if the effort had torn at their own stability." | | 11 | "The garden waited, breathless and still, as if the entire realm were holding its breath, sensing the wound they had left behind." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |