| 94.74% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 1 | | adverbTags | | 0 | "Rory glanced back [back]" |
| | dialogueSentences | 19 | | tagDensity | 0.316 | | leniency | 0.632 | | rawRatio | 0.167 | | effectiveRatio | 0.105 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1282 | | 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) | |
| 25.90% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1282 | | totalAiIsms | 19 | | found | | | highlights | | 0 | "tapestry" | | 1 | "weight" | | 2 | "whisper" | | 3 | "pulsed" | | 4 | "warmth" | | 5 | "etched" | | 6 | "perfect" | | 7 | "depths" | | 8 | "silk" | | 9 | "shimmered" | | 10 | "flickered" | | 11 | "unravel" | | 12 | "lurched" | | 13 | "pulse" |
| |
| 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 | 109 | | matches | (empty) | |
| 77.33% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 5 | | narrationSentences | 109 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 121 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 39 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 2 | | totalWords | 1270 | | ratio | 0.002 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 78.15% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 39 | | wordCount | 1183 | | uniqueNames | 10 | | maxNameDensity | 1.44 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 17 | | London | 1 | | Eva | 1 | | Fae | 1 | | Isolde | 1 | | Heartstone | 3 | | Evan | 1 | | Nyx | 12 | | Richmond | 1 | | Park | 1 |
| | persons | | 0 | "Rory" | | 1 | "Eva" | | 2 | "Isolde" | | 3 | "Evan" | | 4 | "Nyx" |
| | places | | 0 | "London" | | 1 | "Richmond" | | 2 | "Park" |
| | globalScore | 0.781 | | windowScore | 0.833 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 80 | | glossingSentenceCount | 5 | | matches | | 0 | "whisper that seemed to come from everywhere and nowhere" | | 1 | "as if sensing the shift in the air" | | 2 | "as if beckoning" | | 3 | "looked like words" | | 4 | "appeared ahead the gap between them shimmering like a heat haze" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.787 | | wordCount | 1270 | | matches | | 0 | "Not the standing stones that marked the boundary, but a circle of them, half-buried in the earth, their surfaces w" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 121 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 31 | | mean | 40.97 | | std | 25.44 | | cv | 0.621 | | sampleLengths | | 0 | 93 | | 1 | 68 | | 2 | 62 | | 3 | 64 | | 4 | 72 | | 5 | 90 | | 6 | 41 | | 7 | 45 | | 8 | 55 | | 9 | 5 | | 10 | 78 | | 11 | 15 | | 12 | 53 | | 13 | 23 | | 14 | 33 | | 15 | 13 | | 16 | 63 | | 17 | 5 | | 18 | 13 | | 19 | 67 | | 20 | 8 | | 21 | 39 | | 22 | 30 | | 23 | 17 | | 24 | 55 | | 25 | 27 | | 26 | 36 | | 27 | 35 | | 28 | 45 | | 29 | 11 | | 30 | 9 |
| |
| 98.83% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 109 | | matches | | |
| 49.17% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 221 | | matches | | 0 | "were purring" | | 1 | "wasn’t looking" | | 2 | "was like standing" | | 3 | "was like diving" | | 4 | "was already dissolving" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 15 | | semicolonCount | 0 | | flaggedSentences | 14 | | totalSentences | 121 | | ratio | 0.116 | | matches | | 0 | "The light itself was wrong—soft, diffused, as though filtered through water." | | 1 | "Eva would’ve hated this—no clear path, no rules, just the creeping certainty that the world had tilted beneath their feet." | | 2 | "A fox—no, not a fox." | | 3 | "A woman with her mother’s sharp cheekbones and her father’s stubborn set to her jaw looked up at her, but her eyes—her eyes were the color of storm clouds, and they held a knowing that Rory didn’t possess." | | 4 | "The fox had vanished, but now there were others—dozens of them, their blue and silver forms darting between the trees like living shadows." | | 5 | "They weren’t like the oaks—these were older, their origins lost to memory." | | 6 | "The threads pulsed, and for a moment, she thought she saw shapes in them—faces, landscapes, things that might have been or were yet to come." | | 7 | "Nyx’s hand—solid for once—closed around her wrist." | | 8 | "She’d spent her life running from things—from Evan, from the law degree she’d never wanted, from the ghost of who she might have been." | | 9 | "But this—this was a pull, not a push." | | 10 | "It was like diving into ice water—the shock of it stole her breath, but beneath that was a clarity so sharp it hurt." | | 11 | "And then—" | | 12 | "The world lurched—" | | 13 | "—and they were back in Richmond Park, the winter air biting at her lungs." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1197 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 46 | | adverbRatio | 0.03842940685045948 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.003341687552213868 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 121 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 121 | | mean | 10.5 | | std | 6.75 | | cv | 0.643 | | sampleLengths | | 0 | 21 | | 1 | 18 | | 2 | 24 | | 3 | 19 | | 4 | 11 | | 5 | 11 | | 6 | 15 | | 7 | 22 | | 8 | 20 | | 9 | 20 | | 10 | 16 | | 11 | 12 | | 12 | 14 | | 13 | 5 | | 14 | 7 | | 15 | 5 | | 16 | 13 | | 17 | 18 | | 18 | 10 | | 19 | 6 | | 20 | 2 | | 21 | 20 | | 22 | 16 | | 23 | 22 | | 24 | 12 | | 25 | 21 | | 26 | 15 | | 27 | 10 | | 28 | 6 | | 29 | 38 | | 30 | 3 | | 31 | 18 | | 32 | 5 | | 33 | 15 | | 34 | 2 | | 35 | 8 | | 36 | 23 | | 37 | 12 | | 38 | 11 | | 39 | 17 | | 40 | 14 | | 41 | 3 | | 42 | 10 | | 43 | 5 | | 44 | 23 | | 45 | 12 | | 46 | 18 | | 47 | 25 | | 48 | 6 | | 49 | 4 |
| |
| 39.26% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.2809917355371901 | | totalSentences | 121 | | uniqueOpeners | 34 | |
| 65.36% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 102 | | matches | | 0 | "Then she saw the stones." | | 1 | "Only the faint scent of" |
| | ratio | 0.02 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 27 | | totalSentences | 102 | | matches | | 0 | "they murmured, their voice a" | | 1 | "She adjusted the strap of" | | 2 | "She exhaled, watching her breath" | | 3 | "Its fur was the deep" | | 4 | "It watched them for a" | | 5 | "She tore her gaze away," | | 6 | "It led them to a" | | 7 | "She jerked back." | | 8 | "She stood, brushing dirt from" | | 9 | "They didn’t approach, but their" | | 10 | "She reached for the Heartstone," | | 11 | "They weren’t like the oaks—these" | | 12 | "She reached out." | | 13 | "Their grip was cold, but" | | 14 | "It was like standing too" | | 15 | "She’d spent her life running" | | 16 | "She took a step forward." | | 17 | "It wasn’t pain." | | 18 | "It was like diving into" | | 19 | "She saw the thread stretch" |
| | ratio | 0.265 | |
| 4.12% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 93 | | totalSentences | 102 | | matches | | 0 | "The air smelled of crushed" | | 1 | "The world beyond the standing" | | 2 | "The grove stretched before her," | | 3 | "The trees here were too" | | 4 | "The light itself was wrong—soft," | | 5 | "Nyx materialized beside her, their" | | 6 | "they murmured, their voice a" | | 7 | "Rory glanced back, but the" | | 8 | "Eva would’ve hated this—no clear" | | 9 | "She adjusted the strap of" | | 10 | "The moonsilver dagger hummed faintly" | | 11 | "The Heartstone pendant at her" | | 12 | "She exhaled, watching her breath" | | 13 | "A rustle in the undergrowth." | | 14 | "Rory froze, hand drifting toward" | | 15 | "A fox—no, not a fox." | | 16 | "Its fur was the deep" | | 17 | "It watched them for a" | | 18 | "Nyx’s shadow stretched long and" | | 19 | "The ground beneath her boots" |
| | ratio | 0.912 | |
| 49.02% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 102 | | matches | | 0 | "—and they were back in" |
| | ratio | 0.01 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 57 | | technicalSentenceCount | 3 | | matches | | 0 | "The trees here were too tall, their trunks twisted with age, their leaves shimmering as if dusted with starlight." | | 1 | "It watched them for a long moment, then darted between the trees, its tail flicking as if beckoning." | | 2 | "The ground beneath her boots was spongy, thick with moss that didn’t crunch underfoot but yielded like a living thing." |
| |
| 41.67% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 6 | | uselessAdditionCount | 1 | | matches | | 0 | "they said, voice strained," |
| |
| 44.74% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 2 | | fancyTags | | 0 | "they murmured (murmur)" | | 1 | "they breathed (breathe)" |
| | dialogueSentences | 19 | | tagDensity | 0.211 | | leniency | 0.421 | | rawRatio | 0.5 | | effectiveRatio | 0.211 | |