| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 8 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 16 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 88.15% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2532 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "slightly" | | 1 | "very" | | 2 | "tightly" | | 3 | "perfectly" | | 4 | "slowly" |
| |
| 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) | |
| 32.86% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2532 | | totalAiIsms | 34 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | | | 19 | | | 20 | | | 21 | | | 22 | | | 23 | | | 24 | |
| | highlights | | 0 | "familiar" | | 1 | "pulsed" | | 2 | "throb" | | 3 | "sanctuary" | | 4 | "gleaming" | | 5 | "silence" | | 6 | "weight" | | 7 | "calculating" | | 8 | "pulse" | | 9 | "quickened" | | 10 | "perfect" | | 11 | "aftermath" | | 12 | "stomach" | | 13 | "trembled" | | 14 | "variable" | | 15 | "lilt" | | 16 | "etched" | | 17 | "vibrated" | | 18 | "raced" | | 19 | "lurched" | | 20 | "could feel" | | 21 | "throbbed" | | 22 | "flickered" | | 23 | "rhythmic" | | 24 | "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 | 1 | | narrationSentences | 221 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 3 | | narrationSentences | 221 | | filterMatches | | | hedgeMatches | | 0 | "seemed to" | | 1 | "tried to" | | 2 | "happened to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 229 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 40 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 24 | | totalWords | 2514 | | ratio | 0.01 | | matches | | 0 | "Find the stones at the northern edge of Richmond. Wait for the moon to crown the tallest oak. Then walk through." | | 1 | "Rory, Rory, Rory" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 86 | | wordCount | 2381 | | uniqueNames | 20 | | maxNameDensity | 1.13 | | worstName | "Rory" | | maxWindowNameDensity | 3 | | worstWindowName | "Rory" | | discoveredNames | | Carter | 1 | | October | 2 | | Park | 3 | | Fae | 1 | | Grove | 10 | | Heartstone | 8 | | Eva | 15 | | Richmond | 4 | | Rory | 27 | | Silence | 1 | | London | 4 | | Silas | 1 | | Intelligence | 1 | | Camden | 1 | | Golden | 1 | | Empress | 1 | | Irish | 1 | | Eva-thing | 2 | | Earth | 1 | | Cardiff | 1 |
| | persons | | 0 | "Carter" | | 1 | "Grove" | | 2 | "Heartstone" | | 3 | "Eva" | | 4 | "Rory" | | 5 | "Silence" | | 6 | "Silas" | | 7 | "Eva-thing" | | 8 | "Earth" |
| | places | | 0 | "Park" | | 1 | "Fae" | | 2 | "Richmond" | | 3 | "London" | | 4 | "Camden" | | 5 | "Cardiff" |
| | globalScore | 0.933 | | windowScore | 0.667 | |
| 69.35% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 155 | | glossingSentenceCount | 5 | | matches | | 0 | "seemed weaker now, as though the darkness were drinking it" | | 1 | "looked like birch bark stretched tight ov" | | 2 | "as though scenting the blood" | | 3 | "sounded like every person she had ever fai" | | 4 | "appeared ahead silhouetted against a night sky that looked flatter than it should, like a painted backdrop" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 2514 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 229 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 73 | | mean | 34.44 | | std | 25.88 | | cv | 0.752 | | sampleLengths | | 0 | 95 | | 1 | 79 | | 2 | 98 | | 3 | 62 | | 4 | 21 | | 5 | 9 | | 6 | 78 | | 7 | 4 | | 8 | 83 | | 9 | 20 | | 10 | 4 | | 11 | 51 | | 12 | 4 | | 13 | 56 | | 14 | 6 | | 15 | 56 | | 16 | 12 | | 17 | 8 | | 18 | 1 | | 19 | 56 | | 20 | 56 | | 21 | 7 | | 22 | 35 | | 23 | 4 | | 24 | 44 | | 25 | 3 | | 26 | 78 | | 27 | 13 | | 28 | 57 | | 29 | 22 | | 30 | 46 | | 31 | 4 | | 32 | 27 | | 33 | 29 | | 34 | 42 | | 35 | 27 | | 36 | 4 | | 37 | 49 | | 38 | 38 | | 39 | 58 | | 40 | 30 | | 41 | 10 | | 42 | 61 | | 43 | 41 | | 44 | 55 | | 45 | 36 | | 46 | 26 | | 47 | 4 | | 48 | 51 | | 49 | 2 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 221 | | matches | | 0 | "was supposed" | | 1 | "been stretched" | | 2 | "was gone" |
| |
| 45.36% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 9 | | totalVerbs | 388 | | matches | | 0 | "were discussing" | | 1 | "were drinking" | | 2 | "were trying" | | 3 | "was screaming" | | 4 | "was gripping" | | 5 | "was dimming" | | 6 | "were closing" | | 7 | "was bleeding" | | 8 | "was still trying" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 21 | | semicolonCount | 3 | | flaggedSentences | 22 | | totalSentences | 229 | | ratio | 0.096 | | matches | | 0 | "The air inside the Fae Grove tasted different—thicker, sweet as overripe fruit left too long on the vine." | | 1 | "The silver chain left a cold kiss against her skin; the gem itself glowed with sullen inner light, throwing bloody flecks across the grass." | | 2 | "She could sense it watching the light the way a cat watches a candle flame—patient, calculating how long it would take to snuff it out." | | 3 | "The whispering leaves, the faint distant traffic she hadn’t realised she could still hear, even the crunch of frost beneath her boots—all of it simply stopped." | | 4 | "The beam caught movement at the edge of the clearing—something pale slipping between two trunks before vanishing." | | 5 | "Intelligence was her weapon; fear was just another variable to account for." | | 6 | "A soft laugh drifted from behind the oak—low, feminine, and intimately familiar." | | 7 | "Rory’s hand found the small knife she kept in her coat pocket—legal enough for a delivery cyclist, sharp enough to matter." | | 8 | "Wearing the bright red coat Eva had bought in Camden two years ago—the one with the toggle buttons Rory had always teased her about." | | 9 | "The motion was wrong—too fluid, the neck bending at an angle that suggested more vertebrae than a human possessed." | | 10 | "If she could circle around, keep it talking—" | | 11 | "The face wore Eva’s smile, but the eyes were wrong—too large, too black, reflecting the red glow like wet obsidian." | | 12 | "Its movements were wrong in every way—joints bending where joints shouldn’t, spine undulating as though it contained no bones at all." | | 13 | "The Heartstone was screaming now—a high, silent vibration that made Rory’s vision blur at the edges." | | 14 | "Behind it, shapes moved at the edge of the clearing—pale figures wearing other familiar clothes." | | 15 | "The creature shrieked—a sound that drilled straight into Rory’s skull and lodged there like a splinter of ice." | | 16 | "Her boots slammed against the earth; wildflowers snapped beneath her." | | 17 | "Something laughed behind her—multiple voices now, overlapping in grotesque harmony." | | 18 | "The others fanned out behind it—dozens now—each wearing the face of someone Rory had known and lost." | | 19 | "Between the oaks, the world of Richmond Park flickered like bad reception—streetlights, distant traffic, the real world only an arm’s length away and a thousand miles distant." | | 20 | "The creatures behind her made a sound like a hundred voices whispering her name at once—*Rory, Rory, Rory*—each syllable stretched and lovingly savoured." | | 21 | "Somewhere a fox screamed in the distance—the normal, animal sound almost making her sob with relief." |
| |
| 81.97% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 2410 | | adjectiveStacks | 2 | | stackExamples | | 0 | "over frost-rimed grass" | | 1 | "tight over sharp bones." |
| | adverbCount | 113 | | adverbRatio | 0.04688796680497925 | | lyAdverbCount | 35 | | lyAdverbRatio | 0.014522821576763486 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 229 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 229 | | mean | 10.98 | | std | 7.25 | | cv | 0.661 | | sampleLengths | | 0 | 15 | | 1 | 22 | | 2 | 18 | | 3 | 24 | | 4 | 16 | | 5 | 16 | | 6 | 10 | | 7 | 18 | | 8 | 13 | | 9 | 22 | | 10 | 24 | | 11 | 9 | | 12 | 9 | | 13 | 11 | | 14 | 18 | | 15 | 27 | | 16 | 12 | | 17 | 11 | | 18 | 15 | | 19 | 24 | | 20 | 10 | | 21 | 11 | | 22 | 2 | | 23 | 7 | | 24 | 6 | | 25 | 18 | | 26 | 25 | | 27 | 5 | | 28 | 5 | | 29 | 19 | | 30 | 4 | | 31 | 10 | | 32 | 16 | | 33 | 24 | | 34 | 7 | | 35 | 12 | | 36 | 14 | | 37 | 3 | | 38 | 17 | | 39 | 4 | | 40 | 13 | | 41 | 26 | | 42 | 12 | | 43 | 4 | | 44 | 16 | | 45 | 1 | | 46 | 2 | | 47 | 9 | | 48 | 17 | | 49 | 6 |
| |
| 43.01% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 16 | | diversityRatio | 0.2925764192139738 | | totalSentences | 229 | | uniqueOpeners | 67 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 11 | | totalSentences | 201 | | matches | | 0 | "Then walk through.* Rory had" | | 1 | "Instead the trees pressed closer" | | 2 | "Then the Grove exhaled." | | 3 | "Too tall to be a" | | 4 | "Too thin to be human." | | 5 | "Instead she spoke calmly into" | | 6 | "Then she threw the Heartstone" | | 7 | "Then gravity and Earth reasserted" | | 8 | "Somewhere a fox screamed in" | | 9 | "Slowly, Rory pushed herself up" | | 10 | "Only someone who knew her" |
| | ratio | 0.055 | |
| 94.63% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 63 | | totalSentences | 201 | | matches | | 0 | "She had come here because" | | 1 | "She should have turned back" | | 2 | "Their petals looked almost luminous," | | 3 | "She stopped beneath the largest" | | 4 | "Its branches spread like the" | | 5 | "Her voice sounded small, immediately" | | 6 | "She could sense it watching" | | 7 | "She shook the thought away." | | 8 | "She aimed the torch at" | | 9 | "She had read enough folklore" | | 10 | "She crossed the ring." | | 11 | "Her heart thudded against the" | | 12 | "she called, proud that her" | | 13 | "She catalogued details rapidly." | | 14 | "Her breath no longer clouded" | | 15 | "It sounded exactly like her" | | 16 | "She didn’t draw it yet." | | 17 | "They looked like eyes." | | 18 | "Her mouth went dry." | | 19 | "She risked a glance downward." |
| | ratio | 0.313 | |
| 64.48% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 159 | | totalSentences | 201 | | matches | | 0 | "Aurora Carter’s boots crunched over" | | 1 | "Richmond Park lay somewhere behind" | | 2 | "The air inside the Fae" | | 3 | "She had come here because" | | 4 | "The crimson gem still pulsed" | | 5 | "She should have turned back" | | 6 | "Bluebells and foxgloves in full" | | 7 | "Their petals looked almost luminous," | | 8 | "Rory adjusted her grip on" | | 9 | "The small crescent scar on" | | 10 | "The Grove was supposed to" | | 11 | "She stopped beneath the largest" | | 12 | "Its branches spread like the" | | 13 | "The Heartstone flared hot enough" | | 14 | "The silver chain left a" | | 15 | "Her voice sounded small, immediately" | | 16 | "The kind of silence that" | | 17 | "Rory turned in a slow" | | 18 | "The beam of her torch" | | 19 | "She could sense it watching" |
| | ratio | 0.791 | |
| 24.88% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 201 | | matches | | 0 | "If she could circle around," |
| | ratio | 0.005 | |
| 56.88% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 108 | | technicalSentenceCount | 13 | | matches | | 0 | "Aurora Carter’s boots crunched over frost-rimed grass that should not have existed in late October." | | 1 | "No wind moved among them, yet the leaves overhead kept up a constant, whispering susurration, as though they were discussing her in a language just beyond compr…" | | 2 | "It sounded exactly like her childhood friend, the same warm lilt that had coaxed her onto trains to London and into new lives." | | 3 | "The cadence dragged a half-second too long, as though the mouth producing it had too many teeth." | | 4 | "The torch flew from her hand and spun across the grass, its beam wheeling crazily over trees that now seemed to lean inward, branches reaching like fingers." | | 5 | "Its movements were wrong in every way—joints bending where joints shouldn’t, spine undulating as though it contained no bones at all." | | 6 | "The Heartstone was screaming now—a high, silent vibration that made Rory’s vision blur at the edges." | | 7 | "Branches reached down, snagging her hair, tearing at her coat." | | 8 | "Rory could hear them moving through the undergrowth, their feet making no sound, their stolen faces turned toward her with expressions of terrible, patient hung…" | | 9 | "The standing stones appeared ahead, silhouetted against a night sky that looked flatter than it should, like a painted backdrop." | | 10 | "For one ghastly moment she hung between worlds, one foot in frost-covered grass that smelled of lilacs and blood, the other on cold London pavement." | | 11 | "Fresh blood welled from the old wound in perfect, rhythmic pulses, as though something inside her wrist was still trying to beat in time with a pendant that was…" | | 12 | "Only someone who knew her well would have noticed that her bright blue eyes kept darting to the shadows at the edge of her vision, and that her right hand never…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 8 | | uselessAdditionCount | 3 | | matches | | 0 | "she called, proud that her voice barely trembled" | | 1 | "Rory spun, torch cutting a bright arc" | | 2 | "she breathed, relief crashing through her so hard her knees nearly buckled" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 3 | | fancyTags | | 0 | "she muttered (mutter)" | | 1 | "she breathed (breathe)" | | 2 | "she whispered (whisper)" |
| | dialogueSentences | 16 | | tagDensity | 0.25 | | leniency | 0.5 | | rawRatio | 0.75 | | effectiveRatio | 0.375 | |