| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 14 | | tagDensity | 0.643 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 96.41% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1393 | | totalAiIsmAdverbs | 1 | | found | | | highlights | | |
| 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) | |
| 10.27% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1393 | | totalAiIsms | 25 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | word | "the last thing" | | count | 1 |
|
| | highlights | | 0 | "chill" | | 1 | "warmth" | | 2 | "silence" | | 3 | "loomed" | | 4 | "could feel" | | 5 | "pulse" | | 6 | "footsteps" | | 7 | "echo" | | 8 | "perfect" | | 9 | "weight" | | 10 | "familiar" | | 11 | "throbbed" | | 12 | "flickered" | | 13 | "echoed" | | 14 | "the last thing" |
| |
| 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 | 63 | | matches | (empty) | |
| 52.15% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 3 | | narrationSentences | 63 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 68 | | 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 | 1405 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 13 | | wordCount | 1327 | | uniqueNames | 6 | | maxNameDensity | 0.6 | | worstName | "Aurora" | | maxWindowNameDensity | 1 | | worstWindowName | "Aurora" | | discoveredNames | | Richmond | 1 | | Park | 1 | | Golden | 1 | | Empress | 1 | | Fae-touched | 1 | | Aurora | 8 |
| | persons | | | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Golden" |
| | globalScore | 1 | | windowScore | 1 | |
| 25.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 60 | | glossingSentenceCount | 3 | | matches | | 0 | "felt like a mistake" | | 1 | "not quite human" | | 2 | "not quite her mother's, and the pendant went cold against her chest, leaving only the echo of its warmth and the certainty that she was not alone, never had been, and never would be" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.712 | | wordCount | 1405 | | matches | | 0 | "Not the absence of sound, but the wrongness of it" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 68 | | matches | (empty) | |
| 57.96% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 29 | | mean | 48.45 | | std | 17.1 | | cv | 0.353 | | sampleLengths | | 0 | 72 | | 1 | 63 | | 2 | 45 | | 3 | 63 | | 4 | 16 | | 5 | 79 | | 6 | 26 | | 7 | 65 | | 8 | 79 | | 9 | 54 | | 10 | 52 | | 11 | 48 | | 12 | 55 | | 13 | 35 | | 14 | 56 | | 15 | 15 | | 16 | 54 | | 17 | 41 | | 18 | 44 | | 19 | 56 | | 20 | 53 | | 21 | 41 | | 22 | 55 | | 23 | 59 | | 24 | 42 | | 25 | 45 | | 26 | 13 | | 27 | 24 | | 28 | 55 |
| |
| 88.55% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 63 | | matches | | 0 | "was gone" | | 1 | "were arranged" | | 2 | "was gone" |
| |
| 29.79% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 235 | | matches | | 0 | "was breathing" | | 1 | "was counting" | | 2 | "was talking" | | 3 | "was trying" | | 4 | "was matching" | | 5 | "wasn't counting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 68 | | ratio | 0.176 | | matches | | 0 | "She'd come here for a reason — something the pendant had been pulsing about for the past hour, a slow warmth against her collarbone that no rational part of her could ignore." | | 1 | "Not the absence of sound, but the wrongness of it — birds that should have been calling had gone quiet, and the usual rustle of foxes through the undergrowth had stilled." | | 2 | "The standing stones loomed ahead, their surfaces smooth and dark, and she noticed something that made her pause — the shadows they cast didn't match their positions." | | 3 | "She turned, but there was nothing there — just the dark line of trees and the faint, wrong glow of the flowers." | | 4 | "She'd walked this path dozens of times, but the landmarks were wrong — a fallen log that shouldn't have been there, a patch of flowers that bloomed in colors she'd never seen before." | | 5 | "The clearing opened up ahead, and she could see the old stone circle at its center — a place she'd never noticed before, despite walking this path countless times." | | 6 | "\"You shouldn't have come here,\" the figure said, but its voice was wrong — layered, like multiple people speaking at once, and the words came out backwards before rearranging themselves into something that made sense." | | 7 | "\"You left something behind,\" it said, and the voice was different now — younger, familiar, like someone she'd known long ago." | | 8 | "The pendant burned so fiercely she thought it might crack, and she realized with a jolt that it wasn't just warm — it was counting something." | | 9 | "The pendant's pulse slowed, and she realized it wasn't counting down — it was matching the rhythm of something else, something that lived in the space between heartbeats." | | 10 | "The wind picked up then, though there had been no wind before, and it carried scents that shouldn't exist — ozone and rain and something sweet and rotten all at once." | | 11 | "The pendant's pulse was so slow now she could count the seconds between each one, and with each pulse, she felt something slipping away — a memory, a feeling, a piece of herself that she couldn't name but knew she'd miss when it was gone." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1318 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small crescent-shaped scar" |
| | adverbCount | 45 | | adverbRatio | 0.03414264036418816 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.004552352048558422 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 68 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 68 | | mean | 20.66 | | std | 10.54 | | cv | 0.51 | | sampleLengths | | 0 | 26 | | 1 | 20 | | 2 | 26 | | 3 | 32 | | 4 | 31 | | 5 | 6 | | 6 | 31 | | 7 | 8 | | 8 | 15 | | 9 | 15 | | 10 | 33 | | 11 | 16 | | 12 | 35 | | 13 | 27 | | 14 | 17 | | 15 | 4 | | 16 | 4 | | 17 | 18 | | 18 | 5 | | 19 | 12 | | 20 | 22 | | 21 | 15 | | 22 | 11 | | 23 | 7 | | 24 | 16 | | 25 | 23 | | 26 | 33 | | 27 | 11 | | 28 | 13 | | 29 | 30 | | 30 | 11 | | 31 | 14 | | 32 | 27 | | 33 | 29 | | 34 | 19 | | 35 | 8 | | 36 | 16 | | 37 | 18 | | 38 | 13 | | 39 | 35 | | 40 | 16 | | 41 | 19 | | 42 | 21 | | 43 | 15 | | 44 | 30 | | 45 | 21 | | 46 | 3 | | 47 | 26 | | 48 | 15 | | 49 | 38 |
| |
| 35.29% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 11 | | diversityRatio | 0.3088235294117647 | | totalSentences | 68 | | uniqueOpeners | 21 | |
| 52.91% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 63 | | matches | | 0 | "Even the wind seemed to" |
| | ratio | 0.016 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 15 | | totalSentences | 63 | | matches | | 0 | "She'd come here for a" | | 1 | "It was warm now, almost" | | 2 | "she muttered to herself, but" | | 3 | "She shook her head." | | 4 | "She turned, but there was" | | 5 | "It was breathing, shallow and" | | 6 | "She'd walked this path dozens" | | 7 | "She told herself it was" | | 8 | "She broke into a jog," | | 9 | "It stood too still, its" | | 10 | "she called out, her voice" | | 11 | "it said, and the voice" | | 12 | "it said, and now its" | | 13 | "it said, and the words" | | 14 | "she whispered, and her voice" |
| | ratio | 0.238 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 58 | | totalSentences | 63 | | matches | | 0 | "The path through Richmond Park" | | 1 | "Aurora pulled her jacket tighter," | | 2 | "The standing stones marking the" | | 3 | "She'd come here for a" | | 4 | "The crimson gemstone had been" | | 5 | "The first wrongness was the" | | 6 | "Aurora stopped at the edge" | | 7 | "It was warm now, almost" | | 8 | "The wildflowers that bloomed year-round" | | 9 | "she muttered to herself, but" | | 10 | "The path curved deeper into" | | 11 | "The standing stones loomed ahead," | | 12 | "The moon was behind her," | | 13 | "She shook her head." | | 14 | "Trick of the light." | | 15 | "Trick of being tired, of" | | 16 | "A sound like fabric dragging" | | 17 | "She turned, but there was" | | 18 | "The sound came again, closer" | | 19 | "It was breathing, shallow and" |
| | ratio | 0.921 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 63 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 47 | | technicalSentenceCount | 10 | | matches | | 0 | "The standing stones marking the boundary of the Fae-touched grove stood dark against the moonless sky, their ancient oaks twisted into shapes that made her squi…" | | 1 | "The wildflowers that bloomed year-round in this place should have been silver and pale in the darkness, but she could swear some of them glowed faintly, their c…" | | 2 | "The path curved deeper into the grove, and she followed it, her boots crunching on fallen leaves that should have been crisp from autumn but felt soft underfoot…" | | 3 | "The standing stones loomed ahead, their surfaces smooth and dark, and she noticed something that made her pause — the shadows they cast didn't match their posit…" | | 4 | "She'd walked this path dozens of times, but the landmarks were wrong — a fallen log that shouldn't have been there, a patch of flowers that bloomed in colors sh…" | | 5 | "Aurora backed away, her boots sinking into the soft earth that felt wrong beneath her feet." | | 6 | "Aurora's hand went to her left wrist, where the small crescent-shaped scar from childhood throbbed with a pain that had nothing to do with injury." | | 7 | "The pendant's pulse slowed, and she realized it wasn't counting down — it was matching the rhythm of something else, something that lived in the space between h…" | | 8 | "The wind picked up then, though there had been no wind before, and it carried scents that shouldn't exist — ozone and rain and something sweet and rotten all at…" | | 9 | "The last thing she heard before the world tilted was her own name, spoken in a voice that was almost but not quite her mother's, and the pendant went cold again…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 5 | | matches | | 0 | "she muttered, but her voice sounded too loud in the stillness" | | 1 | "the figure said, but its voice was wrong — layered, like multiple people speaking at once, and the words came out backwards before rearranging themselves into something that made sense" | | 2 | "she called out, her voice shaking more than she wanted to admit" | | 3 | "it said, and the voice was different now — younger, familiar, like someone she'd known long ago" | | 4 | "it said, and the words echoed, bouncing off the stones and the trees and something else that lived in the spaces between" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 4 | | fancyTags | | 0 | "she muttered (mutter)" | | 1 | "she called out (call out)" | | 2 | "the figure continued (continue)" | | 3 | "she whispered (whisper)" |
| | dialogueSentences | 14 | | tagDensity | 0.643 | | leniency | 1 | | rawRatio | 0.444 | | effectiveRatio | 0.444 | |