| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1357 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 41.05% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1357 | | totalAiIsms | 16 | | found | | | highlights | | 0 | "flickered" | | 1 | "echo" | | 2 | "silence" | | 3 | "echoed" | | 4 | "weight" | | 5 | "rhythmic" | | 6 | "measured" | | 7 | "warmth" | | 8 | "pulsed" | | 9 | "resolved" | | 10 | "gloom" | | 11 | "whisper" | | 12 | "pulse" | | 13 | "loomed" |
| |
| 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 | 108 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 108 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 115 | | 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 | 1347 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 0 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 35 | | wordCount | 1255 | | uniqueNames | 19 | | maxNameDensity | 0.88 | | worstName | "Aurora" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Aurora" | | discoveredNames | | Boeing | 1 | | Heathrow | 1 | | Richmond | 3 | | Park | 3 | | Aurora | 11 | | Kingston | 1 | | Vale | 1 | | Golden | 1 | | Empress | 1 | | November | 1 | | Evan | 1 | | Cardiff | 1 | | London | 1 | | Fae | 2 | | Grove | 1 | | Heartstone | 2 | | Pendant | 1 | | Hel | 1 | | Isolde | 1 |
| | persons | | 0 | "Boeing" | | 1 | "Aurora" | | 2 | "Evan" | | 3 | "Heartstone" | | 4 | "Pendant" | | 5 | "Hel" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Kingston" | | 3 | "Cardiff" | | 4 | "London" | | 5 | "Fae" | | 6 | "Grove" | | 7 | "Isolde" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 80 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1347 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 115 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 41 | | mean | 32.85 | | std | 23.81 | | cv | 0.725 | | sampleLengths | | 0 | 34 | | 1 | 29 | | 2 | 42 | | 3 | 10 | | 4 | 24 | | 5 | 44 | | 6 | 56 | | 7 | 94 | | 8 | 52 | | 9 | 1 | | 10 | 3 | | 11 | 20 | | 12 | 10 | | 13 | 66 | | 14 | 29 | | 15 | 47 | | 16 | 26 | | 17 | 9 | | 18 | 50 | | 19 | 9 | | 20 | 8 | | 21 | 65 | | 22 | 45 | | 23 | 7 | | 24 | 41 | | 25 | 49 | | 26 | 43 | | 27 | 4 | | 28 | 71 | | 29 | 1 | | 30 | 9 | | 31 | 62 | | 32 | 32 | | 33 | 17 | | 34 | 26 | | 35 | 2 | | 36 | 25 | | 37 | 4 | | 38 | 54 | | 39 | 51 | | 40 | 76 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 108 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 180 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 3 | | flaggedSentences | 9 | | totalSentences | 115 | | ratio | 0.078 | | matches | | 0 | "Outside the perimeter, November frost crusted the dead bracken of the park; in here, blossoms crowded every square inch of turf." | | 1 | "Beneath the crush of her soles, the bruised stems released zero fragrance—not sweet nectar, not crushed chlorophyll, only the flat tang of wet iron." | | 2 | "Panic dulled the eyes; Evan had taught her that lesson years ago in Cardiff, and London’s night shifts had hammered it permanent." | | 3 | "The extra column stood beside the northern gap—squatter than its neighbours, its surface slick rather than grooved, absorbing the torchlight instead of reflecting it." | | 4 | "Her fingers closed through the fabric, meeting no ledger, no lockbox—nothing inside the bag at all except a handful of damp soil that leaked through a slit in the bottom seam." | | 5 | "Leaving the light on painted a target on her chest; in the dark, her night vision levelled the board." | | 6 | "Something invisible—or low and dark enough to drink the moonlight—parted the stalks in a straight line toward the cairn." | | 7 | "From the northern gap—opposite the rustling grass—a wet inhalation drew air through parted teeth, mimicking the sharp breath a human takes before speaking, though no words followed." | | 8 | "Two distinct rhythms of breathing sawed through the dead air—one wet and ragged at her back, one dry and clicking directly ahead—closing the distance between the standing stones and the cairn." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1278 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small crescent-shaped scar" |
| | adverbCount | 25 | | adverbRatio | 0.019561815336463225 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.003912363067292645 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 115 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 115 | | mean | 11.71 | | std | 8.33 | | cv | 0.711 | | sampleLengths | | 0 | 18 | | 1 | 16 | | 2 | 3 | | 3 | 5 | | 4 | 8 | | 5 | 13 | | 6 | 7 | | 7 | 20 | | 8 | 15 | | 9 | 10 | | 10 | 8 | | 11 | 16 | | 12 | 44 | | 13 | 6 | | 14 | 5 | | 15 | 25 | | 16 | 20 | | 17 | 6 | | 18 | 17 | | 19 | 21 | | 20 | 3 | | 21 | 11 | | 22 | 5 | | 23 | 7 | | 24 | 24 | | 25 | 19 | | 26 | 13 | | 27 | 20 | | 28 | 1 | | 29 | 3 | | 30 | 20 | | 31 | 10 | | 32 | 19 | | 33 | 9 | | 34 | 16 | | 35 | 9 | | 36 | 13 | | 37 | 5 | | 38 | 6 | | 39 | 18 | | 40 | 6 | | 41 | 5 | | 42 | 21 | | 43 | 15 | | 44 | 5 | | 45 | 7 | | 46 | 14 | | 47 | 9 | | 48 | 11 | | 49 | 22 |
| |
| 89.57% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.5478260869565217 | | totalSentences | 115 | | uniqueOpeners | 63 | |
| 73.26% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 91 | | matches | | 0 | "Roughly the size of her" | | 1 | "Only one kind of tear" |
| | ratio | 0.022 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 16 | | totalSentences | 91 | | matches | | 0 | "She stepped between two of" | | 1 | "Her voice died three feet" | | 2 | "She thumbed the red disconnect" | | 3 | "She held her breath and" | | 4 | "It originated near the boundary" | | 5 | "She kept her tone level," | | 6 | "She swept the torch in" | | 7 | "She had memorised the layout" | | 8 | "She hooked two fingers beneath" | | 9 | "She backed toward the central" | | 10 | "Her left hand fumbled behind" | | 11 | "She snagged the strap of" | | 12 | "Her fingers closed through the" | | 13 | "She dropped the ruined canvas" | | 14 | "Her boot heel clicked against" | | 15 | "Her whisper barely cleared her" |
| | ratio | 0.176 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 56 | | totalSentences | 91 | | matches | | 0 | "A Boeing descending toward Heathrow" | | 1 | "She stepped between two of" | | 2 | "Nothing replaced it." | | 3 | "The air sat dead and" | | 4 | "Aurora lifted her phone toward" | | 5 | "The screen cast a harsh" | | 6 | "Her voice died three feet" | | 7 | "The grove swallowed the syllables" | | 8 | "She thumbed the red disconnect" | | 9 | "The screen refused to dim." | | 10 | "Aurora shoved the handset into" | | 11 | "The beam cut across knee-high" | | 12 | "Aurora waded forward." | | 13 | "The petals brushed her denim" | | 14 | "The stone cairn squatted fifty" | | 15 | "A canvas satchel rested on" | | 16 | "A dry snap echoed from" | | 17 | "Aurora pivoted, bringing the torch" | | 18 | "The beam pierced the gap" | | 19 | "Nothing stirred in the tall" |
| | ratio | 0.615 | |
| 54.95% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 91 | | matches | | 0 | "To her right, the ninth" |
| | ratio | 0.011 | |
| 91.84% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 56 | | technicalSentenceCount | 4 | | matches | | 0 | "A Boeing descending toward Heathrow carved through the clouds above Richmond Park, its engines vibrating in Aurora’s molars." | | 1 | "She swept the torch in a measured three-hundred-sixty-degree arc, counting the standing stones that fenced the meadow." | | 2 | "Her fingers closed through the fabric, meeting no ledger, no lockbox—nothing inside the bag at all except a handful of damp soil that leaked through a slit in t…" | | 3 | "The Heartstone seared against her collarbone, its red pulse accelerating into a frantic strobe that stained her chin crimson with every beat." |
| |
| 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 | |