| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 9 | | tagDensity | 0.556 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 90.51% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1054 | | totalAiIsmAdverbs | 2 | | 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) | |
| 52.56% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1054 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "loomed" | | 1 | "pulse" | | 2 | "silence" | | 3 | "whisper" | | 4 | "throbbed" | | 5 | "crystallized" | | 6 | "warmth" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 119 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 119 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 123 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 46 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1043 | | ratio | 0 | | matches | (empty) | |
| 83.33% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 1 | | matches | | 0 | "In a voice like roots grinding through old soil, it spoke one word." |
| |
| 93.65% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 28 | | wordCount | 976 | | uniqueNames | 12 | | maxNameDensity | 1.13 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 2 | | Grove | 2 | | Carter | 1 | | November | 1 | | Heartstone | 3 | | Yu-Fei | 1 | | Earth | 1 | | Fae | 1 | | Evan | 2 | | Park | 1 | | London | 2 | | Rory | 11 |
| | persons | | 0 | "Grove" | | 1 | "Carter" | | 2 | "Heartstone" | | 3 | "Evan" | | 4 | "Rory" |
| | places | | 0 | "Richmond" | | 1 | "November" | | 2 | "Park" | | 3 | "London" |
| | globalScore | 0.936 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 68 | | glossingSentenceCount | 1 | | matches | | 0 | "seemed closer than they had been moments before" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.959 | | wordCount | 1043 | | matches | | 0 | "Not with sound, but with motion" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 123 | | matches | | 0 | "dreams—that the" | | 1 | "wore that shape" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 42 | | mean | 24.83 | | std | 21.39 | | cv | 0.861 | | sampleLengths | | 0 | 60 | | 1 | 55 | | 2 | 7 | | 3 | 42 | | 4 | 17 | | 5 | 69 | | 6 | 93 | | 7 | 7 | | 8 | 4 | | 9 | 19 | | 10 | 14 | | 11 | 3 | | 12 | 38 | | 13 | 22 | | 14 | 42 | | 15 | 8 | | 16 | 34 | | 17 | 26 | | 18 | 5 | | 19 | 27 | | 20 | 30 | | 21 | 41 | | 22 | 7 | | 23 | 38 | | 24 | 18 | | 25 | 7 | | 26 | 69 | | 27 | 17 | | 28 | 41 | | 29 | 16 | | 30 | 19 | | 31 | 9 | | 32 | 4 | | 33 | 28 | | 34 | 13 | | 35 | 4 | | 36 | 21 | | 37 | 1 | | 38 | 51 | | 39 | 8 | | 40 | 6 | | 41 | 3 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 119 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 163 | | matches | | 0 | "was bleeding" | | 1 | "was not building" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 1 | | flaggedSentences | 8 | | totalSentences | 123 | | ratio | 0.065 | | matches | | 0 | "By day she delivered dumplings for Yu-Fei; by night she chased the pulse of this artifact." | | 1 | "The wildflowers parted not with wind—there was none—but with a motion that suggested fingers brushing through long hair." | | 2 | "To understand why an unknown benefactor had pressed this stone into her palm three months ago, why her left wrist—where the crescent scar marked old childhood metal—itched whenever the gem flared, and why the shadow of Evan still lingered in her sleep like smoke." | | 3 | "Their heads turned in unison toward a point in the center of the clearing—a circle of bare earth where nothing grew, not even the relentless wildflowers." | | 4 | "The unknown benefactor had warned her—through notes, through dreams—that the Grove was bleeding." | | 5 | "It wore the suggestion of a body—limbs too long, joints wrong, a face like a mask carved from pale oak bark." | | 6 | "Not with sound, but with motion—sudden, violent, petals tearing from stems in a spiral that moved outward from the bare circle." | | 7 | "The presence—or whatever wore that shape—tilted its head." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 989 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 29 | | adverbRatio | 0.029322548028311426 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.008088978766430738 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 123 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 123 | | mean | 8.48 | | std | 7.11 | | cv | 0.838 | | sampleLengths | | 0 | 19 | | 1 | 17 | | 2 | 3 | | 3 | 21 | | 4 | 25 | | 5 | 16 | | 6 | 5 | | 7 | 7 | | 8 | 2 | | 9 | 7 | | 10 | 9 | | 11 | 6 | | 12 | 7 | | 13 | 20 | | 14 | 8 | | 15 | 9 | | 16 | 3 | | 17 | 18 | | 18 | 17 | | 19 | 5 | | 20 | 3 | | 21 | 10 | | 22 | 7 | | 23 | 6 | | 24 | 3 | | 25 | 2 | | 26 | 5 | | 27 | 4 | | 28 | 17 | | 29 | 2 | | 30 | 4 | | 31 | 7 | | 32 | 5 | | 33 | 44 | | 34 | 7 | | 35 | 2 | | 36 | 2 | | 37 | 2 | | 38 | 17 | | 39 | 7 | | 40 | 7 | | 41 | 3 | | 42 | 3 | | 43 | 2 | | 44 | 7 | | 45 | 18 | | 46 | 8 | | 47 | 6 | | 48 | 10 | | 49 | 6 |
| |
| 44.99% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.3333333333333333 | | totalSentences | 123 | | uniqueOpeners | 41 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 101 | | matches | | 0 | "Somewhere to her left, an" | | 1 | "Only a standing stone, its" | | 2 | "Then she heard the whisper." | | 3 | "Then the flowers screamed." |
| | ratio | 0.04 | |
| 85.35% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 34 | | totalSentences | 101 | | matches | | 0 | "They had not." | | 1 | "She had come because the" | | 2 | "It had led her here." | | 3 | "Her shoulders tightened beneath her" | | 4 | "She walked deeper." | | 5 | "She turned her head quickly." | | 6 | "They stayed put." | | 7 | "It seared through her shirt." | | 8 | "She had not planned to" | | 9 | "She planned to map it." | | 10 | "she said, quieter now" | | 11 | "Her breath fogged despite the" | | 12 | "She moved forward, each step" | | 13 | "She snapped her gaze toward" | | 14 | "She forced her jaw loose." | | 15 | "She clutched it, feeling the" | | 16 | "Her fingers found the crescent" | | 17 | "It throbbed in time with" | | 18 | "Their heads turned in unison" | | 19 | "Its crimson glow lit her" |
| | ratio | 0.337 | |
| 59.01% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 81 | | totalSentences | 101 | | matches | | 0 | "The oak standing stones of" | | 1 | "Rory Carter stepped through the" | | 2 | "They had not." | | 3 | "Crimson poppies and white moonflowers" | | 4 | "She had come because the" | | 5 | "It had led her here." | | 6 | "The wrongness hit before her" | | 7 | "The air smelled of rain" | | 8 | "Her shoulders tightened beneath her" | | 9 | "The sound arrived a half-second" | | 10 | "Rory’s voice sounded flat, swallowed" | | 11 | "She walked deeper." | | 12 | "The wildflowers parted not with" | | 13 | "She turned her head quickly." | | 14 | "They stayed put." | | 15 | "The pendant warmed." | | 16 | "It seared through her shirt." | | 17 | "Rory pulled it free." | | 18 | "The crimson gem glowed with" | | 19 | "Hel, or something adjacent." |
| | ratio | 0.802 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 101 | | matches | | 0 | "To the pocket between Earth" | | 1 | "To understand why an unknown" | | 2 | "To a life that was" |
| | ratio | 0.03 | |
| 53.57% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 32 | | technicalSentenceCount | 4 | | matches | | 0 | "Crimson poppies and white moonflowers bloomed in defiance, petals too bright, too insistent under a moon that looked painted on glass." | | 1 | "The sound arrived a half-second late, as if the grove had swallowed the noise and spat it back out, chewed." | | 2 | "A breath of syllables that slid under her skin, cold and intimate, like someone pressing their mouth to her ear in total darkness." | | 3 | "Not with sound, but with motion—sudden, violent, petals tearing from stems in a spiral that moved outward from the bare circle." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 38.89% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 9 | | tagDensity | 0.444 | | leniency | 0.889 | | rawRatio | 0.25 | | effectiveRatio | 0.222 | |