| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 2 | | adverbTags | | 0 | "Isolde turned away [away]" | | 1 | "she smiled again [again]" |
| | dialogueSentences | 38 | | tagDensity | 0.526 | | leniency | 1 | | rawRatio | 0.1 | | effectiveRatio | 0.1 | |
| 88.74% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1332 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "slowly" | | 1 | "very" | | 2 | "carefully" |
| |
| 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.43% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1332 | | totalAiIsms | 18 | | found | | | highlights | | 0 | "pulsed" | | 1 | "shimmered" | | 2 | "familiar" | | 3 | "wavering" | | 4 | "whisper" | | 5 | "rhythmic" | | 6 | "weight" | | 7 | "warmth" | | 8 | "flickered" | | 9 | "footsteps" | | 10 | "pulse" | | 11 | "chill" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "weight of words/silence" | | count | 1 |
|
| | highlights | | 0 | "the weight of the moment" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 64 | | matches | (empty) | |
| 53.57% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 4 | | narrationSentences | 64 | | filterMatches | (empty) | | hedgeMatches | | 0 | "appeared to" | | 1 | "seemed to" | | 2 | "began to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 82 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 37 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1325 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 13 | | unquotedAttributions | 0 | | matches | (empty) | |
| 50.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 43 | | wordCount | 1005 | | uniqueNames | 10 | | maxNameDensity | 1.09 | | worstName | "Rory" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Isolde" | | discoveredNames | | Richmond | 1 | | Park | 1 | | Heartstone | 1 | | Fae | 4 | | Nyx | 10 | | Rory | 11 | | Isolde | 11 | | Varga | 1 | | Aurora | 2 | | Carter | 1 |
| | persons | | 0 | "Nyx" | | 1 | "Rory" | | 2 | "Isolde" | | 3 | "Aurora" | | 4 | "Carter" |
| | places | | | globalScore | 0.953 | | windowScore | 0.5 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 52 | | glossingSentenceCount | 6 | | matches | | 0 | "quite match the shapes that made them" | | 1 | "appeared muted washed out, as though she were viewing it through fogged glass" | | 2 | "looked like ordinary earth" | | 3 | "something like it, high and wavering and hau" | | 4 | "seemed grown rather than built—walls of living wood, roofs of woven leaves, doorways that opened onto rooms that shouldn't have fit inside the spaces containing them" | | 5 | "as if responding to the weight of the moment" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1325 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 82 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 38 | | mean | 34.87 | | std | 21.33 | | cv | 0.612 | | sampleLengths | | 0 | 80 | | 1 | 48 | | 2 | 14 | | 3 | 43 | | 4 | 25 | | 5 | 30 | | 6 | 89 | | 7 | 13 | | 8 | 65 | | 9 | 10 | | 10 | 57 | | 11 | 33 | | 12 | 10 | | 13 | 34 | | 14 | 90 | | 15 | 14 | | 16 | 43 | | 17 | 57 | | 18 | 32 | | 19 | 30 | | 20 | 42 | | 21 | 6 | | 22 | 19 | | 23 | 16 | | 24 | 38 | | 25 | 31 | | 26 | 21 | | 27 | 57 | | 28 | 16 | | 29 | 38 | | 30 | 21 | | 31 | 17 | | 32 | 17 | | 33 | 58 | | 34 | 25 | | 35 | 39 | | 36 | 19 | | 37 | 28 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 64 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 170 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 82 | | ratio | 0.085 | | matches | | 0 | "No canopy should have produced light like that—soft and golden, with no visible source, casting shadows that didn't quite match the shapes that made them." | | 1 | "Wildflowers burst from every surface—between the roots of ancient oaks, along the bases of the standing stones, even from cracks in what appeared to be a crumbling stone path that wound deeper into the clearing." | | 2 | "A sound reached them—music, or something like it, high and wavering and hauntingly beautiful." | | 3 | "Trees gave way to structures that seemed grown rather than built—walls of living wood, roofs of woven leaves, doorways that opened onto rooms that shouldn't have fit inside the spaces containing them." | | 4 | "She looked exactly as she always did—ageless and terrible in her beauty, silver hair pooling around her like liquid moonlight, pale lavender eyes that reflected nothing because nothing had ever touched her that she hadn't allowed." | | 5 | "A sound reached them from beyond the chamber—footsteps, or the suggestion of footsteps, approaching along paths that wound through impossible geometries." | | 6 | "\"Listen well. Move carefully. And whatever choices present themselves—\" she smiled again, that terrible beautiful expression \"—remember that the Fae never give without taking, and never take without giving.\"" |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 967 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 36 | | adverbRatio | 0.03722854188210962 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.009307135470527405 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 82 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 82 | | mean | 16.16 | | std | 9.44 | | cv | 0.584 | | sampleLengths | | 0 | 16 | | 1 | 29 | | 2 | 35 | | 3 | 23 | | 4 | 25 | | 5 | 4 | | 6 | 10 | | 7 | 6 | | 8 | 18 | | 9 | 19 | | 10 | 20 | | 11 | 5 | | 12 | 24 | | 13 | 6 | | 14 | 19 | | 15 | 35 | | 16 | 35 | | 17 | 5 | | 18 | 8 | | 19 | 6 | | 20 | 26 | | 21 | 33 | | 22 | 6 | | 23 | 4 | | 24 | 19 | | 25 | 19 | | 26 | 19 | | 27 | 14 | | 28 | 19 | | 29 | 10 | | 30 | 3 | | 31 | 14 | | 32 | 17 | | 33 | 24 | | 34 | 32 | | 35 | 34 | | 36 | 10 | | 37 | 4 | | 38 | 12 | | 39 | 17 | | 40 | 14 | | 41 | 36 | | 42 | 4 | | 43 | 17 | | 44 | 5 | | 45 | 17 | | 46 | 10 | | 47 | 24 | | 48 | 6 | | 49 | 23 |
| |
| 45.12% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.36585365853658536 | | totalSentences | 82 | | uniqueOpeners | 30 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 58 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 15 | | totalSentences | 58 | | matches | | 0 | "Their voice carried the texture" | | 1 | "They were colors she had" | | 2 | "She breathed and felt lighter." | | 3 | "Her shoulders dropped an inch" | | 4 | "Its surface reflected a sky" | | 5 | "It seemed to come from" | | 6 | "She thought of the Fae" | | 7 | "They passed through a archway" | | 8 | "It was round and high-ceilinged," | | 9 | "She looked exactly as she" | | 10 | "She wore no shoes." | | 11 | "Her feet, when she rose" | | 12 | "Her voice filled the space" | | 13 | "she said, her voice steadier" | | 14 | "she smiled again, that terrible" |
| | ratio | 0.259 | |
| 3.10% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 53 | | totalSentences | 58 | | matches | | 0 | "The oak standing stones rose" | | 1 | "Aurora had walked through Richmond" | | 2 | "The Heartstone pendant pulsed against" | | 3 | "Nyx materialized beside her in" | | 4 | "Their voice carried the texture" | | 5 | "Rory looked back over her" | | 6 | "The park beyond the stones" | | 7 | "The entrance behind her had" | | 8 | "Rory touched the Fae blade" | | 9 | "Nyx drifted forward, their form" | | 10 | "The ground beneath Rory's feet" | | 11 | "Wildflowers burst from every surface—between" | | 12 | "They were colors she had" | | 13 | "She breathed and felt lighter." | | 14 | "Her shoulders dropped an inch" | | 15 | "The grove revealed itself in" | | 16 | "Nyx moved through the space" | | 17 | "Nyx paused beside a pool" | | 18 | "Its surface reflected a sky" | | 19 | "A sound reached them—music, or" |
| | ratio | 0.914 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 58 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 34 | | technicalSentenceCount | 8 | | matches | | 0 | "The Heartstone pendant pulsed against her chest, warm and insistent, and she wondered if that was the thing that had shown her the path or if something else had…" | | 1 | "Nyx materialized beside her in a curl of darkness, their violet eyes catching the strange amber light that filtered through the canopy overhead." | | 2 | "No canopy should have produced light like that—soft and golden, with no visible source, casting shadows that didn't quite match the shapes that made them." | | 3 | "The park beyond the stones appeared muted, washed out, as though she were viewing it through fogged glass." | | 4 | "Nyx moved through the space like they belonged there, their form flickering between solid and smoke, and Rory found herself reaching out to touch their arm just…" | | 5 | "Its surface reflected a sky that wasn't the amber above them but a deep violet scattered with unfamiliar stars." | | 6 | "Trees gave way to structures that seemed grown rather than built—walls of living wood, roofs of woven leaves, doorways that opened onto rooms that shouldn't hav…" | | 7 | "A sound reached them from beyond the chamber—footsteps, or the suggestion of footsteps, approaching along paths that wound through impossible geometries." |
| |
| 50.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 3 | | matches | | 0 | "Isolde smiled, and the expression transformed her face into something both beautiful and deeply unsettling" | | 1 | "she said, her voice steadier than she felt" | | 2 | "Isolde turned away, her silver hair catching the dim light and scattering it" |
| |
| 97.37% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 2 | | fancyTags | | 0 | "Nyx whispered (whisper)" | | 1 | "Isolde murmured (murmur)" |
| | dialogueSentences | 38 | | tagDensity | 0.184 | | leniency | 0.368 | | rawRatio | 0.286 | | effectiveRatio | 0.105 | |