| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 10 | | adverbTagCount | 1 | | adverbTags | | 0 | "She spoke again [again]" |
| | dialogueSentences | 13 | | tagDensity | 0.769 | | leniency | 1 | | rawRatio | 0.1 | | effectiveRatio | 0.1 | |
| 88.77% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1336 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "completely" | | 1 | "quickly" | | 2 | "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) | |
| 47.60% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1336 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "silk" | | 1 | "pulse" | | 2 | "warmth" | | 3 | "throbbed" | | 4 | "familiar" | | 5 | "silence" | | 6 | "echo" | | 7 | "calculating" | | 8 | "stomach" | | 9 | "shimmered" | | 10 | "weight" |
| |
| 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 | 49 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 49 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 52 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 102 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1330 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 48 | | wordCount | 1153 | | uniqueNames | 26 | | maxNameDensity | 0.87 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Grove" | | discoveredNames | | Richmond | 1 | | Park | 1 | | Grove | 7 | | Earth | 1 | | Fae | 1 | | Eva | 3 | | Cardiff | 2 | | University | 1 | | Yu-Fei | 1 | | Cheung | 1 | | Golden | 1 | | Empress | 1 | | Brendan | 1 | | Carter | 2 | | Jennifer | 1 | | Ellis | 1 | | Welsh | 1 | | Shoreditch | 1 | | Rory | 10 | | Evan | 2 | | Heartstone | 2 | | Pendant | 1 | | London | 1 | | Hel | 2 | | Laila | 1 | | Aurora | 1 |
| | persons | | 0 | "Grove" | | 1 | "Eva" | | 2 | "University" | | 3 | "Yu-Fei" | | 4 | "Cheung" | | 5 | "Brendan" | | 6 | "Carter" | | 7 | "Jennifer" | | 8 | "Ellis" | | 9 | "Welsh" | | 10 | "Rory" | | 11 | "Evan" | | 12 | "Heartstone" | | 13 | "Pendant" | | 14 | "Laila" | | 15 | "Aurora" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Cardiff" | | 3 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 84.21% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 38 | | glossingSentenceCount | 1 | | matches | | 0 | "seemed taller than they had been at noon, their bark sharpening into ridges that looked almost like faces in the dark" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 2.256 | | wordCount | 1330 | | matches | | 0 | "not with warmth now, but with a flush of warning, pulsing faster, an alarm against th" | | 1 | "not with a hinge, but with an absence, with the air rushing out of a chamber" | | 2 | "not in words, but in the blooming of wildflowers, in the turning of heads, in" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 52 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 35 | | mean | 38 | | std | 32.94 | | cv | 0.867 | | sampleLengths | | 0 | 145 | | 1 | 119 | | 2 | 73 | | 3 | 23 | | 4 | 41 | | 5 | 100 | | 6 | 29 | | 7 | 18 | | 8 | 34 | | 9 | 28 | | 10 | 71 | | 11 | 45 | | 12 | 44 | | 13 | 62 | | 14 | 8 | | 15 | 28 | | 16 | 53 | | 17 | 15 | | 18 | 37 | | 19 | 52 | | 20 | 42 | | 21 | 8 | | 22 | 58 | | 23 | 12 | | 24 | 6 | | 25 | 21 | | 26 | 27 | | 27 | 4 | | 28 | 52 | | 29 | 4 | | 30 | 4 | | 31 | 50 | | 32 | 5 | | 33 | 6 | | 34 | 6 |
| |
| 90.94% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 49 | | matches | | 0 | "been given" | | 1 | "been sealed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 192 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 2 | | flaggedSentences | 6 | | totalSentences | 52 | | ratio | 0.115 | | matches | | 0 | "Not cold, not warm—thicker, textured, like drawing breath through wet silk that clung to the back of her throat." | | 1 | "Time inside the Grove moved differently; an hour here could be minutes or days outside." | | 2 | "A figure stood at the far stone. Not human, not quite—tall, wrong-jointed, with a head that turned too slowly. But Rory’s intelligence did not flinch. She spoke to it, and to herself, because the Grove demanded honesty, and she had learned that dialogue was the only weapon she had left, and it had to continue the action, never stall, never add fluff." | | 3 | "The pendant’s glow sharpened, not with warmth now, but with a flush of warning, pulsing faster, an alarm against the Hel portal she was standing inside, and the Grove answered with a sound like a door opening—not with a hinge, but with an absence, with the air rushing out of a chamber that had been sealed for centuries." | | 4 | "The answer came not in words, but in the blooming of wildflowers, in the turning of heads, in the single, wet click of a tongue against teeth, and Rory Carter, once Rory, once Laila, once Aurora, looked at the empty stone and knew—in her cool, intelligent, quick-thinking heart—that she was not wrong." | | 5 | "The figure did not speak; the Grove spoke for it, with the wrongness of time turning, with the wildflowers turning, with the pulse of the crimson gem against her throat, and Rory saw, with a clarity that cut through the dark, that she had been wrong about only one thing." |
| |
| 88.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 959 | | adjectiveStacks | 2 | | stackExamples | | 0 | "small crescent-shaped scar" | | 1 | "cool, intelligent, quick-thinking" |
| | adverbCount | 37 | | adverbRatio | 0.03858185610010428 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.008342022940563087 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 52 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 52 | | mean | 25.58 | | std | 20.61 | | cv | 0.806 | | sampleLengths | | 0 | 18 | | 1 | 19 | | 2 | 39 | | 3 | 35 | | 4 | 34 | | 5 | 3 | | 6 | 15 | | 7 | 53 | | 8 | 48 | | 9 | 28 | | 10 | 15 | | 11 | 1 | | 12 | 2 | | 13 | 27 | | 14 | 23 | | 15 | 6 | | 16 | 10 | | 17 | 25 | | 18 | 100 | | 19 | 29 | | 20 | 18 | | 21 | 34 | | 22 | 28 | | 23 | 31 | | 24 | 40 | | 25 | 45 | | 26 | 44 | | 27 | 62 | | 28 | 5 | | 29 | 3 | | 30 | 28 | | 31 | 53 | | 32 | 8 | | 33 | 7 | | 34 | 37 | | 35 | 52 | | 36 | 42 | | 37 | 3 | | 38 | 5 | | 39 | 58 | | 40 | 12 | | 41 | 6 | | 42 | 21 | | 43 | 27 | | 44 | 4 | | 45 | 52 | | 46 | 4 | | 47 | 4 | | 48 | 50 | | 49 | 5 |
| |
| 46.15% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.34615384615384615 | | totalSentences | 52 | | uniqueOpeners | 18 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 45 | | matches | (empty) | | ratio | 0 | |
| 60.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 18 | | totalSentences | 45 | | matches | | 0 | "She kept her straight black" | | 1 | "She moved deeper." | | 2 | "She did not check her" | | 3 | "It had been given to" | | 4 | "They did not bend with" | | 5 | "She walked on, her" | | 6 | "She spoke again, quieter, though" | | 7 | "You came with no" | | 8 | "She walked toward them anyway." | | 9 | "She spoke once more, because" | | 10 | "I want the time" | | 11 | "She turned her back to" | | 12 | "She stopped. The crescent scar" | | 13 | "She turned, and spoke to" | | 14 | "She was not wrong." | | 15 | "She was not alone." | | 16 | "She had never been alone." | | 17 | "She had crossed the boundary" |
| | ratio | 0.4 | |
| 60.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 36 | | totalSentences | 45 | | matches | | 0 | "Rory pushed through the ancient" | | 1 | "She kept her straight black" | | 2 | "She moved deeper." | | 3 | "She did not check her" | | 4 | "The delivery bags sat untouched" | | 5 | "The Heartstone Pendant hung against" | | 6 | "It had been given to" | | 7 | "The warmth sharpened when she" | | 8 | "Rory said, her voice flat" | | 9 | "They did not bend with" | | 10 | "Crimson and pearl blossoms brushed" | | 11 | "She walked on, her" | | 12 | "A sound arrived. Not a" | | 13 | "Rory stopped. She turned her" | | 14 | "She spoke again, quieter, though" | | 15 | "The pendant’s glow thickened. She" | | 16 | "You came with no" | | 17 | "The wildflowers shifted. Not metaphorically." | | 18 | "She walked toward them anyway." | | 19 | "A figure stood at the" |
| | ratio | 0.8 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 45 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 28 | | technicalSentenceCount | 13 | | matches | | 0 | "Not cold, not warm—thicker, textured, like drawing breath through wet silk that clung to the back of her throat." | | 1 | "She kept her straight black hair pinned back with a clip she had borrowed from Eva’s flat, though sweat already clung to her bright blue eyes, reflecting a moon…" | | 2 | "Inside this clearing, the lunar light turned yellow, bruised, and the oak stones seemed taller than they had been at noon, their bark sharpening into ridges tha…" | | 3 | "She did not check her phone because there was no signal, and she did not check her watch because she knew, with the cold precision that had survived Cardiff Uni…" | | 4 | "Crimson and pearl blossoms brushed her knees, releasing a scent that smelled of copper and old rain, of something buried for years in wet earth." | | 5 | "A sound arrived. Not a bird. Wet. Clicking, like someone working a tongue against teeth, and then a silence that swallowed the echo before it could reach her ea…" | | 6 | "But the sound came again, closer, and this time it held a rhythm. Breath. Wet. Human in shape but wrong in timing, as if the creature that owned it had forgotte…" | | 7 | "The wildflowers shifted. Not metaphorically. The stems bent, the crimson heads pivoting, tracking her steps with a patience that made her stomach tighten withou…" | | 8 | "The figure did not answer. It only watched, and behind it, the wildflowers opened like mouths, crimson petals curling back to expose center flesh that shimmered…" | | 9 | "The figure leaned. A branch snapped under weight that should have been hollow, but the sound was wet, heavy, wrong, and the wildflowers turned away from her, bo…" | | 10 | "Rory stepped back. Her black hair pulled by the wind that had not existed seconds before, her bright blue eyes fixed on the stone where the figure had been, now…" | | 11 | "The pendant’s glow sharpened, not with warmth now, but with a flush of warning, pulsing faster, an alarm against the Hel portal she was standing inside, and the…" | | 12 | "She turned, and spoke to the darkness, her voice carrying across the wildflowers that had not stopped turning, that leaned closer now, pressing petals against h…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 7 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 73.08% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 1 | | fancyTags | | 0 | "She spoke again (speak)" |
| | dialogueSentences | 13 | | tagDensity | 0.231 | | leniency | 0.462 | | rawRatio | 0.333 | | effectiveRatio | 0.154 | |