| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 1 | | adverbTags | | 0 | "Isolde said softly [softly]" |
| | dialogueSentences | 35 | | tagDensity | 0.429 | | leniency | 0.857 | | rawRatio | 0.067 | | effectiveRatio | 0.057 | |
| 80.23% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1770 | | totalAiIsmAdverbs | 7 | | found | | | highlights | | 0 | "suddenly" | | 1 | "very" | | 2 | "sharply" | | 3 | "perfectly" | | 4 | "softly" | | 5 | "quickly" |
| |
| 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) | |
| 46.33% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1770 | | totalAiIsms | 19 | | found | | | highlights | | 0 | "furrowed" | | 1 | "sentinels" | | 2 | "shimmered" | | 3 | "echo" | | 4 | "pulse" | | 5 | "warmth" | | 6 | "whisper" | | 7 | "familiar" | | 8 | "could feel" | | 9 | "weight" | | 10 | "glint" | | 11 | "resolved" | | 12 | "pulsed" | | 13 | "unreadable" |
| |
| 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 | 118 | | matches | (empty) | |
| 58.11% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 6 | | narrationSentences | 118 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 137 | | 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 | 1756 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 13 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 60 | | wordCount | 1529 | | uniqueNames | 19 | | maxNameDensity | 1.24 | | worstName | "Aurora" | | maxWindowNameDensity | 3 | | worstWindowName | "Aurora" | | discoveredNames | | Aurora | 19 | | Heartstone | 2 | | Nyx | 7 | | Richmond | 2 | | Park | 2 | | English | 1 | | Eva | 1 | | Silas | 1 | | Ladderstile | 1 | | Gate | 1 | | Isolde | 14 | | Fae | 2 | | Grove | 1 | | Hel | 1 | | Veil | 1 | | Wardens | 1 | | Cardiff | 1 | | Evan | 1 | | Fae-Forged | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Nyx" | | 2 | "Eva" | | 3 | "Silas" | | 4 | "Isolde" | | 5 | "Veil" | | 6 | "Evan" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Ladderstile" | | 3 | "Fae" | | 4 | "Grove" | | 5 | "Cardiff" |
| | globalScore | 0.879 | | windowScore | 0.667 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 84 | | glossingSentenceCount | 7 | | matches | | 0 | "looked like faces if she let her eyes go" | | 1 | "whisper that seemed to originate from several directions at once" | | 2 | "gold that seemed to come from everywhere and nowhere, as if the air itself had been stained amber" | | 3 | "felt like a wrecking ball by comparison" | | 4 | "not quite parse" | | 5 | "luminescence that seemed to gather the strange gold light and cool it" | | 6 | "something like music" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 6 | | per1kWords | 3.417 | | wordCount | 1756 | | matches | | 0 | "not a step but a slide" | | 1 | "not the sky but something else entirely" | | 2 | "not the sharp pulse of a Hel portal, but a low, steady heat, like a stone warmed by fire" | | 3 | "not a path but simply a place" | | 4 | "not spring back but simply failed to register the weight at all" | | 5 | "Not bad-wrong, but off-key in a way" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 137 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 55 | | mean | 31.93 | | std | 26.12 | | cv | 0.818 | | sampleLengths | | 0 | 16 | | 1 | 81 | | 2 | 17 | | 3 | 37 | | 4 | 56 | | 5 | 3 | | 6 | 17 | | 7 | 60 | | 8 | 28 | | 9 | 88 | | 10 | 4 | | 11 | 70 | | 12 | 21 | | 13 | 3 | | 14 | 9 | | 15 | 76 | | 16 | 67 | | 17 | 14 | | 18 | 52 | | 19 | 47 | | 20 | 14 | | 21 | 5 | | 22 | 45 | | 23 | 7 | | 24 | 31 | | 25 | 80 | | 26 | 64 | | 27 | 6 | | 28 | 14 | | 29 | 37 | | 30 | 9 | | 31 | 14 | | 32 | 63 | | 33 | 11 | | 34 | 4 | | 35 | 10 | | 36 | 86 | | 37 | 4 | | 38 | 20 | | 39 | 65 | | 40 | 38 | | 41 | 7 | | 42 | 50 | | 43 | 9 | | 44 | 6 | | 45 | 65 | | 46 | 10 | | 47 | 17 | | 48 | 11 | | 49 | 57 |
| |
| 90.40% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 118 | | matches | | 0 | "been stained" | | 1 | "was made" | | 2 | "were supposed" | | 3 | "was supposed" | | 4 | "was gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 268 | | matches | | 0 | "was happening" | | 1 | "was matching" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 137 | | ratio | 0.08 | | matches | | 0 | "Behind her, the familiar sprawl of Richmond Park—the distant drone of traffic on the A3, the scatter of joggers and dog walkers, the ordinary grey of an English afternoon—seemed suddenly very far away, though she knew it was only a dozen paces back." | | 1 | "The air grew thick with the scent of crushed greenery and something sweeter underneath—honey, maybe, or decaying apples, or both at once." | | 2 | "Wildflowers carpeted the ground in a riot of color—campion and foxglove, bluebells and things she had no names for, blooms that should not coexist in the same season, let alone the same square meter of soil." | | 3 | "At the center of the grove stood a pool, perfectly circular, its surface so still it reflected not the sky but something else entirely—a darkness dappled with points of light that were not stars." | | 4 | "The pendant had grown warm against her skin—not the sharp pulse of a Hel portal, but a low, steady heat, like a stone warmed by fire." | | 5 | "When they touched the bark, something passed through them—a shiver, a ripple—and their eyes flared brighter." | | 6 | "Aurora noticed that Isolde left no footprints—her boots pressed the grass and the grass did not spring back but simply failed to register the weight at all." | | 7 | "The pool lay at their feet, and Aurora did not look at it—kept her eyes fixed instead on the oak at the far side, where something glinted among the roots." | | 8 | "It was made of a metal she didn't recognize—pale as milk, cold even from a foot away." | | 9 | "She thought, too, of the fact that she had been running her whole life—from Cardiff, from Evan, from her father's expectations, from the woman she was supposed to be—and that running had never once made her feel safe." | | 10 | "The patterns in the wildflowers became readable, and what she read was a warning—or perhaps a promise." |
| |
| 89.56% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1553 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 70 | | adverbRatio | 0.04507405022537025 | | lyAdverbCount | 18 | | lyAdverbRatio | 0.01159047005795235 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 137 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 137 | | mean | 12.82 | | std | 9.2 | | cv | 0.718 | | sampleLengths | | 0 | 16 | | 1 | 34 | | 2 | 3 | | 3 | 17 | | 4 | 27 | | 5 | 9 | | 6 | 8 | | 7 | 13 | | 8 | 13 | | 9 | 11 | | 10 | 18 | | 11 | 12 | | 12 | 17 | | 13 | 9 | | 14 | 3 | | 15 | 10 | | 16 | 7 | | 17 | 18 | | 18 | 15 | | 19 | 27 | | 20 | 7 | | 21 | 21 | | 22 | 2 | | 23 | 43 | | 24 | 11 | | 25 | 13 | | 26 | 19 | | 27 | 4 | | 28 | 9 | | 29 | 11 | | 30 | 22 | | 31 | 28 | | 32 | 3 | | 33 | 18 | | 34 | 3 | | 35 | 9 | | 36 | 3 | | 37 | 6 | | 38 | 4 | | 39 | 36 | | 40 | 27 | | 41 | 33 | | 42 | 34 | | 43 | 11 | | 44 | 3 | | 45 | 5 | | 46 | 26 | | 47 | 21 | | 48 | 10 | | 49 | 21 |
| |
| 45.99% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 17 | | diversityRatio | 0.35036496350364965 | | totalSentences | 137 | | uniqueOpeners | 48 | |
| 63.49% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 105 | | matches | | 0 | "Faintly glowing violet eyes fixed" | | 1 | "Somewhere, water dripped with a" |
| | ratio | 0.019 | |
| 90.48% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 34 | | totalSentences | 105 | | matches | | 0 | "They rose from the bracken" | | 1 | "It simply stopped, swallowed whole" | | 2 | "She wasn't sure whether that" | | 3 | "She extended a pale hand" | | 4 | "She thought of Eva, waiting" | | 5 | "She thought of the delivery" | | 6 | "She thought about how none" | | 7 | "She took Isolde's hand." | | 8 | "It was impossible." | | 9 | "They grew in spirals, not" | | 10 | "They moved toward the nearest" | | 11 | "They moved deeper into the" | | 12 | "They reached the center of" | | 13 | "She stepped closer, drawn by" | | 14 | "Her heartbeat was matching it." | | 15 | "It was made of a" | | 16 | "It glowed faintly, a soft" | | 17 | "She reached for it." | | 18 | "Her hand hovered over the" | | 19 | "She thought of the warmth" |
| | ratio | 0.324 | |
| 26.67% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 91 | | totalSentences | 105 | | matches | | 0 | "The standing stones were not" | | 1 | "They rose from the bracken" | | 2 | "Oak, she realized." | | 3 | "The air around them shimmered" | | 4 | "Isolde said, and her voice" | | 5 | "It simply stopped, swallowed whole" | | 6 | "Aurora stopped too, one hand" | | 7 | "The Heartstone lay quiet against" | | 8 | "She wasn't sure whether that" | | 9 | "Nyx tilted their head, a" | | 10 | "Isolde stepped between the stones," | | 11 | "The next she was still" | | 12 | "She extended a pale hand" | | 13 | "She thought of Eva, waiting" | | 14 | "She thought of the delivery" | | 15 | "She thought about how none" | | 16 | "She took Isolde's hand." | | 17 | "The transition was not a" | | 18 | "The temperature dropped ten degrees" | | 19 | "The air grew thick with" |
| | ratio | 0.867 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 105 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 65 | | technicalSentenceCount | 14 | | matches | | 0 | "Ancient oaks that had forgotten how to be trees six centuries ago and hardened into sentinels instead." | | 1 | "Nyx tilted their head, a gesture that was almost human." | | 2 | "The next she was still that figure, but the light hit her wrong, refracting around the edges of her silhouette as if she stood behind running water." | | 3 | "The light changed from afternoon grey to a strange, diffuse gold that seemed to come from everywhere and nowhere, as if the air itself had been stained amber." | | 4 | "Wildflowers carpeted the ground in a riot of color—campion and foxglove, bluebells and things she had no names for, blooms that should not coexist in the same s…" | | 5 | "The oak sentinels continued in a ring around the clearing's edge, but here they were younger, greener, their branches interlacing overhead to form a lattice tha…" | | 6 | "At the center of the grove stood a pool, perfectly circular, its surface so still it reflected not the sky but something else entirely—a darkness dappled with p…" | | 7 | "They moved toward the nearest oak and extended a hand that was only half-solid, fingers dissolving into wisps at the tips." | | 8 | "They moved deeper into the grove, following Isolde along a path that was not a path but simply a place where the wildflowers didn't grow." | | 9 | "Not bad-wrong, but off-key in a way that prickled the hair on her arms." | | 10 | "The pendant was definitely warmer now, pulsing in a slow, steady rhythm that matched her heartbeat." | | 11 | "It glowed faintly, a soft silver luminescence that seemed to gather the strange gold light and cool it." | | 12 | "She thought of the warmth at her chest, the pulsed rhythm that had synced to her blood." | | 13 | "They moved back through the clearing, past the twisting spirals of flowers, past the pool that whispered in a language just beyond understanding, past the oak s…" |
| |
| 91.67% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 1 | | matches | | 0 | "she said, and the grove seemed to tighten around them like a hand closing" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 13 | | fancyCount | 6 | | fancyTags | | 0 | "she breathed (breathe)" | | 1 | "they whispered (whisper)" | | 2 | "Aurora repeated (repeat)" | | 3 | "Aurora whispered (whisper)" | | 4 | "Isolde agreed (agree)" | | 5 | "Nyx agreed (agree)" |
| | dialogueSentences | 35 | | tagDensity | 0.371 | | leniency | 0.743 | | rawRatio | 0.462 | | effectiveRatio | 0.343 | |