| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 14 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 32 | | tagDensity | 0.438 | | leniency | 0.875 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1015 | | 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) | |
| 80.30% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1015 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "shimmered" | | 1 | "resolving" | | 2 | "pulse" | | 3 | "warmth" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "let out a breath" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 46 | | matches | (empty) | |
| 49.69% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 46 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 64 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 56 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1023 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 13 | | unquotedAttributions | 0 | | matches | (empty) | |
| 33.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 30 | | wordCount | 767 | | uniqueNames | 7 | | maxNameDensity | 1.83 | | worstName | "Rory" | | maxWindowNameDensity | 4 | | worstWindowName | "Rory" | | discoveredNames | | Nyx | 4 | | Isolde | 8 | | Rory | 14 | | Half-Fae | 1 | | Heartstone | 1 | | Pendant | 1 | | Deeper | 1 |
| | persons | | 0 | "Nyx" | | 1 | "Isolde" | | 2 | "Rory" | | 3 | "Half-Fae" | | 4 | "Pendant" |
| | places | (empty) | | globalScore | 0.587 | | windowScore | 0.333 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 38 | | glossingSentenceCount | 4 | | matches | | 0 | "yellows that seemed to hum audibly at the edge of hearing" | | 1 | "as if reading the question before Rory had fully formed it" | | 2 | "something like still water, black and glassy" | | 3 | "something between pity and recognition" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.978 | | wordCount | 1023 | | matches | | 0 | "not sound exactly, but a vibration felt in the teeth, in the small bones of the ear" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 64 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 35 | | mean | 29.23 | | std | 22.06 | | cv | 0.755 | | sampleLengths | | 0 | 42 | | 1 | 5 | | 2 | 42 | | 3 | 66 | | 4 | 15 | | 5 | 20 | | 6 | 61 | | 7 | 15 | | 8 | 31 | | 9 | 53 | | 10 | 8 | | 11 | 67 | | 12 | 45 | | 13 | 4 | | 14 | 6 | | 15 | 29 | | 16 | 2 | | 17 | 24 | | 18 | 11 | | 19 | 28 | | 20 | 77 | | 21 | 36 | | 22 | 4 | | 23 | 8 | | 24 | 62 | | 25 | 7 | | 26 | 28 | | 27 | 5 | | 28 | 6 | | 29 | 37 | | 30 | 30 | | 31 | 2 | | 32 | 40 | | 33 | 60 | | 34 | 47 |
| |
| 82.38% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 46 | | matches | | 0 | "were carved" | | 1 | "were — drifted" | | 2 | "was gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 149 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 64 | | ratio | 0.109 | | matches | | 0 | "Rory felt it before she saw it — a pressure against her skin, like walking into a room where everyone had just stopped talking about her." | | 1 | "Wildflowers she didn't have names for spilled in drifts of impossible color — blues that ached, yellows that seemed to hum audibly at the edge of hearing." | | 2 | "Rory tried it — a slow, deliberate slide of her gaze to the periphery — and for half a heartbeat the flowers were bones, white and delicate, arranged with the same careless abundance." | | 3 | "The path — if it could be called a path, since it seemed to exist only where their feet chose to fall — wound between standing stones older than the oaks that ringed the boundary." | | 4 | "Fireflies — if that's what they were — drifted between the trunks in slow, deliberate patterns, and when one drifted close enough Rory saw it wasn't an insect at all but a mote of pure light, no wings, no body, simply glowing and alive." | | 5 | "Deeper still, the grove began to hum — not sound exactly, but a vibration felt in the teeth, in the small bones of the ear." | | 6 | "\"The heart of the Grove does not welcome uninvited guests kindly. Walk only where I walk. Speak only when spoken to, if anything speaks. And Aurora—\" she turned, lavender eyes catching what little light there was and holding it like captured stars, \"—do not let it flatter you. Wonder is not the same as safety.\"" |
| |
| 91.49% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 716 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 34 | | adverbRatio | 0.04748603351955307 | | lyAdverbCount | 16 | | lyAdverbRatio | 0.0223463687150838 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 64 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 64 | | mean | 15.98 | | std | 11.75 | | cv | 0.735 | | sampleLengths | | 0 | 16 | | 1 | 26 | | 2 | 5 | | 3 | 27 | | 4 | 15 | | 5 | 28 | | 6 | 6 | | 7 | 32 | | 8 | 7 | | 9 | 8 | | 10 | 20 | | 11 | 12 | | 12 | 27 | | 13 | 10 | | 14 | 12 | | 15 | 15 | | 16 | 7 | | 17 | 24 | | 18 | 33 | | 19 | 20 | | 20 | 3 | | 21 | 5 | | 22 | 3 | | 23 | 35 | | 24 | 18 | | 25 | 11 | | 26 | 17 | | 27 | 28 | | 28 | 4 | | 29 | 6 | | 30 | 19 | | 31 | 10 | | 32 | 2 | | 33 | 13 | | 34 | 11 | | 35 | 11 | | 36 | 28 | | 37 | 3 | | 38 | 30 | | 39 | 44 | | 40 | 10 | | 41 | 26 | | 42 | 4 | | 43 | 8 | | 44 | 31 | | 45 | 13 | | 46 | 18 | | 47 | 6 | | 48 | 1 | | 49 | 16 |
| |
| 79.17% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.484375 | | totalSentences | 64 | | uniqueOpeners | 31 | |
| 81.30% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 41 | | matches | | 0 | "Somewhere close, water moved, though" |
| | ratio | 0.024 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 12 | | totalSentences | 41 | | matches | | 0 | "It shimmered faintly at the" | | 1 | "she said, and hated how" | | 2 | "She snapped her eyes back" | | 3 | "They went deeper." | | 4 | "She pressed two fingers to" | | 5 | "They pressed on." | | 6 | "They came to a clearing" | | 7 | "It stood, instead, looking back" | | 8 | "She stood up fast, heart" | | 9 | "Her reflection was gone now," | | 10 | "She let out a breath" | | 11 | "she turned, lavender eyes catching" |
| | ratio | 0.293 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 39 | | totalSentences | 41 | | matches | | 0 | "The oak stones marked the" | | 1 | "Rory felt it before she" | | 2 | "Nyx's voice curled out from" | | 3 | "Isolde had gone ahead without" | | 4 | "The ground here wasn't entirely" | | 5 | "It shimmered faintly at the" | | 6 | "Isolde said, not turning" | | 7 | "Rory looked down at the" | | 8 | "The grove opened before them" | | 9 | "Wildflowers she didn't have names" | | 10 | "The air smelled of crushed" | | 11 | "she said, and hated how" | | 12 | "Rory tried it — a" | | 13 | "She snapped her eyes back" | | 14 | "They went deeper." | | 15 | "The path — if it" | | 16 | "Some were carved with symbols" | | 17 | "Others were bare, weathered smooth," | | 18 | "Isolde said, as if reading" | | 19 | "The Heartstone Pendant warmed faintly" |
| | ratio | 0.951 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 41 | | matches | (empty) | | ratio | 0 | |
| 89.95% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 27 | | technicalSentenceCount | 2 | | matches | | 0 | "Isolde had gone ahead without them, silver hair catching light that had no clear source, and when Rory glanced down she understood why the Half-Fae left no foot…" | | 1 | "Wildflowers she didn't have names for spilled in drifts of impossible color — blues that ached, yellows that seemed to hum audibly at the edge of hearing." |
| |
| 17.86% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 14 | | uselessAdditionCount | 3 | | matches | | 0 | "Isolde said, not turning" | | 1 | "Isolde said, as if reading the question before Rory had fully formed it" | | 2 | "Isolde said, coming to stand beside her, gazing down without fear" |
| |
| 87.50% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 12 | | fancyCount | 2 | | fancyTags | | 0 | "Nyx murmured (murmur)" | | 1 | "Nyx observed (observe)" |
| | dialogueSentences | 32 | | tagDensity | 0.375 | | leniency | 0.75 | | rawRatio | 0.167 | | effectiveRatio | 0.125 | |