| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 10 | | adverbTagCount | 2 | | adverbTags | | 0 | "they said softly [softly]" | | 1 | "Just her name gone [Just]" |
| | dialogueSentences | 20 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.2 | | effectiveRatio | 0.2 | |
| 78.85% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1182 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "suddenly" | | 1 | "quickly" | | 2 | "softly" | | 3 | "slowly" | | 4 | "precisely" |
| |
| 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) | |
| 57.70% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1182 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "shimmered" | | 1 | "whisper" | | 2 | "gloom" | | 3 | "resolve" | | 4 | "resolved" | | 5 | "roaring" | | 6 | "weight" | | 7 | "chilling" |
| |
| 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 | 66 | | matches | (empty) | |
| 99.57% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 66 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 75 | | 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 | 1196 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 91.35% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 37 | | wordCount | 1023 | | uniqueNames | 13 | | maxNameDensity | 1.17 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 12 | | Richmond | 1 | | Park | 1 | | October | 2 | | Shade | 2 | | Heartstone | 1 | | Hel | 1 | | Eva | 5 | | London | 2 | | English | 1 | | Nyx | 7 | | Seer | 1 | | Varga | 1 |
| | persons | | 0 | "Rory" | | 1 | "Shade" | | 2 | "Eva" | | 3 | "English" | | 4 | "Nyx" | | 5 | "Seer" | | 6 | "Varga" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "October" | | 3 | "Hel" | | 4 | "London" |
| | globalScore | 0.913 | | windowScore | 1 | |
| 98.98% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 49 | | glossingSentenceCount | 1 | | matches | | |
| 32.78% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.672 | | wordCount | 1196 | | matches | | 0 | "not warming exactly, but thinning, peeling back to reveal a different air beneath it" | | 1 | "no longer a smudge but" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 75 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 31 | | mean | 38.58 | | std | 29.44 | | cv | 0.763 | | sampleLengths | | 0 | 59 | | 1 | 77 | | 2 | 60 | | 3 | 51 | | 4 | 5 | | 5 | 36 | | 6 | 3 | | 7 | 3 | | 8 | 8 | | 9 | 87 | | 10 | 3 | | 11 | 78 | | 12 | 16 | | 13 | 72 | | 14 | 21 | | 15 | 30 | | 16 | 47 | | 17 | 99 | | 18 | 9 | | 19 | 32 | | 20 | 12 | | 21 | 58 | | 22 | 17 | | 23 | 15 | | 24 | 7 | | 25 | 8 | | 26 | 84 | | 27 | 56 | | 28 | 70 | | 29 | 53 | | 30 | 20 |
| |
| 99.95% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 66 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 174 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 75 | | ratio | 0.147 | | matches | | 0 | "The standing stones came upon them all at once, the way a memory does — there and then suddenly undeniable." | | 1 | "They had the shape of trees, the gnarled bark and the reaching boughs, but they had grown into the rough columns of standing stones, or perhaps the stones had softened into wood — she couldn't tell which had come first." | | 2 | "The Heartstone pendant lay cold against her sternum here — it only warmed near Hel — but something else pulled at her, a low hum she felt in her teeth and the soles of her feet." | | 3 | "The cold went first — not warming exactly, but thinning, peeling back to reveal a different air beneath it, soft and green-smelling, full of pollen and something sweeter she couldn't name." | | 4 | "They covered the clearing floor in a tide — bluebells and foxgloves and things that had no English names, blossoms shaped like trumpets and bells and open palms, in violet and white and a blue so saturated it seemed to vibrate." | | 5 | "In the grove's strange light the Shade had gained substance — no longer a smudge but a tall figure, easily six foot two, edges still feathering into shadow but the suggestion of a face now, the faint violet glow of their eyes steady as twin pilot lights." | | 6 | "Rory filed that away — there was always more to Nyx than they offered, and the grove had just offered something for free — and turned back to the meadow." | | 7 | "The grove was not silent — far from it." | | 8 | "It ran clear over stones that were not stones — when Rory crouched and looked closely, she saw they were pale and rounded and faintly translucent, with a milky inner light, like moonstones tumbled smooth." | | 9 | "She had not been there a moment ago — Rory was nearly certain." | | 10 | "Rory's hand drifted, unbidden, to the cold leaf-shaped weight at her hip — the moonsilver dagger she did not yet know was a gift, did not yet know was hers to keep." |
| |
| 73.85% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1014 | | adjectiveStacks | 3 | | stackExamples | | 0 | "lay cold against her" | | 1 | "half-solid, left nothing." | | 2 | "cold leaf-shaped weight" |
| | adverbCount | 50 | | adverbRatio | 0.04930966469428008 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.01282051282051282 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 75 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 75 | | mean | 15.95 | | std | 12.85 | | cv | 0.806 | | sampleLengths | | 0 | 20 | | 1 | 39 | | 2 | 6 | | 3 | 40 | | 4 | 10 | | 5 | 21 | | 6 | 3 | | 7 | 21 | | 8 | 32 | | 9 | 4 | | 10 | 2 | | 11 | 36 | | 12 | 13 | | 13 | 5 | | 14 | 17 | | 15 | 19 | | 16 | 3 | | 17 | 3 | | 18 | 8 | | 19 | 9 | | 20 | 31 | | 21 | 10 | | 22 | 37 | | 23 | 3 | | 24 | 41 | | 25 | 6 | | 26 | 18 | | 27 | 13 | | 28 | 7 | | 29 | 9 | | 30 | 12 | | 31 | 47 | | 32 | 13 | | 33 | 8 | | 34 | 13 | | 35 | 30 | | 36 | 3 | | 37 | 28 | | 38 | 9 | | 39 | 3 | | 40 | 4 | | 41 | 6 | | 42 | 9 | | 43 | 37 | | 44 | 5 | | 45 | 2 | | 46 | 2 | | 47 | 38 | | 48 | 7 | | 49 | 2 |
| |
| 74.22% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.49333333333333335 | | totalSentences | 75 | | uniqueOpeners | 37 | |
| 59.52% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 56 | | matches | | 0 | "Just her name, gone thin" |
| | ratio | 0.018 | |
| 98.57% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 17 | | totalSentences | 56 | | matches | | 0 | "They were not trees, not" | | 1 | "They had the shape of" | | 2 | "Their voice came from somewhere" | | 3 | "They covered the clearing floor" | | 4 | "They looked down at their" | | 5 | "they said softly" | | 6 | "They walked deeper." | | 7 | "She left footprints, dark crushed" | | 8 | "They came to a stream." | | 9 | "It ran clear over stones" | | 10 | "She reached toward the water" | | 11 | "She drew her hand back" | | 12 | "It was Eva who saw" | | 13 | "She had not been there" | | 14 | "Her eyes were the pale" | | 15 | "She made no sound as" | | 16 | "She left no mark of" |
| | ratio | 0.304 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 40 | | totalSentences | 56 | | matches | | 0 | "The standing stones came upon" | | 1 | "They were not trees, not" | | 2 | "They had the shape of" | | 3 | "Lichen the color of old" | | 4 | "Their voice came from somewhere" | | 5 | "The Heartstone pendant lay cold" | | 6 | "Eva, who had dragged her" | | 7 | "Rory stepped through the gap" | | 8 | "The world changed the way" | | 9 | "The cold went first —" | | 10 | "The grey sky did not" | | 11 | "They covered the clearing floor" | | 12 | "Bluebells did not bloom in" | | 13 | "None of these should bloom" | | 14 | "Eva breathed, coming through behind" | | 15 | "The word fell out of" | | 16 | "Nyx came last, and Rory" | | 17 | "They looked down at their" | | 18 | "they said softly" | | 19 | "Rory filed that away —" |
| | ratio | 0.714 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 56 | | matches | (empty) | | ratio | 0 | |
| 12.99% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 33 | | technicalSentenceCount | 6 | | matches | | 0 | "One moment Rory was pushing through the ordinary bracken of Richmond Park, the cold October damp soaking through the knees of her jeans, and the next she stood …" | | 1 | "They covered the clearing floor in a tide — bluebells and foxgloves and things that had no English names, blossoms shaped like trumpets and bells and open palms…" | | 2 | "There was no path, only the press of flowers parting around their legs and closing behind, but Rory noticed something that made the back of her neck prickle." | | 3 | "It ran clear over stones that were not stones — when Rory crouched and looked closely, she saw they were pale and rounded and faintly translucent, with a milky …" | | 4 | "Silver hair spilled past her waist, catching the sourceless gold and throwing it back like spun metal." | | 5 | "Her eyes were the pale lavender of the crocuses at her feet, and they were fixed on Rory with an attention that felt physical, a weight settling over her should…" |
| |
| 75.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 10 | | uselessAdditionCount | 1 | | matches | | 0 | "the Seer said, and her voice was warm and amused and ancient all at once," |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 3 | | fancyTags | | 0 | "Nyx corrected (correct)" | | 1 | "Eva breathed (breathe)" | | 2 | "Eva muttered (mutter)" |
| | dialogueSentences | 20 | | tagDensity | 0.45 | | leniency | 0.9 | | rawRatio | 0.333 | | effectiveRatio | 0.3 | |