| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 13 | | tagDensity | 0.385 | | leniency | 0.769 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1710 | | 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) | |
| 32.75% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1710 | | totalAiIsms | 23 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | |
| | highlights | | 0 | "warmth" | | 1 | "silk" | | 2 | "flickered" | | 3 | "whisper" | | 4 | "pulse" | | 5 | "raced" | | 6 | "resonance" | | 7 | "structure" | | 8 | "shattered" | | 9 | "crystal" | | 10 | "scanning" | | 11 | "pulsed" | | 12 | "fluttered" | | 13 | "marble" | | 14 | "etched" | | 15 | "echo" | | 16 | "weight" | | 17 | "measured" | | 18 | "depths" |
| |
| 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 | 124 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 124 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 133 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 45 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1696 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 92.53% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 46 | | wordCount | 1479 | | uniqueNames | 14 | | maxNameDensity | 1.15 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Nyx" | | discoveredNames | | Carter | 1 | | Richmond | 1 | | Park | 1 | | Faint | 2 | | Heartstone | 2 | | Nyx | 9 | | Fae | 2 | | Isolde | 3 | | Rory | 17 | | Yu-Fei | 1 | | Hel | 2 | | Fae-touched | 1 | | Earth | 1 | | One | 3 |
| | persons | | 0 | "Carter" | | 1 | "Heartstone" | | 2 | "Nyx" | | 3 | "Fae" | | 4 | "Isolde" | | 5 | "Rory" | | 6 | "Yu-Fei" | | 7 | "One" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Faint" |
| | globalScore | 0.925 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 90 | | glossingSentenceCount | 1 | | matches | | 0 | "appeared behind a curtain of hanging moss that had not existed moments earlier" |
| |
| 82.08% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.179 | | wordCount | 1696 | | matches | | 0 | "not fear of monsters but the deeper dread of losing count, of scanning the sky" | | 1 | "not the warm warning of a Hel tear but a cooler awareness, curiosity answering curiosity" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 133 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 31 | | mean | 54.71 | | std | 29.57 | | cv | 0.541 | | sampleLengths | | 0 | 91 | | 1 | 42 | | 2 | 23 | | 3 | 89 | | 4 | 92 | | 5 | 3 | | 6 | 44 | | 7 | 46 | | 8 | 68 | | 9 | 115 | | 10 | 33 | | 11 | 59 | | 12 | 67 | | 13 | 26 | | 14 | 53 | | 15 | 45 | | 16 | 80 | | 17 | 46 | | 18 | 30 | | 19 | 18 | | 20 | 79 | | 21 | 64 | | 22 | 71 | | 23 | 29 | | 24 | 86 | | 25 | 63 | | 26 | 85 | | 27 | 25 | | 28 | 16 | | 29 | 105 | | 30 | 3 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 124 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 256 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 2 | | flaggedSentences | 13 | | totalSentences | 133 | | ratio | 0.098 | | matches | | 0 | "The oak’s bark carried grooves cut by no craftsman’s blade—spirals that started as shallow crooked paths and bottlenecked into knife-edge whorls looping back upon themselves." | | 1 | "The Heartstone pendant on its silver chain against her collarbone held only its usual faint inner glow; no new warmth stirred." | | 2 | "Tiny points of light rose from the stream banks—not fireflies, too irregular, more like fragments of moonlight given wings." | | 3 | "A structure emerged between the trees—an arch woven from living willow and flowering vines." | | 4 | "She felt the first prickle of unease crawl up her spine—not fear of monsters but the deeper dread of losing count, of scanning the sky and finding no sun or moon to mark hours." | | 5 | "She counted twelve soft metallic notes before the next parkland thought—an image of lower-deck buses, of Yu-Fei’s soy-sauce steamed dumplings waiting to be bagged—faded to nothing, erased by perfume of wildflowers that now grew thick enough to brush her elbows." | | 6 | "Faint music drifted from that direction—a low piping that rose and fell like breath through reed tubes." | | 7 | "Beneath the water something large turned; a longer shadow slid beneath the surface then settled." | | 8 | "Notes now carried words Rory almost understood—names for colours that no human eye had language for, invitations spoken in riddles she had not yet earned the right to solve." | | 9 | "Inside that dust she glimpsed moving figures—dancers on a floor of living marble, wings half-unfurled like stained glass catching candlelight." | | 10 | "Fireflies—if fireflies they still were—swam in slow orbits around clusters of hanging lantern fruit whose skins gave off gentle heat when she passed." | | 11 | "Beyond lay a chamber open to sky that was not sky—story-high banks of luminous mist drifting among low hanging constellations that pulsed mute colours." | | 12 | "Shapes moved within—slender silhouettes of figures half made of petal and half of shadow, watching without eyes." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 288 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 5 | | adverbRatio | 0.017361111111111112 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.003472222222222222 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 133 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 133 | | mean | 12.75 | | std | 8.41 | | cv | 0.66 | | sampleLengths | | 0 | 21 | | 1 | 21 | | 2 | 5 | | 3 | 6 | | 4 | 19 | | 5 | 19 | | 6 | 20 | | 7 | 10 | | 8 | 12 | | 9 | 23 | | 10 | 9 | | 11 | 25 | | 12 | 15 | | 13 | 5 | | 14 | 21 | | 15 | 14 | | 16 | 3 | | 17 | 19 | | 18 | 7 | | 19 | 16 | | 20 | 19 | | 21 | 3 | | 22 | 4 | | 23 | 21 | | 24 | 3 | | 25 | 10 | | 26 | 34 | | 27 | 7 | | 28 | 32 | | 29 | 7 | | 30 | 3 | | 31 | 22 | | 32 | 3 | | 33 | 12 | | 34 | 14 | | 35 | 14 | | 36 | 14 | | 37 | 7 | | 38 | 20 | | 39 | 4 | | 40 | 25 | | 41 | 3 | | 42 | 21 | | 43 | 3 | | 44 | 18 | | 45 | 4 | | 46 | 29 | | 47 | 7 | | 48 | 9 | | 49 | 8 |
| |
| 66.92% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.40601503759398494 | | totalSentences | 133 | | uniqueOpeners | 54 | |
| 56.02% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 119 | | matches | | 0 | "Instead a low resonance built" | | 1 | "Only then did Rory dare" |
| | ratio | 0.017 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 25 | | totalSentences | 119 | | matches | | 0 | "Their voice arrived on that" | | 1 | "She yanked her hand back." | | 2 | "She moved forward." | | 3 | "Its water ran clear yet" | | 4 | "She rolled her shoulders and" | | 5 | "She matched her breathing to" | | 6 | "She turned it." | | 7 | "She glanced back the way" | | 8 | "They had shifted, or the" | | 9 | "Her watch had stopped." | | 10 | "She felt the first prickle" | | 11 | "It hung forever at the" | | 12 | "Her voice came out steadier" | | 13 | "She counted twelve soft metallic" | | 14 | "Her reflection stared back, then" | | 15 | "She stepped back." | | 16 | "They crossed the black pool’s" | | 17 | "She brushed a cap with" | | 18 | "She walked further." | | 19 | "Her pendant shifted once against" |
| | ratio | 0.21 | |
| 56.64% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 96 | | totalSentences | 119 | | matches | | 0 | "Aurora Carter stepped between the" | | 1 | "The next, that world vanished." | | 2 | "Warmth rose from the spongy" | | 3 | "Wildflowers blanketed every open space" | | 4 | "Petals swayed without wind yet" | | 5 | "Nyx flowed after her, their" | | 6 | "Their voice arrived on that" | | 7 | "Rory ran a fingertip along" | | 8 | "The oak’s bark carried grooves" | | 9 | "A pulse answered her touch," | | 10 | "She yanked her hand back." | | 11 | "The Heartstone pendant on its" | | 12 | "Relief and disappointment warred a" | | 13 | "She moved forward." | | 14 | "Grass reached mid-shin, each blade" | | 15 | "A stream wound through the" | | 16 | "Its water ran clear yet" | | 17 | "Rory opened her palm." | | 18 | "The light settled there a" | | 19 | "Nyx glided beside her, feet" |
| | ratio | 0.807 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 119 | | matches | (empty) | | ratio | 0 | |
| 65.93% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 65 | | technicalSentenceCount | 7 | | matches | | 0 | "The oak’s bark carried grooves cut by no craftsman’s blade—spirals that started as shallow crooked paths and bottlenecked into knife-edge whorls looping back up…" | | 1 | "The light settled there a heartbeat, cool as river stone, then dissolved into sparks that sank through her skin without heat." | | 2 | "The sparks left a tingle that raced up her arm and settled behind her eyes as a faint ache, not pain exactly, more the muscle memory of a song half-heard then l…" | | 3 | "The surface lay motionless, yet Rory sensed depth that went somewhere else." | | 4 | "The wood twitched under her fingers, then peeled open in slow petals that released the scent of old parchment and fresh rain." | | 5 | "Beyond lay a chamber open to sky that was not sky—story-high banks of luminous mist drifting among low hanging constellations that pulsed mute colours." | | 6 | "Its shape clarified into a tall woman of silver hair that fell to the floor like poured mercury, eyes the colour of pale lavender that held depths something old…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 2 | | fancyTags | | 0 | "Nyx whispered (whisper)" | | 1 | "she muttered (mutter)" |
| | dialogueSentences | 13 | | tagDensity | 0.231 | | leniency | 0.462 | | rawRatio | 0.667 | | effectiveRatio | 0.308 | |