| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 21 | | tagDensity | 0.238 | | leniency | 0.476 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 84.89% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1654 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "carefully" | | 1 | "slightly" | | 2 | "really" | | 3 | "suddenly" |
| |
| 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) | |
| 60.70% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1654 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "pulse" | | 1 | "footfall" | | 2 | "perfect" | | 3 | "warmth" | | 4 | "silk" | | 5 | "vibrated" | | 6 | "chill" | | 7 | "radiant" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 95 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 95 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 111 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 44 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1648 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 99.89% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 46 | | wordCount | 1397 | | uniqueNames | 13 | | maxNameDensity | 1 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 2 | | Park | 1 | | Rory | 14 | | London | 3 | | British | 1 | | Fae-forged | 1 | | Isolde | 9 | | Nyx | 9 | | Heartstone | 2 | | Hel | 1 | | Newx | 1 | | Welsh | 1 | | Grove | 1 |
| | persons | | 0 | "Rory" | | 1 | "Isolde" | | 2 | "Nyx" | | 3 | "Grove" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" | | 3 | "Newx" |
| | globalScore | 0.999 | | windowScore | 1 | |
| 86.71% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 79 | | glossingSentenceCount | 2 | | matches | | 0 | "as if crossing a threshold drawn in ink no mortal hand could make" | | 1 | "felt like living fur" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1648 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 111 | | matches | | |
| 98.63% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 33 | | mean | 49.94 | | std | 24.73 | | cv | 0.495 | | sampleLengths | | 0 | 82 | | 1 | 45 | | 2 | 50 | | 3 | 39 | | 4 | 93 | | 5 | 35 | | 6 | 25 | | 7 | 54 | | 8 | 79 | | 9 | 62 | | 10 | 21 | | 11 | 19 | | 12 | 91 | | 13 | 34 | | 14 | 14 | | 15 | 40 | | 16 | 85 | | 17 | 79 | | 18 | 22 | | 19 | 68 | | 20 | 39 | | 21 | 25 | | 22 | 52 | | 23 | 53 | | 24 | 30 | | 25 | 82 | | 26 | 62 | | 27 | 33 | | 28 | 67 | | 29 | 86 | | 30 | 6 | | 31 | 21 | | 32 | 55 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 95 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 229 | | matches | (empty) | |
| 39.90% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 111 | | ratio | 0.036 | | matches | | 0 | "Wildflowers carpeted the hidden clearing in colours that made no sense for any British season—cobalt bells, flame-orange cups streaked with black veining, petals the pale blue of dawn frost yet firm as leather." | | 1 | "Her fingers found the Fae-forged blade Isolde had pressed into her hand earlier that morning—the slender moonsilver leaf cool against her palm through the cloth wrap." | | 2 | "Her reflection waited—black hair, blue eyes—but the sky above her reflected head was not the overcast London grey they had left." | | 3 | "Tiny lights—no larger than sparks off a grinder—swirled up from the turf mound and settled in the air around her like loyal fireflies." |
| |
| 82.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1420 | | adjectiveStacks | 3 | | stackExamples | | 0 | "weathered oak-grey surfaces" | | 1 | "ghostly silver-white patterns." | | 2 | "existing under cloudy Richmond" |
| | adverbCount | 54 | | adverbRatio | 0.038028169014084505 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.007042253521126761 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 111 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 111 | | mean | 14.85 | | std | 8.61 | | cv | 0.58 | | sampleLengths | | 0 | 9 | | 1 | 44 | | 2 | 10 | | 3 | 19 | | 4 | 13 | | 5 | 15 | | 6 | 17 | | 7 | 21 | | 8 | 11 | | 9 | 18 | | 10 | 19 | | 11 | 13 | | 12 | 7 | | 13 | 11 | | 14 | 9 | | 15 | 33 | | 16 | 14 | | 17 | 26 | | 18 | 11 | | 19 | 14 | | 20 | 10 | | 21 | 10 | | 22 | 10 | | 23 | 5 | | 24 | 22 | | 25 | 12 | | 26 | 20 | | 27 | 5 | | 28 | 26 | | 29 | 4 | | 30 | 44 | | 31 | 4 | | 32 | 22 | | 33 | 14 | | 34 | 18 | | 35 | 4 | | 36 | 7 | | 37 | 14 | | 38 | 11 | | 39 | 8 | | 40 | 3 | | 41 | 37 | | 42 | 5 | | 43 | 21 | | 44 | 10 | | 45 | 15 | | 46 | 4 | | 47 | 26 | | 48 | 4 | | 49 | 7 |
| |
| 74.17% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.45045045045045046 | | totalSentences | 111 | | uniqueOpeners | 50 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 91 | | matches | | 0 | "Somewhere higher among the branches" | | 1 | "Then it lifted away, trailing" | | 2 | "Further back the entrance stones" |
| | ratio | 0.033 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 22 | | totalSentences | 91 | | matches | | 0 | "Their trunks bulged wider than" | | 1 | "They pressed deeper past the" | | 2 | "She drifted between the blooms" | | 3 | "they whispered into the still" | | 4 | "Her fingers found the Fae-forged" | | 5 | "She didn’t draw it." | | 6 | "She simply let the cold" | | 7 | "They went on." | | 8 | "Her reflection waited—black hair, blue" | | 9 | "She dipped her fingers." | | 10 | "Their whispery voice carried an" | | 11 | "She ignored it for now." | | 12 | "Its wings beat once and" | | 13 | "It opened its mouthparts and" | | 14 | "They reached a clearing ringed" | | 15 | "She looked sideways at Newx." | | 16 | "She turned, pale lavender eyes" | | 17 | "She lowered her wrist." | | 18 | "They formed brief patterns, rings," | | 19 | "Her voice rode the soft" |
| | ratio | 0.242 | |
| 58.90% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 73 | | totalSentences | 91 | | matches | | 0 | "The ancient oaks of Richmond" | | 1 | "Their trunks bulged wider than" | | 2 | "Lichen blanketed the weathered oak-grey" | | 3 | "A sharp scent of crushed" | | 4 | "Rory brushed the crescent scar" | | 5 | "A low vibration climbed her" | | 6 | "The air inside the circle" | | 7 | "Nyx flowed out of the" | | 8 | "Violet glow from their eyes" | | 9 | "Isolde moved ahead without sound" | | 10 | "They pressed deeper past the" | | 11 | "Instant hush swallowed every London" | | 12 | "Wildflowers carpeted the hidden clearing" | | 13 | "Each blossom opened wider the" | | 14 | "Rory crouched and lifted a" | | 15 | "She drifted between the blooms" | | 16 | "Nyx's shadow-outline stretched thin as" | | 17 | "they whispered into the still" | | 18 | "Rory stood and kept walking." | | 19 | "Her fingers found the Fae-forged" |
| | ratio | 0.802 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 91 | | matches | (empty) | | ratio | 0 | |
| 8.93% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 64 | | technicalSentenceCount | 12 | | matches | | 0 | "Their trunks bulged wider than any tree Rory had seen in the city, bark ridged like old scars, and the three of them stepped between the first pair of standing …" | | 1 | "Pale lavender eyes caught the shaft of golden-green light that fell nowhere natural." | | 2 | "When her boot crushed one by accident the plant released a single clear chime that hung in the air and faded only after three full heartbeats." | | 3 | "Nyx's shadow-outline stretched thin as they glided over a patch of taller lilies that shone with inner moonlight even under the canopy." | | 4 | "She simply let the cold of the metal ground her as the path underfoot shifted from springy moss to something softer still, almost spongy, each footfall leaving …" | | 5 | "Golden-green shafts thickened into liquid ribbons that pooled in hollows where footfalls should have broken them yet left them glassy and untouched." | | 6 | "The water clung and then released, colder than river melt, leaving trailing sparks of soft green light on her skin that winked out one by one." | | 7 | "Ahead the wildflowers grew taller, waist high, then higher, petals cupping small beads of translucent nectar that glowed when the filtered light struck them." | | 8 | "Then it lifted away, trailing a single musical note that sounded almost like her own childhood name spoken backward." | | 9 | "The air above the mound vibrated with heat that smelled of crushed elderflower and distant thunder." | | 10 | "Isolde had already stepped onto the mound, her long silver hair lifting as if underwater." | | 11 | "Time really did hold no ledger: the light overhead had taken on a late-afternoon amber that had no business existing under cloudy Richmond sky." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 54.76% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 2 | | fancyTags | | 0 | "they whispered (whisper)" | | 1 | "Isolde murmured (murmur)" |
| | dialogueSentences | 21 | | tagDensity | 0.238 | | leniency | 0.476 | | rawRatio | 0.4 | | effectiveRatio | 0.19 | |