| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 2 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 7 | | tagDensity | 0.286 | | leniency | 0.571 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 96.92% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1622 | | 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) | |
| 41.43% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1622 | | totalAiIsms | 19 | | found | | | highlights | | 0 | "pulsed" | | 1 | "silence" | | 2 | "perfect" | | 3 | "pulse" | | 4 | "echo" | | 5 | "footfall" | | 6 | "whisper" | | 7 | "warmth" | | 8 | "traced" | | 9 | "weight" | | 10 | "measured" |
| |
| 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 | 154 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 154 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 159 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 45 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1608 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 3 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 28 | | wordCount | 1574 | | uniqueNames | 12 | | maxNameDensity | 0.7 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Carter | 2 | | Eva | 2 | | October | 1 | | Heartstone | 2 | | Richmond | 1 | | Park | 1 | | Evan | 1 | | Malphora | 2 | | Golden | 1 | | Empress | 1 | | Rory | 11 | | Distance | 3 |
| | persons | | 0 | "Carter" | | 1 | "Eva" | | 2 | "Evan" | | 3 | "Empress" | | 4 | "Rory" | | 5 | "Distance" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Golden" |
| | globalScore | 1 | | windowScore | 1 | |
| 73.47% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 98 | | glossingSentenceCount | 3 | | matches | | 0 | "felt like a question, and she needed an" | | 1 | "seemed trapped with her" | | 2 | "not quite laughter" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1608 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 159 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 26 | | mean | 61.85 | | std | 37.04 | | cv | 0.599 | | sampleLengths | | 0 | 146 | | 1 | 66 | | 2 | 10 | | 3 | 68 | | 4 | 63 | | 5 | 60 | | 6 | 1 | | 7 | 50 | | 8 | 73 | | 9 | 2 | | 10 | 78 | | 11 | 64 | | 12 | 74 | | 13 | 67 | | 14 | 2 | | 15 | 76 | | 16 | 69 | | 17 | 134 | | 18 | 14 | | 19 | 14 | | 20 | 82 | | 21 | 95 | | 22 | 85 | | 23 | 82 | | 24 | 96 | | 25 | 37 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 154 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 277 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 2 | | flaggedSentences | 13 | | totalSentences | 159 | | ratio | 0.082 | | matches | | 0 | "Wildflowers carpeted the grass in colours that had no business blooming in late October—deep indigo, hard yellow, a bruised purple that seemed to drink the light rather than reflect it." | | 1 | "She thumbed the scar on her left wrist—the small crescent she never quite stopped noticing when nerves climbed—and forced her shoulders down." | | 2 | "Whoever left it knew the name she used underground—Malphora—and that knowledge sat heavier than any threat." | | 3 | "Moss grew thicker on the northern faces; the wildflowers stopped in a perfect circle at their roots, as if some invisible wall refused them further." | | 4 | "A soft scrape cut the silence—wood on wood, like a branch dragged across bark." | | 5 | "When she took one deliberate stride, the echo answered—delay of half a heartbeat, just long enough to feel chosen." | | 6 | "Her voice stayed level—the same cool register she used when a customer at the Golden Empress started shouting about a wrong order." | | 7 | "A new sound rose—faint, almost polite." | | 8 | "A shape peeled free of the stone—blacker than the night, thin, rising higher than the oak’s crown for a single heartbeat before it folded itself back into bark and vanished." | | 9 | "It did not roll; it reached." | | 10 | "Her childhood bedroom, the open cupboard door, the thing that used to hide in the dark and wait for her to look away—that was the only other time she had felt this particular brand of wrongness." | | 11 | "A soft chorus of answers arrived—not words, not quite laughter." | | 12 | "It simply existed in the same space she occupied, and she knew—without evidence she could name, without anything she could photograph or file into logic—that she was not alone and would not be alone again for as long as the night lasted here." |
| |
| 99.27% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1592 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 65 | | adverbRatio | 0.04082914572864322 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.00628140703517588 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 159 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 159 | | mean | 10.11 | | std | 7.96 | | cv | 0.788 | | sampleLengths | | 0 | 20 | | 1 | 29 | | 2 | 9 | | 3 | 30 | | 4 | 9 | | 5 | 10 | | 6 | 2 | | 7 | 4 | | 8 | 33 | | 9 | 9 | | 10 | 8 | | 11 | 21 | | 12 | 6 | | 13 | 22 | | 14 | 8 | | 15 | 2 | | 16 | 14 | | 17 | 16 | | 18 | 16 | | 19 | 11 | | 20 | 5 | | 21 | 6 | | 22 | 8 | | 23 | 1 | | 24 | 7 | | 25 | 25 | | 26 | 6 | | 27 | 13 | | 28 | 3 | | 29 | 14 | | 30 | 2 | | 31 | 5 | | 32 | 9 | | 33 | 2 | | 34 | 4 | | 35 | 11 | | 36 | 13 | | 37 | 1 | | 38 | 8 | | 39 | 2 | | 40 | 6 | | 41 | 23 | | 42 | 6 | | 43 | 2 | | 44 | 3 | | 45 | 8 | | 46 | 24 | | 47 | 3 | | 48 | 6 | | 49 | 3 |
| |
| 48.22% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.3270440251572327 | | totalSentences | 159 | | uniqueOpeners | 52 | |
| 97.32% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 137 | | matches | | 0 | "Only the flowers, the stones," | | 1 | "Only an oak trunk and" | | 2 | "Soft bare feet took one" | | 3 | "Somewhere among them a second" |
| | ratio | 0.029 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 40 | | totalSentences | 137 | | matches | | 0 | "She took three steps into" | | 1 | "Her own breath sounded too" | | 2 | "She thumbed the scar on" | | 3 | "she told the empty glade" | | 4 | "She had found it on" | | 5 | "She needed it to mean" | | 6 | "She walked the perimeter first," | | 7 | "She counted them twice to" | | 8 | "She straightened fast." | | 9 | "Her phone light caught nothing" | | 10 | "She checked the phone: signal" | | 11 | "She pocketed it and kept" | | 12 | "She stared until her eyes" | | 13 | "She exhaled through her teeth" | | 14 | "She crouched, pressed a palm" | | 15 | "Her hand closed on the" | | 16 | "Her voice stayed level—the same" | | 17 | "She backed toward the centre" | | 18 | "It circled her, always just" | | 19 | "She turned with it, boots" |
| | ratio | 0.292 | |
| 47.59% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 113 | | totalSentences | 137 | | matches | | 0 | "Aurora Carter slipped between the" | | 1 | "The stones rose taller than" | | 2 | "Wildflowers carpeted the grass in" | | 3 | "The air tasted of crushed" | | 4 | "Rory had come anyway." | | 5 | "The Heartstone pendant against her" | | 6 | "She took three steps into" | | 7 | "The silence that closed behind" | | 8 | "Her own breath sounded too" | | 9 | "She thumbed the scar on" | | 10 | "she told the empty glade" | | 11 | "The pendant lay still now," | | 12 | "She had found it on" | | 13 | "Tonight the stone had warmed" | | 14 | "That had to mean something." | | 15 | "She needed it to mean" | | 16 | "She walked the perimeter first," | | 17 | "She counted them twice to" | | 18 | "Moss grew thicker on the" | | 19 | "Moonlight made the petals look" |
| | ratio | 0.825 | |
| 36.50% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 137 | | matches | | 0 | "Whoever left it knew the" |
| | ratio | 0.007 | |
| 64.73% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 64 | | technicalSentenceCount | 7 | | matches | | 0 | "The stones rose taller than she remembered from Eva’s half-remembered stories, their bark rimed with silver lichen that caught the thin moonlight and threw it b…" | | 1 | "The Heartstone pendant against her collarbone had pulsed once at the edge of Richmond Park, a single warm beat that felt like a question, and she needed answers…" | | 2 | "Moss grew thicker on the northern faces; the wildflowers stopped in a perfect circle at their roots, as if some invisible wall refused them further." | | 3 | "One of the standing stones cast a shadow that sagged, lengthened, then snapped back as if something tall had peered around it and withdrawn." | | 4 | "Fresh-cut flowers scent filled her nostrils, too sweet, edged with rot that should not exist among live petals." | | 5 | "In the silence that followed she heard breathing that was not her own: slow, patient, rasping through a throat unused to human air." | | 6 | "Her childhood bedroom, the open cupboard door, the thing that used to hide in the dark and wait for her to look away—that was the only other time she had felt t…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 2 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 7 | | tagDensity | 0.286 | | leniency | 0.571 | | rawRatio | 0 | | effectiveRatio | 0 | |