| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 19 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said slowly [slowly]" |
| | dialogueSentences | 43 | | tagDensity | 0.442 | | leniency | 0.884 | | rawRatio | 0.053 | | effectiveRatio | 0.047 | |
| 75.85% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1242 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "slightly" | | 1 | "slowly" | | 2 | "suddenly" | | 3 | "very" |
| |
| 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) | |
| 55.72% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1242 | | totalAiIsms | 11 | | found | | | highlights | | 0 | "comforting" | | 1 | "scanning" | | 2 | "resolved" | | 3 | "stomach" | | 4 | "echo" | | 5 | "pulse" | | 6 | "quickened" | | 7 | "whisper" | | 8 | "could feel" |
| |
| 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 | 69 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 69 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 93 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 43 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1258 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 61.31% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 37 | | wordCount | 902 | | uniqueNames | 8 | | maxNameDensity | 1.77 | | worstName | "Aurora" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Aurora" | | discoveredNames | | Aurora | 16 | | Heartstone | 1 | | Heat | 1 | | Isolde | 9 | | Golden | 1 | | Empress | 1 | | Shade | 1 | | Nyx | 7 |
| | persons | | 0 | "Aurora" | | 1 | "Heat" | | 2 | "Isolde" | | 3 | "Shade" | | 4 | "Nyx" |
| | places | | | globalScore | 0.613 | | windowScore | 0.833 | |
| 47.96% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 49 | | glossingSentenceCount | 2 | | matches | | 0 | "felt like a door slamming" | | 1 | "not quite an invitation, more an offering" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.795 | | wordCount | 1258 | | matches | | 0 | "not like sunset, nothing so temporary, but a deep permanent glow, as though the whole realm sat inside" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 93 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 42 | | mean | 29.95 | | std | 23.05 | | cv | 0.769 | | sampleLengths | | 0 | 20 | | 1 | 16 | | 2 | 56 | | 3 | 14 | | 4 | 19 | | 5 | 41 | | 6 | 8 | | 7 | 70 | | 8 | 9 | | 9 | 4 | | 10 | 24 | | 11 | 57 | | 12 | 9 | | 13 | 21 | | 14 | 55 | | 15 | 46 | | 16 | 3 | | 17 | 9 | | 18 | 11 | | 19 | 69 | | 20 | 9 | | 21 | 63 | | 22 | 4 | | 23 | 23 | | 24 | 42 | | 25 | 18 | | 26 | 42 | | 27 | 52 | | 28 | 21 | | 29 | 3 | | 30 | 17 | | 31 | 26 | | 32 | 42 | | 33 | 46 | | 34 | 41 | | 35 | 7 | | 36 | 19 | | 37 | 70 | | 38 | 38 | | 39 | 97 | | 40 | 7 | | 41 | 10 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 69 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 151 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 93 | | ratio | 0.129 | | matches | | 0 | "The sky burned amber — not like sunset, nothing so temporary, but a deep permanent glow, as though the whole realm sat inside a lantern." | | 1 | "Clusters of them hung at every height — some no bigger than plums, others the size of her head, translucent skins holding something dark and slowly swirling inside." | | 2 | "Every step released scent — crushed herbs, roasting sugar, the smoke of a fire somewhere far off." | | 3 | "It came from everywhere at once — strings, she thought, but the notes bent at the ends, curving back on themselves like a tune being eaten by its own echo." | | 4 | "Between the rows moved figures — people, or things wearing people — carrying baskets." | | 5 | "Aurora ran her hand along the wall and pulled it back — the stone was warm, body-warm, and faintly tacky, like bread dough." | | 6 | "\"Now she begins to see.\" Isolde led them under an archway carved with fat, looping shapes — fruits, joints of meat, loaves, all rendered in loving detail, some of them with faces." | | 7 | "Between the carved columns, Aurora caught glimpses of a hall ahead — long tables, movement, the flash of lamplight on glass." | | 8 | "Aurora gasped — she hadn't known she was holding her breath." | | 9 | "\"The hall is where the path leads, whether we wish it or not. Beyond it lies the lower vineyard, and beneath the lower vineyard, the thing your pendant beats for.\" She extended one hand toward Aurora — not quite an invitation, more an offering." | | 10 | "Isolde's skin was cool, cool as the moonsilver blade strapped flat against her back, and the contrast steadied her — cold knife, warm stone, hot pendant." | | 11 | "Figures turned to look at them — slowly, all at once, dozens of faces with shining, curious eyes — and somewhere beneath the music, beneath the clink of glass and the low delighted murmur of the feast, Aurora heard something deeper." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 892 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 34 | | adverbRatio | 0.03811659192825112 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.006726457399103139 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 93 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 93 | | mean | 13.53 | | std | 10.39 | | cv | 0.768 | | sampleLengths | | 0 | 20 | | 1 | 10 | | 2 | 6 | | 3 | 8 | | 4 | 25 | | 5 | 23 | | 6 | 7 | | 7 | 1 | | 8 | 1 | | 9 | 5 | | 10 | 14 | | 11 | 5 | | 12 | 23 | | 13 | 12 | | 14 | 6 | | 15 | 8 | | 16 | 11 | | 17 | 31 | | 18 | 28 | | 19 | 9 | | 20 | 4 | | 21 | 12 | | 22 | 12 | | 23 | 12 | | 24 | 13 | | 25 | 17 | | 26 | 15 | | 27 | 4 | | 28 | 5 | | 29 | 15 | | 30 | 6 | | 31 | 29 | | 32 | 26 | | 33 | 13 | | 34 | 3 | | 35 | 30 | | 36 | 3 | | 37 | 4 | | 38 | 5 | | 39 | 11 | | 40 | 10 | | 41 | 31 | | 42 | 14 | | 43 | 9 | | 44 | 5 | | 45 | 6 | | 46 | 3 | | 47 | 23 | | 48 | 40 | | 49 | 4 |
| |
| 91.76% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.5698924731182796 | | totalSentences | 93 | | uniqueOpeners | 53 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 63 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 15 | | totalSentences | 63 | | matches | | 0 | "It warmed her face the" | | 1 | "she said, closing her fist" | | 2 | "She walked toward the nearest" | | 3 | "They followed Isolde deeper, along" | | 4 | "Her stomach growled, loud in" | | 5 | "She'd grabbed toast between deliveries" | | 6 | "It came from everywhere at" | | 7 | "Their movements had a rhythm" | | 8 | "They descended a stair cut" | | 9 | "she said slowly" | | 10 | "Her mouth filled with saliva" | | 11 | "She forced her eyelids down." | | 12 | "she said, and her voice" | | 13 | "She extended one hand toward" | | 14 | "They passed under the arch" |
| | ratio | 0.238 | |
| 15.56% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 56 | | totalSentences | 63 | | matches | | 0 | "The portal spat them out" | | 1 | "Nyx said, their shadow-fingers already" | | 2 | "Aurora rose, breath caught somewhere" | | 3 | "The sky burned amber —" | | 4 | "It warmed her face the" | | 5 | "The Heartstone pendant thumped against" | | 6 | "A heartbeat that wasn't hers." | | 7 | "she said, closing her fist" | | 8 | "Heat bled through her fingers." | | 9 | "Isolde stood a few paces" | | 10 | "The seer's feet rested atop" | | 11 | "Nyx murmured, violet eyes scanning" | | 12 | "She walked toward the nearest" | | 13 | "Clusters of them hung at" | | 14 | "Isolde said, before Aurora's hand" | | 15 | "The seer drifted past her" | | 16 | "They followed Isolde deeper, along" | | 17 | "Aurora's trainers sank into soil" | | 18 | "Every step released scent —" | | 19 | "Her stomach growled, loud in" |
| | ratio | 0.889 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 63 | | matches | (empty) | | ratio | 0 | |
| 68.97% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 29 | | technicalSentenceCount | 3 | | matches | | 0 | "The sky burned amber — not like sunset, nothing so temporary, but a deep permanent glow, as though the whole realm sat inside a lantern." | | 1 | "She walked toward the nearest one, and the shape resolved: a vine thick as a church pillar, spiralling up into the amber haze, heavy with fruit that gleamed lik…" | | 2 | "The hall opened around them like a held breath released: tables stretching beyond sight, heaped with dishes Aurora had no names for, towers of confectionery tha…" |
| |
| 98.68% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 19 | | uselessAdditionCount | 1 | | matches | | 0 | "Nyx said, their shadow-fingers already hooked under her elbow" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 43 | | tagDensity | 0.186 | | leniency | 0.372 | | rawRatio | 0.125 | | effectiveRatio | 0.047 | |