| 50.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 3 | | adverbTags | | 0 | "It had simply [simply]" | | 1 | "she said firmly [firmly]" | | 2 | "The shadow dissipated then [then]" |
| | dialogueSentences | 37 | | tagDensity | 0.541 | | leniency | 1 | | rawRatio | 0.15 | | effectiveRatio | 0.15 | |
| 85.81% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1409 | | totalAiIsmAdverbs | 4 | | 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) | |
| 39.67% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1409 | | totalAiIsms | 17 | | found | | | highlights | | 0 | "warmth" | | 1 | "perfect" | | 2 | "pulsed" | | 3 | "chill" | | 4 | "dancing" | | 5 | "silence" | | 6 | "whisper" | | 7 | "shimmered" | | 8 | "firmly" | | 9 | "trembled" | | 10 | "quickened" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 2 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
| | 1 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | 0 | "eyes widened" | | 1 | "hung thick in the air" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 115 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 115 | | filterMatches | (empty) | | hedgeMatches | | 0 | "happened to" | | 1 | "began to" | | 2 | "seemed to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 133 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 42 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1393 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 16.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 38 | | wordCount | 1196 | | uniqueNames | 9 | | maxNameDensity | 2.01 | | worstName | "Aurora" | | maxWindowNameDensity | 4.5 | | worstWindowName | "Aurora" | | discoveredNames | | Aurora | 24 | | Richmond | 1 | | Park | 1 | | March | 2 | | Heartstone | 4 | | Pendant | 1 | | Tube | 3 | | Welsh | 1 | | Stories | 1 |
| | persons | | | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Tube" |
| | globalScore | 0.497 | | windowScore | 0.167 | |
| 72.68% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 97 | | glossingSentenceCount | 3 | | matches | | 0 | "seemed straightforward when she'd read them in the warmth of her flat above" | | 1 | "quite match the shapes that cast them" | | 2 | "felt like an hour" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1393 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 133 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 56 | | mean | 24.88 | | std | 13.25 | | cv | 0.533 | | sampleLengths | | 0 | 56 | | 1 | 31 | | 2 | 14 | | 3 | 58 | | 4 | 52 | | 5 | 47 | | 6 | 53 | | 7 | 7 | | 8 | 8 | | 9 | 29 | | 10 | 37 | | 11 | 16 | | 12 | 28 | | 13 | 33 | | 14 | 30 | | 15 | 14 | | 16 | 22 | | 17 | 42 | | 18 | 39 | | 19 | 8 | | 20 | 24 | | 21 | 10 | | 22 | 1 | | 23 | 21 | | 24 | 9 | | 25 | 11 | | 26 | 27 | | 27 | 29 | | 28 | 17 | | 29 | 18 | | 30 | 29 | | 31 | 14 | | 32 | 23 | | 33 | 18 | | 34 | 18 | | 35 | 24 | | 36 | 15 | | 37 | 32 | | 38 | 19 | | 39 | 25 | | 40 | 37 | | 41 | 28 | | 42 | 20 | | 43 | 18 | | 44 | 29 | | 45 | 17 | | 46 | 12 | | 47 | 34 | | 48 | 39 | | 49 | 18 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 115 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 211 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 133 | | ratio | 0.068 | | matches | | 0 | "She'd snuck in through a maintenance gate with a broken lock—not technically breaking and entering if the lock was already broken, she'd reasoned." | | 1 | "It had simply appeared on her doorstep three days ago with a note: \"Find the Grove. Answers await.\" The handwriting had been elegant, almost antiquated—the sort of script her mum would've called \"proper penmanship.\" The kind nobody under eighty still used." | | 2 | "The air changed immediately—warmer, heavier with the scent of wildflowers that shouldn't bloom for months." | | 3 | "Wildflowers carpeted the ground—bluebells, foxglove, and flowers she couldn't name, all blooming impossibly in the chill of March." | | 4 | "As her fingers brushed the petals, she noticed something odd—the blossoms were closing, one by one, as if night was falling within the circle despite the fact it had been night outside for hours." | | 5 | "Another sound—rustling leaves, but there was no wind." | | 6 | "In the sudden blackness, Aurora felt breath on her neck—warm, moist, and smelling of earth and decay." | | 7 | "Behind her, something crashed through the underbrush—something large and fast." | | 8 | "The normal sounds of the park returned—distant traffic, the hoot of an owl." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 157 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 4 | | adverbRatio | 0.025477707006369428 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.006369426751592357 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 133 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 133 | | mean | 10.47 | | std | 5.93 | | cv | 0.566 | | sampleLengths | | 0 | 17 | | 1 | 3 | | 2 | 18 | | 3 | 18 | | 4 | 18 | | 5 | 13 | | 6 | 6 | | 7 | 7 | | 8 | 1 | | 9 | 23 | | 10 | 8 | | 11 | 21 | | 12 | 6 | | 13 | 16 | | 14 | 21 | | 15 | 15 | | 16 | 6 | | 17 | 41 | | 18 | 9 | | 19 | 10 | | 20 | 16 | | 21 | 18 | | 22 | 7 | | 23 | 8 | | 24 | 5 | | 25 | 15 | | 26 | 9 | | 27 | 12 | | 28 | 12 | | 29 | 13 | | 30 | 13 | | 31 | 3 | | 32 | 13 | | 33 | 15 | | 34 | 9 | | 35 | 4 | | 36 | 8 | | 37 | 1 | | 38 | 11 | | 39 | 18 | | 40 | 12 | | 41 | 14 | | 42 | 5 | | 43 | 7 | | 44 | 10 | | 45 | 8 | | 46 | 34 | | 47 | 19 | | 48 | 7 | | 49 | 13 |
| |
| 70.43% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.43609022556390975 | | totalSentences | 133 | | uniqueOpeners | 58 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 111 | | matches | | 0 | "Just twisted trees and dancing" | | 1 | "Then, a soft whisper from" | | 2 | "Only then did she risk" | | 3 | "Just a dark, closed park" | | 4 | "Instinctively, she slipped it into" |
| | ratio | 0.045 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 26 | | totalSentences | 111 | | matches | | 0 | "she muttered, brushing her straight" | | 1 | "She'd snuck in through a" | | 2 | "She silenced it and pressed" | | 3 | "It had started as barely" | | 4 | "She hadn't asked for the" | | 5 | "It had simply appeared on" | | 6 | "They looked less like trees" | | 7 | "Her ears popped as if" | | 8 | "Her voice sounded muffled, as" | | 9 | "She pocketed it and moved" | | 10 | "Their scent hung thick in" | | 11 | "she called out" | | 12 | "She knelt to examine the" | | 13 | "she murmured, recalling fragments of" | | 14 | "Her fingers wrapped around the" | | 15 | "Her heart hammered against her" | | 16 | "she said firmly" | | 17 | "Her foot caught on something." | | 18 | "She pulled at the entangling" | | 19 | "She landed hard against one" |
| | ratio | 0.234 | |
| 63.60% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 88 | | totalSentences | 111 | | matches | | 0 | "The pendant swung against Aurora's" | | 1 | "The instructions had seemed straightforward" | | 2 | "she muttered, brushing her straight" | | 3 | "Aurora checked her phone: 11:42" | | 4 | "The battery icon glowed an" | | 5 | "She'd snuck in through a" | | 6 | "The late March air bit" | | 7 | "A small voice in her" | | 8 | "She silenced it and pressed" | | 9 | "The Heartstone Pendant had grown" | | 10 | "It had started as barely" | | 11 | "The crimson stone gave off" | | 12 | "She hadn't asked for the" | | 13 | "It had simply appeared on" | | 14 | "The pendant's glow intensified as" | | 15 | "Aurora stopped at its edge," | | 16 | "They looked less like trees" | | 17 | "The pendant burned against her" | | 18 | "Aurora stepped into the circle." | | 19 | "The air changed immediately—warmer, heavier" |
| | ratio | 0.793 | |
| 45.05% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 111 | | matches | | 0 | "Now, standing at the edge" |
| | ratio | 0.009 | |
| 83.33% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 4 | | matches | | 0 | "A small voice in her head that sounded suspiciously like her barrister father reminded her of the legal consequences of trespassing." | | 1 | "The air changed immediately—warmer, heavier with the scent of wildflowers that shouldn't bloom for months." | | 2 | "The pendant pulsed against her skin, its rhythm mimicking a heartbeat that wasn't her own." | | 3 | "As her fingers brushed the petals, she noticed something odd—the blossoms were closing, one by one, as if night was falling within the circle despite the fact i…" |
| |
| 50.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 3 | | matches | | 0 | "Her voice sounded, as if the air itself absorbed the sound" | | 1 | "the shadow-figure said, its voice clearer now, feminine but ancient" | | 2 | "the shadow-woman whispered, voice urgent now" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 8 | | fancyTags | | 0 | "she muttered (mutter)" | | 1 | "she whispered (whisper)" | | 2 | "she murmured (murmur)" | | 3 | "Aurora demanded (demand)" | | 4 | "the shadow hissed (hiss)" | | 5 | "Aurora announced (announce)" | | 6 | "the shadow-woman whispered (whisper)" | | 7 | "a new voice growled (growl)" |
| | dialogueSentences | 37 | | tagDensity | 0.297 | | leniency | 0.595 | | rawRatio | 0.727 | | effectiveRatio | 0.432 | |