| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 92.49% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1332 | | totalAiIsmAdverbs | 2 | | found | | | highlights | | |
| 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) | |
| 0.00% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1332 | | totalAiIsms | 27 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | | | 19 | |
| | highlights | | 0 | "pulsed" | | 1 | "rhythmic" | | 2 | "throb" | | 3 | "warmth" | | 4 | "familiar" | | 5 | "crystallized" | | 6 | "silk" | | 7 | "flickered" | | 8 | "silence" | | 9 | "weight" | | 10 | "tracing" | | 11 | "echoed" | | 12 | "stark" | | 13 | "scanned" | | 14 | "resolved" | | 15 | "shattered" | | 16 | "footsteps" | | 17 | "normalcy" | | 18 | "loomed" | | 19 | "pulse" |
| |
| 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 | 137 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 137 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 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 | | maxSentenceWordsSeen | 48 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1324 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 26 | | wordCount | 1324 | | uniqueNames | 12 | | maxNameDensity | 0.76 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Heartstone | 4 | | Silas | 1 | | Richmond | 1 | | Park | 1 | | Yu-Fei | 1 | | London | 2 | | Eva | 1 | | Cardiff | 2 | | Welsh | 1 | | Gaelic | 1 | | Rory | 10 | | Aurora | 1 |
| | persons | | 0 | "Heartstone" | | 1 | "Silas" | | 2 | "Yu-Fei" | | 3 | "Eva" | | 4 | "Rory" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" | | 3 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 83 | | glossingSentenceCount | 1 | | matches | | 0 | "sounded like a fusillade of gunshots" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 5 | | per1kWords | 3.776 | | wordCount | 1324 | | matches | | 0 | "not entering through her ears but vibrating in her teeth, her sinus cavities, the hollow space" | | 1 | "not in gold but in minutes, in hours, in the years of a life" | | 2 | "not Rory, not Aurora, but the third name, the hidden one, the syllables" | | 3 | "not Aurora, but the third name, the hidden one, the syllables" | | 4 | "not following, but circling" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 137 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 41 | | mean | 32.29 | | std | 21.8 | | cv | 0.675 | | sampleLengths | | 0 | 73 | | 1 | 8 | | 2 | 91 | | 3 | 40 | | 4 | 17 | | 5 | 68 | | 6 | 41 | | 7 | 46 | | 8 | 3 | | 9 | 38 | | 10 | 27 | | 11 | 14 | | 12 | 57 | | 13 | 3 | | 14 | 3 | | 15 | 56 | | 16 | 6 | | 17 | 40 | | 18 | 3 | | 19 | 65 | | 20 | 18 | | 21 | 42 | | 22 | 17 | | 23 | 49 | | 24 | 38 | | 25 | 23 | | 26 | 55 | | 27 | 25 | | 28 | 19 | | 29 | 47 | | 30 | 10 | | 31 | 40 | | 32 | 16 | | 33 | 34 | | 34 | 28 | | 35 | 17 | | 36 | 50 | | 37 | 7 | | 38 | 40 | | 39 | 48 | | 40 | 2 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 137 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 235 | | matches | | |
| 59.44% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 137 | | ratio | 0.029 | | matches | | 0 | "The shape resolved into nothing when she turned her head, but the afterimage burned in her retinas—something angular, something that wore a crown of thorns and bone." | | 1 | "Through the distortion, she glimpsed the park as it should exist—street lamps distant and yellow, the A316 beyond, the twenty-four hour petrol station on the roundabout." | | 2 | "It spoke her name—not Rory, not Aurora, but the third name, the hidden one, the syllables that only her mother had known and whispered once, twenty-five years ago, in a Cardiff hospital room." | | 3 | "She saw the grove in two states simultaneously: the quiet clearing where wildflowers bloomed eternal, and the truth beneath—the twisted forest where time pooled like stagnant water, where figures with too many joints and too many eyes watched from between black trees that dripped sap like blood." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1332 | | adjectiveStacks | 1 | | stackExamples | | 0 | "viscous, pressing against her" |
| | adverbCount | 42 | | adverbRatio | 0.03153153153153153 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.008258258258258258 | |
| 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 | 9.66 | | std | 8.12 | | cv | 0.84 | | sampleLengths | | 0 | 7 | | 1 | 11 | | 2 | 10 | | 3 | 16 | | 4 | 29 | | 5 | 8 | | 6 | 5 | | 7 | 8 | | 8 | 24 | | 9 | 6 | | 10 | 17 | | 11 | 16 | | 12 | 15 | | 13 | 8 | | 14 | 5 | | 15 | 13 | | 16 | 10 | | 17 | 4 | | 18 | 4 | | 19 | 8 | | 20 | 5 | | 21 | 3 | | 22 | 17 | | 23 | 4 | | 24 | 5 | | 25 | 2 | | 26 | 11 | | 27 | 4 | | 28 | 22 | | 29 | 2 | | 30 | 13 | | 31 | 3 | | 32 | 7 | | 33 | 16 | | 34 | 6 | | 35 | 13 | | 36 | 23 | | 37 | 2 | | 38 | 2 | | 39 | 3 | | 40 | 18 | | 41 | 2 | | 42 | 5 | | 43 | 11 | | 44 | 2 | | 45 | 3 | | 46 | 10 | | 47 | 14 | | 48 | 4 | | 49 | 10 |
| |
| 54.26% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.36496350364963503 | | totalSentences | 137 | | uniqueOpeners | 50 | |
| 28.25% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 118 | | matches | | 0 | "Only the Heartstone provided light," |
| | ratio | 0.008 | |
| 87.80% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 39 | | totalSentences | 118 | | matches | | 0 | "She straightened, brushing dirt from" | | 1 | "It had dragged her here," | | 2 | "She stood within the reach" | | 3 | "She knew this section of" | | 4 | "She'd cut through it a" | | 5 | "They formed a triangle that" | | 6 | "She stepped over the threshold." | | 7 | "Her breath crystallized, hanging in" | | 8 | "She checked her phone." | | 9 | "She shook the device." | | 10 | "She moved deeper into the" | | 11 | "Her hand drifted to her" | | 12 | "She turned back." | | 13 | "She walked the perimeter of" | | 14 | "Her shadow stretched long and" | | 15 | "She remembered the vague warning" | | 16 | "She wasn't laughing now." | | 17 | "She scanned the darkness between" | | 18 | "She caught the impression of" | | 19 | "It disappeared when she looked" |
| | ratio | 0.331 | |
| 15.08% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 105 | | totalSentences | 118 | | matches | | 0 | "Rory ducked beneath the low" | | 1 | "The bark scraped her cheek," | | 2 | "She straightened, brushing dirt from" | | 3 | "The Heartstone pulsed against her" | | 4 | "It had dragged her here," | | 5 | "She stood within the reach" | | 6 | "These trees didn't belong here." | | 7 | "She knew this section of" | | 8 | "She'd cut through it a" | | 9 | "Tonight, the familiar path had" | | 10 | "Brambles had parted like curtains," | | 11 | "They formed a triangle that" | | 12 | "Wildflowers carpeted the ground within" | | 13 | "Bluebells nodded their heavy heads." | | 14 | "Foxgloves thrust purple spears toward" | | 15 | "October had stripped the rest" | | 16 | "These blooms shouldn't exist." | | 17 | "Rory touched the pendant." | | 18 | "The crimson gem flared, hot" | | 19 | "She stepped over the threshold." |
| | ratio | 0.89 | |
| 42.37% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 118 | | matches | | | ratio | 0.008 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 55 | | technicalSentenceCount | 11 | | matches | | 0 | "The Heartstone pulsed against her sternum, a rhythmic throb that matched no heartbeat she'd ever felt." | | 1 | "It had dragged her here, burning against her skin for the past three hours, leading her away from the warmth of Silas's bar and into Richmond Park after midnigh…" | | 2 | "Foxgloves thrust purple spears toward a moon that hung too low, too large." | | 3 | "Her breath crystallized, hanging in clouds that dissipated too slowly, clinging to her hair like spider silk." | | 4 | "The sound came from everywhere and nowhere, bouncing off stones that shouldn't have created acoustics, resonating in her marrow." | | 5 | "The shape resolved into nothing when she turned her head, but the afterimage burned in her retinas—something angular, something that wore a crown of thorns and …" | | 6 | "Close enough that she felt the displacement of air, the drop in temperature that accompanied the presence." | | 7 | "The presence loomed, taller than her by several feet, breathing air that smelled of loam and rotting petals and the chemical sweetness of gas leaks." | | 8 | "She had come here following the warmth, chasing the promise of answers about the pendant's origin, about the unknown benefactor who'd slipped it into her coat." | | 9 | "She saw the grove in two states simultaneously: the quiet clearing where wildflowers bloomed eternal, and the truth beneath—the twisted forest where time pooled…" | | 10 | "Only the Heartstone provided light, its crimson glow revealing shapes that stood perfectly still among the oaks, waiting for the light to die, waiting for the w…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |