| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 23 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 43 | | tagDensity | 0.535 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2218 | | 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) | |
| 32.37% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2218 | | totalAiIsms | 30 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | | | 19 | | | 20 | |
| | highlights | | 0 | "loomed" | | 1 | "pulsed" | | 2 | "pulse" | | 3 | "warmth" | | 4 | "shimmered" | | 5 | "chill" | | 6 | "whisper" | | 7 | "echo" | | 8 | "throbbed" | | 9 | "tenderness" | | 10 | "stomach" | | 11 | "etched" | | 12 | "glint" | | 13 | "quickened" | | 14 | "could feel" | | 15 | "trembled" | | 16 | "silk" | | 17 | "resolve" | | 18 | "echoing" | | 19 | "perfect" | | 20 | "footsteps" |
| |
| 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 | 152 | | matches | (empty) | |
| 86.47% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 6 | | narrationSentences | 152 | | filterMatches | (empty) | | hedgeMatches | | 0 | "seemed to" | | 1 | "tried to" | | 2 | "seem to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 172 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 39 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2194 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 26 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 60 | | wordCount | 1931 | | uniqueNames | 12 | | maxNameDensity | 0.98 | | worstName | "Aurora" | | maxWindowNameDensity | 2 | | worstWindowName | "Aurora" | | discoveredNames | | Aurora | 19 | | Shade | 1 | | Fae-forged | 2 | | Isolde | 11 | | Seer | 1 | | Shadows | 2 | | Nyx | 14 | | Heartstone | 2 | | Eva | 1 | | Cardiff | 1 | | Fae | 3 | | One | 3 |
| | persons | | 0 | "Aurora" | | 1 | "Shade" | | 2 | "Isolde" | | 3 | "Shadows" | | 4 | "Nyx" | | 5 | "Heartstone" | | 6 | "Eva" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 29.03% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 124 | | glossingSentenceCount | 6 | | matches | | 0 | "felt like a touch" | | 1 | "as if testing the grain" | | 2 | "felt like a bruise" | | 3 | "as if listening" | | 4 | "as if deciding the safer course was her skin" | | 5 | "as if presenting a new course" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 0.912 | | wordCount | 2194 | | matches | | 0 | "no heat but" | | 1 | "not loud but intimate, like someone whispering through the silk of a curt" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 172 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 54 | | mean | 40.63 | | std | 21.8 | | cv | 0.537 | | sampleLengths | | 0 | 77 | | 1 | 33 | | 2 | 38 | | 3 | 18 | | 4 | 39 | | 5 | 27 | | 6 | 35 | | 7 | 48 | | 8 | 2 | | 9 | 66 | | 10 | 31 | | 11 | 47 | | 12 | 76 | | 13 | 18 | | 14 | 66 | | 15 | 66 | | 16 | 35 | | 17 | 18 | | 18 | 73 | | 19 | 24 | | 20 | 53 | | 21 | 80 | | 22 | 41 | | 23 | 49 | | 24 | 34 | | 25 | 92 | | 26 | 10 | | 27 | 37 | | 28 | 45 | | 29 | 57 | | 30 | 14 | | 31 | 28 | | 32 | 35 | | 33 | 73 | | 34 | 19 | | 35 | 35 | | 36 | 16 | | 37 | 74 | | 38 | 20 | | 39 | 18 | | 40 | 83 | | 41 | 58 | | 42 | 15 | | 43 | 26 | | 44 | 62 | | 45 | 19 | | 46 | 21 | | 47 | 52 | | 48 | 33 | | 49 | 31 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 152 | | matches | | 0 | "been held" | | 1 | "was veined" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 346 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 19 | | semicolonCount | 6 | | flaggedSentences | 22 | | totalSentences | 172 | | ratio | 0.128 | | matches | | 0 | "Her voice boiled like tea poured through glass—riddled and precise." | | 1 | "Light bent and the trees folded; a pressure built behind Aurora's teeth until the world tilted, and the pendant snapped hotter against her chest." | | 2 | "The warm thud in her palm became a drumbeat that matched an old rhythm—doors opening in the dark." | | 3 | "A path opened beneath their feet—soft soil threaded with crushed spice, tiny luminescent seeds that cracked like tiny bells when stepped on." | | 4 | "The ground hummed with a softness that carried memory; Aurora almost felt the echo of hands that had picked these orchards long before she existed." | | 5 | "Rows twisted in on themselves and reappeared in impossible angles; a trellis arched, broke, then looped into a ceiling like the ribs of some great sleeping beast." | | 6 | "Light refracted from leaves that shimmered with oil-slick rainbows, showing them the reflection of faces that were not theirs—faces smiling while another part of them understood too late that the mouths did not belong to living things." | | 7 | "Chefs moved around the table with surgical poise—hands that doubled as claws and as caresses, turning meat the size of a cartwheel, slicing fruit that bled a slow red juice into bowls." | | 8 | "The steam tasted of those things and then tasted of something else—of bargaining and a price." | | 9 | "A single grape on a plate rolled, split, and a tiny thing scuttled out from the centre—an insect the size of a fingernail, with eyes like pinpricks that reflected the lantern sky." | | 10 | "Nyx extended a hand—no fingers, only suggestion—and plucked at the air." | | 11 | "The workers—thin, handsome people with collars of braided rope—moved with frantic tenderness." | | 12 | "Shadows lengthened and shifted even without sun; they worried at corners and whispered names in a language that felt like a bruise." | | 13 | "People gathered around the fountains and cupped the syrup in their hands like water, tasting, and when they swallowed, their faces would wet with something else—tears or sweat or joy, Aurora could not tell." | | 14 | "She looked into the fountain and saw, for a heartbeat, a reflection of someone she had known, then someone else—faces braided into a single mirror." | | 15 | "The pendant burned; the Heartstone's pulse quickened until Aurora could feel it against her tongue." | | 16 | "Isolde's laugh came then—little and brittle." | | 17 | "Around the table, plates turned and showed them scenes—cities swallowed by vines, children trading their lullabies for glossy fruit, lovers bartering promises for a last taste." | | 18 | "The plates turned toward Aurora and held a mirror of her own life: the break in her wrist where the crescent scar lay; Eva's laugh echoing from kitchen tiles in a Cardiff flat." | | 19 | "The tendril touched the ceramic and retracted loaded with a sliver of sound—a lullaby that had once soothed a tiny child in a room with lavender curtains." | | 20 | "Around them, someone laughed—soft and delighted—and the servants with their rope collars looked up, their expressions split between servile and feral." | | 21 | "From that doorway something came toward them—boots on cobblestones, steady, not the chirp of a host." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1955 | | adjectiveStacks | 1 | | stackExamples | | 0 | "blade-idle against her" |
| | adverbCount | 49 | | adverbRatio | 0.02506393861892583 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.0025575447570332483 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 172 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 172 | | mean | 12.76 | | std | 7.84 | | cv | 0.615 | | sampleLengths | | 0 | 8 | | 1 | 22 | | 2 | 22 | | 3 | 25 | | 4 | 9 | | 5 | 8 | | 6 | 16 | | 7 | 17 | | 8 | 14 | | 9 | 7 | | 10 | 6 | | 11 | 12 | | 12 | 18 | | 13 | 11 | | 14 | 10 | | 15 | 7 | | 16 | 20 | | 17 | 13 | | 18 | 22 | | 19 | 6 | | 20 | 24 | | 21 | 18 | | 22 | 2 | | 23 | 7 | | 24 | 19 | | 25 | 11 | | 26 | 17 | | 27 | 12 | | 28 | 14 | | 29 | 15 | | 30 | 2 | | 31 | 22 | | 32 | 25 | | 33 | 2 | | 34 | 10 | | 35 | 27 | | 36 | 37 | | 37 | 13 | | 38 | 5 | | 39 | 15 | | 40 | 5 | | 41 | 32 | | 42 | 7 | | 43 | 7 | | 44 | 17 | | 45 | 33 | | 46 | 16 | | 47 | 15 | | 48 | 17 | | 49 | 3 |
| |
| 52.52% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.36046511627906974 | | totalSentences | 172 | | uniqueOpeners | 62 | |
| 73.53% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 136 | | matches | | 0 | "Light bent and the trees" | | 1 | "Somewhere close, a kettle sang" | | 2 | "Somewhere laughter hummed and fell" |
| | ratio | 0.022 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 28 | | totalSentences | 136 | | matches | | 0 | "She rested her palm on" | | 1 | "Her voice boiled like tea" | | 2 | "She had no love for" | | 3 | "It announced itself with a" | | 4 | "she said, and the words" | | 5 | "It scuttled across Nyx's shadow" | | 6 | "She found herself counting to" | | 7 | "They pressed on, past trees" | | 8 | "She had read about older" | | 9 | "They reached a courtyard where" | | 10 | "She looked into the fountain" | | 11 | "It left behind a sheen" | | 12 | "She unclasped the chain and" | | 13 | "it said, and the syllables" | | 14 | "It wore a coat stitched" | | 15 | "it announced, and the voice" | | 16 | "She felt its cold resolve" | | 17 | "She slid the dagger free" | | 18 | "she asked, voice dry, an" | | 19 | "She had come here because" |
| | ratio | 0.206 | |
| 37.21% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 115 | | totalSentences | 136 | | matches | | 0 | "Fog stung Aurora's lungs and" | | 1 | "The standing stones loomed like" | | 2 | "The pendant lay against her" | | 3 | "Each beat sent a faint" | | 4 | "Nyx shifted beside her, a" | | 5 | "The Shade's edges shimmered like" | | 6 | "Aurora said, fingers tightening around" | | 7 | "The Fae-forged blade was chill" | | 8 | "The moonsilver tasted of moonlight" | | 9 | "Nyx's whisper braided with the" | | 10 | "Isolde stood with them, hair" | | 11 | "She rested her palm on" | | 12 | "Her voice boiled like tea" | | 13 | "Aurora met Isolde's pale-lavender eyes" | | 14 | "She had no love for" | | 15 | "The air between the stones" | | 16 | "The warm thud in her" | | 17 | "Dymas did not wait to" | | 18 | "It announced itself with a" | | 19 | "Vines spun along invisible scaffolding" |
| | ratio | 0.846 | |
| 36.76% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 136 | | matches | | 0 | "Now the ledger opened in" |
| | ratio | 0.007 | |
| 81.88% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 82 | | technicalSentenceCount | 7 | | matches | | 0 | "The Fae-forged blade was chill through her coat, a coldness that steadied her bones." | | 1 | "The warm thud in her palm became a drumbeat that matched an old rhythm—doors opening in the dark." | | 2 | "It announced itself with a sky the colour of the inside of a lantern, a suspended amber that breathed." | | 3 | "Light refracted from leaves that shimmered with oil-slick rainbows, showing them the reflection of faces that were not theirs—faces smiling while another part o…" | | 4 | "Chefs moved around the table with surgical poise—hands that doubled as claws and as caresses, turning meat the size of a cartwheel, slicing fruit that bled a sl…" | | 5 | "A single grape on a plate rolled, split, and a tiny thing scuttled out from the centre—an insect the size of a fingernail, with eyes like pinpricks that reflect…" | | 6 | "The Fae-forged metal hummed with a subtle knowledge, as if it remembered the feel of faerie court airs and silvered songs." |
| |
| 38.04% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 23 | | uselessAdditionCount | 4 | | matches | | 0 | "Aurora said, fingers tightening around the dagger at her hip" | | 1 | "she said, and the words came out flat, a command without melodrama" | | 2 | "it said, and the syllables combed the air" | | 3 | "it announced, and the voice bled into the room like wine" |
| |
| 41.30% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 23 | | fancyCount | 5 | | fancyTags | | 0 | "Nyx breathed (breathe)" | | 1 | "she murmured (murmur)" | | 2 | "they breathed (breathe)" | | 3 | "it announced (announce)" | | 4 | "Nyx murmured (murmur)" |
| | dialogueSentences | 43 | | tagDensity | 0.535 | | leniency | 1 | | rawRatio | 0.217 | | effectiveRatio | 0.217 | |