| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 93.32% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1497 | | totalAiIsmAdverbs | 2 | | 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) | |
| 66.60% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1497 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "weight" | | 1 | "electric" | | 2 | "velvet" | | 3 | "trembled" | | 4 | "warmth" | | 5 | "flickered" | | 6 | "gloom" | | 7 | "traced" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | |
| 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 | 1 | | hedgeCount | 2 | | narrationSentences | 99 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 114 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 41 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1493 | | 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 | 40 | | wordCount | 1404 | | uniqueNames | 16 | | maxNameDensity | 0.85 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 12 | | Richmond | 1 | | Park | 1 | | Heartstone | 2 | | Pendant | 2 | | Fae-Forged | 1 | | Blade | 1 | | Aldric | 1 | | Nyx | 10 | | Golden | 1 | | Empress | 1 | | Friday | 1 | | Shade | 1 | | London | 1 | | Veil | 1 | | Fae | 3 |
| | persons | | 0 | "Rory" | | 1 | "Pendant" | | 2 | "Aldric" | | 3 | "Nyx" | | 4 | "Shade" | | 5 | "Veil" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Golden" | | 3 | "London" | | 4 | "Fae" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 71 | | glossingSentenceCount | 1 | | matches | | 0 | "looked like fossilised moonlight, jagged" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1493 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 114 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 37 | | mean | 40.35 | | std | 37.57 | | cv | 0.931 | | sampleLengths | | 0 | 93 | | 1 | 55 | | 2 | 51 | | 3 | 2 | | 4 | 30 | | 5 | 5 | | 6 | 102 | | 7 | 19 | | 8 | 4 | | 9 | 3 | | 10 | 6 | | 11 | 53 | | 12 | 80 | | 13 | 74 | | 14 | 37 | | 15 | 2 | | 16 | 69 | | 17 | 10 | | 18 | 5 | | 19 | 4 | | 20 | 102 | | 21 | 108 | | 22 | 43 | | 23 | 4 | | 24 | 6 | | 25 | 85 | | 26 | 104 | | 27 | 11 | | 28 | 1 | | 29 | 5 | | 30 | 116 | | 31 | 60 | | 32 | 61 | | 33 | 10 | | 34 | 21 | | 35 | 44 | | 36 | 8 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 99 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 244 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 3 | | flaggedSentences | 7 | | totalSentences | 114 | | ratio | 0.061 | | matches | | 0 | "One moment the path through Richmond Park held nothing but frost-brittle bracken and the distant thrum of a delivery van; the next, three oaks older than the city itself blocked the way." | | 1 | "Wildflowers punched through the moss in colours she had no names for—blue that shone silver at the edges, red that sank into black at the heart of each petal, yellow that left afterimages when she blinked." | | 2 | "Light fell through in thick shafts that behaved wrong; it pooled on the moss like honey rather than scattering, and where it touched the wildflowers they opened wider, petals unfolding with soft pops that sounded too wet." | | 3 | "Instead it showed stars—thousands of them, wheeling in a pattern wrong for the season, constellations from her father's study shifting before she could name them, sliding apart to reform into new beasts, horned and many-limbed." | | 4 | "The stars in the water rippled, then steadied, and a face looked up from beneath the surface—pale lavender eyes, silver hair, a mouth opening to speak." | | 5 | "The moss gave way to a mat of petals that released a perfume thick enough to chew, each step releasing a different scent—honeysuckle, then ash, then salt, then the ozone sting of a train platform." | | 6 | "They did not flutter; they drifted, leaving trails of pale luminescence that hung in the air a full second after they passed, sketching brief geometries before fading." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1415 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 43 | | adverbRatio | 0.0303886925795053 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.0063604240282685515 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 114 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 114 | | mean | 13.1 | | std | 9.74 | | cv | 0.744 | | sampleLengths | | 0 | 11 | | 1 | 32 | | 2 | 11 | | 3 | 20 | | 4 | 19 | | 5 | 2 | | 6 | 14 | | 7 | 11 | | 8 | 28 | | 9 | 6 | | 10 | 20 | | 11 | 6 | | 12 | 19 | | 13 | 2 | | 14 | 2 | | 15 | 4 | | 16 | 12 | | 17 | 12 | | 18 | 5 | | 19 | 19 | | 20 | 25 | | 21 | 36 | | 22 | 22 | | 23 | 8 | | 24 | 6 | | 25 | 5 | | 26 | 4 | | 27 | 3 | | 28 | 6 | | 29 | 4 | | 30 | 13 | | 31 | 4 | | 32 | 15 | | 33 | 17 | | 34 | 3 | | 35 | 14 | | 36 | 37 | | 37 | 5 | | 38 | 21 | | 39 | 3 | | 40 | 16 | | 41 | 17 | | 42 | 6 | | 43 | 32 | | 44 | 2 | | 45 | 6 | | 46 | 24 | | 47 | 5 | | 48 | 2 | | 49 | 3 |
| |
| 42.40% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.30701754385964913 | | totalSentences | 114 | | uniqueOpeners | 35 | |
| 70.92% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 94 | | matches | | 0 | "Even the scuff from her" | | 1 | "Instead it showed stars—thousands of" |
| | ratio | 0.021 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 27 | | totalSentences | 94 | | matches | | 0 | "Their trunks twisted into one" | | 1 | "She curled her hand around" | | 2 | "They rose into solidity, six" | | 3 | "Her own breath filled her" | | 4 | "She stepped between the oaks." | | 5 | "They chimed when her trouser" | | 6 | "It spilled across uneven ground." | | 7 | "She tapped the glass." | | 8 | "She unstrapped the thing and" | | 9 | "She walked deeper." | | 10 | "It lit the nearest trunk," | | 11 | "They had grown that way," | | 12 | "Their form flickered, not by" | | 13 | "She rubbed her thumb across" | | 14 | "They pressed on." | | 15 | "She dipped her fingers in." | | 16 | "It smelled of cardamom and" | | 17 | "It dissolved before she could" | | 18 | "They remained at the edge," | | 19 | "She rose, and the blade's" |
| | ratio | 0.287 | |
| 7.87% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 85 | | totalSentences | 94 | | matches | | 0 | "The standing stones did not" | | 1 | "Their trunks twisted into one" | | 2 | "A magpie on the lowest" | | 3 | "The Heartstone Pendant hung at" | | 4 | "She curled her hand around" | | 5 | "The metal bit her palm" | | 6 | "Nyx seeped forward from her" | | 7 | "They rose into solidity, six" | | 8 | "That glow died at the" | | 9 | "The oaks swallowed it whole," | | 10 | "The van had gone." | | 11 | "Her own breath filled her" | | 12 | "She stepped between the oaks." | | 13 | "The air tasted of pollen" | | 14 | "Wildflowers punched through the moss" | | 15 | "They chimed when her trouser" | | 16 | "Nyx drifted beside her, half-corporeal," | | 17 | "The living shadow no longer" | | 18 | "It spilled across uneven ground." | | 19 | "Rory checked her watch." |
| | ratio | 0.904 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 94 | | matches | (empty) | | ratio | 0 | |
| 11.90% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 60 | | technicalSentenceCount | 11 | | matches | | 0 | "The Heartstone Pendant hung at her collarbone, a crimson weight that grew heavier here." | | 1 | "The metal bit her palm with its usual cold, but now that cold spread up her forearm in a slow bloom that prickled the skin beneath her sleeve." | | 2 | "Under her boots the ground changed from frozen mud to something that gave like velvet, springing back after each stride as though the earth inhaled." | | 3 | "Light fell through in thick shafts that behaved wrong; it pooled on the moss like honey rather than scattering, and where it touched the wildflowers they opened…" | | 4 | "It lit the nearest trunk, revealing bark carved with spirals that matched the path beneath her boots." | | 5 | "Shadow peeled away from their shoulders and reattached, as if the grove tested their seams, prying at the bindings that kept Aldric's remnants together." | | 6 | "Instead it showed stars—thousands of them, wheeling in a pattern wrong for the season, constellations from her father's study shifting before she could name the…" | | 7 | "They did not flutter; they drifted, leaving trails of pale luminescence that hung in the air a full second after they passed, sketching brief geometries before …" | | 8 | "The air above the clearing rippled, faint and shimmering, a distortion that made her eyes water if she stared too long, the Veil drawn thin, a membrane stretche…" | | 9 | "The moonsilver sang, a high thin note that harmonised with the hum in the stone and set the moths wheeling overhead in a frantic spiral." | | 10 | "The light from its edge traced a spiral on the monolith's face that matched the path, matched the bark, matched the groove of her scar." |
| |
| 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 | |