| 97.37% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 1 | | adverbTags | | 0 | "Nyx's whisper curled around [around]" |
| | dialogueSentences | 19 | | tagDensity | 0.474 | | leniency | 0.947 | | rawRatio | 0.111 | | effectiveRatio | 0.105 | |
| 70.56% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1019 | | totalAiIsmAdverbs | 6 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | adverb | "ever so slightly" | | count | 1 |
|
| | highlights | | 0 | "suddenly" | | 1 | "sweetly" | | 2 | "quickly" | | 3 | "slowly" | | 4 | "ever so slightly" |
| |
| 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) | |
| 21.49% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1019 | | totalAiIsms | 16 | | found | | 0 | | | 1 | | | 2 | | word | "down her spine" | | count | 1 |
| | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | |
| | highlights | | 0 | "pulsed" | | 1 | "throbbed" | | 2 | "down her spine" | | 3 | "flickered" | | 4 | "whisper" | | 5 | "glistening" | | 6 | "fractured" | | 7 | "traced" | | 8 | "stomach" | | 9 | "lurched" | | 10 | "streaming" | | 11 | "charged" | | 12 | "silence" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "shiver down spine" | | count | 1 |
|
| | highlights | | 0 | "A shiver ran down her spine" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 62 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 62 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 72 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 35 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 999 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 3 | | unquotedAttributions | 0 | | matches | (empty) | |
| 58.88% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 40 | | wordCount | 878 | | uniqueNames | 7 | | maxNameDensity | 1.82 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Rory" | | discoveredNames | | Heartstone | 1 | | Rory | 16 | | Nyx | 8 | | Isolde | 11 | | Fae-forged | 1 | | Park | 1 | | Fae | 2 |
| | persons | | | places | | | globalScore | 0.589 | | windowScore | 0.833 | |
| 60.71% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 56 | | glossingSentenceCount | 2 | | matches | | 0 | "something like sap that caught the dim light" | | 1 | "seemed deliberate" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 2.002 | | wordCount | 999 | | matches | | 0 | "not the sky above but constellations Rory didn't recognize" | | 1 | "not with water but with images" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 72 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 29 | | mean | 34.45 | | std | 18.11 | | cv | 0.526 | | sampleLengths | | 0 | 60 | | 1 | 25 | | 2 | 40 | | 3 | 31 | | 4 | 80 | | 5 | 18 | | 6 | 54 | | 7 | 42 | | 8 | 42 | | 9 | 29 | | 10 | 14 | | 11 | 75 | | 12 | 9 | | 13 | 52 | | 14 | 29 | | 15 | 36 | | 16 | 45 | | 17 | 37 | | 18 | 25 | | 19 | 44 | | 20 | 32 | | 21 | 18 | | 22 | 16 | | 23 | 46 | | 24 | 11 | | 25 | 2 | | 26 | 34 | | 27 | 23 | | 28 | 30 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 62 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 149 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 72 | | ratio | 0.167 | | matches | | 0 | "A shiver ran down her spine—part fear, part exhilaration—as the air thickened with the scent of honeysuckle and wet earth." | | 1 | "She rubbed at it absently as they followed Isolde between the tree trunks—if they could be called that." | | 2 | "Ahead, the canopy opened suddenly, revealing a clearing dotted with flowers that shouldn't have existed—blossoms the color of fresh bruises, petals edged in silver, stamen that glowed faintly blue." | | 3 | "The reflection shifted—stars rearranging themselves into what might have been a face." | | 4 | "The surface erupted, not with water but with images—a feast hall draped in amber silks, tables groaning under platters of fruit that gleamed like jewels, goblets overflowing with wine the color of fresh blood." | | 5 | "Figures moved through the vision—some human, others not, their features too sharp, teeth too white." | | 6 | "The vision twisted—showing now a marketplace where stalls sold cuts of meat Rory didn't recognize, skinned creatures hanging from hooks, their scales still iridescent in death." | | 7 | "\"Many things have happened without my knowing. The threads tangle.\" She reached out, plucked a flower from the bank—the petals blackening and curling instantly in her palm." | | 8 | "For a second, her reflection didn't match—the woman in the water wore a crown of bone, her eyes twin pits of darkness—before it righted itself." | | 9 | "Once, Rory could have sworn something brushed her ankle—something cool and slick that retreated too quickly when she startled." | | 10 | "Behind her, the grove exhaled—a sigh that carried the faintest laughter." | | 11 | "Rory pressed a hand to her chest—the pendant quiet now, inert as any ordinary stone." |
| |
| 88.60% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 888 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 41 | | adverbRatio | 0.04617117117117117 | | lyAdverbCount | 14 | | lyAdverbRatio | 0.015765765765765764 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 72 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 72 | | mean | 13.88 | | std | 7.3 | | cv | 0.526 | | sampleLengths | | 0 | 18 | | 1 | 22 | | 2 | 20 | | 3 | 19 | | 4 | 6 | | 5 | 8 | | 6 | 19 | | 7 | 13 | | 8 | 6 | | 9 | 9 | | 10 | 16 | | 11 | 9 | | 12 | 18 | | 13 | 21 | | 14 | 15 | | 15 | 17 | | 16 | 5 | | 17 | 13 | | 18 | 29 | | 19 | 25 | | 20 | 6 | | 21 | 16 | | 22 | 12 | | 23 | 8 | | 24 | 18 | | 25 | 14 | | 26 | 10 | | 27 | 21 | | 28 | 8 | | 29 | 14 | | 30 | 34 | | 31 | 15 | | 32 | 26 | | 33 | 3 | | 34 | 6 | | 35 | 26 | | 36 | 26 | | 37 | 3 | | 38 | 7 | | 39 | 19 | | 40 | 14 | | 41 | 17 | | 42 | 5 | | 43 | 9 | | 44 | 27 | | 45 | 9 | | 46 | 18 | | 47 | 9 | | 48 | 8 | | 49 | 2 |
| |
| 72.22% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.4583333333333333 | | totalSentences | 72 | | uniqueOpeners | 33 | |
| 55.56% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 60 | | matches | | 0 | "Once, Rory could have sworn" |
| | ratio | 0.017 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 11 | | totalSentences | 60 | | matches | | 0 | "Their shadow-form flickered at the" | | 1 | "she tilted her head \"—fluid" | | 2 | "She rubbed at it absently" | | 3 | "She yanked her hand back" | | 4 | "She traced a finger along" | | 5 | "Her pendant pulsed faster now," | | 6 | "She fumbled for it, fingers" | | 7 | "Their violet eyes flickered toward" | | 8 | "She reached out, plucked a" | | 9 | "She started toward the path," | | 10 | "She swallowed hard and turned" |
| | ratio | 0.183 | |
| 43.33% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 50 | | totalSentences | 60 | | matches | | 0 | "The Heartstone pendant pulsed against" | | 1 | "The oak monoliths towered around" | | 2 | "A shiver ran down her" | | 3 | "Isolde murmured from ahead, her" | | 4 | "Their shadow-form flickered at the" | | 5 | "Nyx's whisper curled around Rory's" | | 6 | "Isolde moved silently across the" | | 7 | "she tilted her head \"—fluid" | | 8 | "Rory's left wrist itched where" | | 9 | "She rubbed at it absently" | | 10 | "These trees grew twisted, their" | | 11 | "She yanked her hand back" | | 12 | "Nyx materialized at her shoulder." | | 13 | "Isolde knelt at the pool's" | | 14 | "She traced a finger along" | | 15 | "The reflection shifted—stars rearranging themselves" | | 16 | "Rory crouched beside her, the" | | 17 | "The pool smelled of ozone" | | 18 | "Her pendant pulsed faster now," | | 19 | "Nyx drifted to the far" |
| | ratio | 0.833 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 60 | | matches | (empty) | | ratio | 0 | |
| 23.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 36 | | technicalSentenceCount | 6 | | matches | | 0 | "The oak monoliths towered around them, their bark black with age and carved with spiraling sigils that throbbed with a sickly light." | | 1 | "These trees grew twisted, their bark glistening with something like sap that caught the dim light and fractured it into rainbows." | | 2 | "Ahead, the canopy opened suddenly, revealing a clearing dotted with flowers that shouldn't have existed—blossoms the color of fresh bruises, petals edged in sil…" | | 3 | "The surface erupted, not with water but with images—a feast hall draped in amber silks, tables groaning under platters of fruit that gleamed like jewels, goblet…" | | 4 | "And at the head of the table, a being with skin like polished onyx, his grin stretching impossibly wide as he bit into something that screamed." | | 5 | "The walk back felt shorter, the trees pressing closer, their branches twitching overhead." |
| |
| 13.89% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 2 | | matches | | 0 | "She traced, ripples spreading in patterns that seemed deliberate" | | 1 | "Isolde commanded, her voice ringing oddly in the charged air" |
| |
| 44.74% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 2 | | fancyTags | | 0 | "Isolde murmured (murmur)" | | 1 | "Isolde whispered (whisper)" |
| | dialogueSentences | 19 | | tagDensity | 0.105 | | leniency | 0.211 | | rawRatio | 1 | | effectiveRatio | 0.211 | |