| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 13 | | tagDensity | 0.462 | | leniency | 0.923 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 84.40% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1603 | | totalAiIsmAdverbs | 5 | | found | | 0 | | adverb | "deliberately" | | count | 1 |
| | 1 | | | 2 | | | 3 | | | 4 | |
| | highlights | | 0 | "deliberately" | | 1 | "suddenly" | | 2 | "very" | | 3 | "slightly" | | 4 | "completely" |
| |
| 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) | |
| 59.45% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1603 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "perfect" | | 1 | "warmth" | | 2 | "pulse" | | 3 | "potential" | | 4 | "silence" | | 5 | "echo" | | 6 | "pulsed" | | 7 | "racing" | | 8 | "chill" |
| |
| 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 | 119 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 119 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 125 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 58 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1613 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 23 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 19 | | wordCount | 1483 | | uniqueNames | 6 | | maxNameDensity | 0.54 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "You" | | discoveredNames | | Park | 1 | | Cardiff | 1 | | Silas | 1 | | Hel | 1 | | Rory | 8 | | You | 7 |
| | persons | | | places | | | globalScore | 1 | | windowScore | 1 | |
| 85.90% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 78 | | glossingSentenceCount | 2 | | matches | | 0 | "Not quite a sound — more a pressure change, a shift in the way the air sat against her skin" | | 1 | "felt like the promise of a fire on a wi" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1613 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 125 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 37 | | mean | 43.59 | | std | 24.59 | | cv | 0.564 | | sampleLengths | | 0 | 75 | | 1 | 7 | | 2 | 80 | | 3 | 37 | | 4 | 110 | | 5 | 61 | | 6 | 56 | | 7 | 10 | | 8 | 86 | | 9 | 38 | | 10 | 61 | | 11 | 43 | | 12 | 47 | | 13 | 56 | | 14 | 28 | | 15 | 7 | | 16 | 61 | | 17 | 61 | | 18 | 30 | | 19 | 57 | | 20 | 18 | | 21 | 47 | | 22 | 38 | | 23 | 24 | | 24 | 34 | | 25 | 40 | | 26 | 58 | | 27 | 24 | | 28 | 69 | | 29 | 16 | | 30 | 67 | | 31 | 45 | | 32 | 11 | | 33 | 55 | | 34 | 7 | | 35 | 45 | | 36 | 4 |
| |
| 87.57% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 119 | | matches | | 0 | "been told" | | 1 | "been told" | | 2 | "were bowed" | | 3 | "was surprised" | | 4 | "been told" | | 5 | "was supposed" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 9 | | totalVerbs | 269 | | matches | | 0 | "was doing" | | 1 | "was scalding" | | 2 | "was answering" | | 3 | "was calling" | | 4 | "was walking" | | 5 | "wasn't wearing" | | 6 | "was wearing" | | 7 | "was blazing" | | 8 | "was curling" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 1 | | flaggedSentences | 10 | | totalSentences | 125 | | ratio | 0.08 | | matches | | 0 | "Rory hadn't expected that — hours of maps, of half-remembered conversations in the bar below her flat, of a stranger's whispered directions that had felt more like a dare than a kindness." | | 1 | "Wildflowers blazed against the encroaching dusk — foxgloves, nightshade, blossoms she couldn't identify, all of them blooming with a furious insistence that had nothing to do with season or sense." | | 2 | "Not quite a sound — more a pressure change, a shift in the way the air sat against her skin." | | 3 | "She turned her head, and there was nothing — just moss, just shadow, just the way the light pooled strangely at the base of the easternmost monolith, as though the darkness there had depth it had no right to have." | | 4 | "The word didn't echo; it disappeared, sucked into the ground like rainwater into tired earth." | | 5 | "Wrong in a way that she couldn't articulate — the proportions were slightly off, the shoulders a shade too broad, the head set a fraction too low." | | 6 | "She'd been told a woman's name — had she?" | | 7 | "The darkness was wearing it — the shadowed surface rippled, and beneath the ripples something pale and too-smooth moved like muscle under skin that had forgotten what skin meant." | | 8 | "The pendant pulsed once — hot, urgent, a heart in her palm — and Rory looked down." | | 9 | "Heard its soft intake of breath — surprise, or hunger." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1478 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 56 | | adverbRatio | 0.037889039242219216 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.008119079837618403 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 125 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 125 | | mean | 12.9 | | std | 10.89 | | cv | 0.844 | | sampleLengths | | 0 | 6 | | 1 | 32 | | 2 | 18 | | 3 | 19 | | 4 | 7 | | 5 | 20 | | 6 | 30 | | 7 | 30 | | 8 | 7 | | 9 | 20 | | 10 | 1 | | 11 | 9 | | 12 | 8 | | 13 | 2 | | 14 | 9 | | 15 | 24 | | 16 | 23 | | 17 | 10 | | 18 | 2 | | 19 | 32 | | 20 | 4 | | 21 | 25 | | 22 | 32 | | 23 | 6 | | 24 | 20 | | 25 | 6 | | 26 | 6 | | 27 | 18 | | 28 | 3 | | 29 | 3 | | 30 | 4 | | 31 | 13 | | 32 | 11 | | 33 | 32 | | 34 | 7 | | 35 | 6 | | 36 | 10 | | 37 | 3 | | 38 | 4 | | 39 | 6 | | 40 | 32 | | 41 | 16 | | 42 | 5 | | 43 | 40 | | 44 | 17 | | 45 | 15 | | 46 | 4 | | 47 | 7 | | 48 | 8 | | 49 | 3 |
| |
| 43.20% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 21 | | diversityRatio | 0.36 | | totalSentences | 125 | | uniqueOpeners | 45 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 7 | | totalSentences | 107 | | matches | | 0 | "Instead, the last hedge simply" | | 1 | "Somewhere the worlds thinned enough" | | 2 | "Just a degree." | | 3 | "Just enough to notice." | | 4 | "Just needed a place to" | | 5 | "Just wanted the world to" | | 6 | "Instantly, completely, like a lantern" |
| | ratio | 0.065 | |
| 44.30% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 47 | | totalSentences | 107 | | matches | | 0 | "She'd braced for brambles, for" | | 1 | "She stepped through and the" | | 2 | "Her father's barrister voice still" | | 3 | "She'd come here to get" | | 4 | "She felt that immediately and" | | 5 | "She turned her back on" | | 6 | "She'd been told it would" | | 7 | "She'd been told a lot" | | 8 | "You'll know it when you're" | | 9 | "You don't stay." | | 10 | "You don't look back." | | 11 | "She should have asked more" | | 12 | "She should have asked who" | | 13 | "She turned her head, and" | | 14 | "Her voice was embarrassingly thin" | | 15 | "She tried again, louder." | | 16 | "She didn't know how to" | | 17 | "She just what?" | | 18 | "It came from nowhere and" | | 19 | "Her own breath, loud now," |
| | ratio | 0.439 | |
| 62.80% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 85 | | totalSentences | 107 | | matches | | 0 | "The gate gave way too" | | 1 | "Rory hadn't expected that —" | | 2 | "She'd braced for brambles, for" | | 3 | "She stepped through and the" | | 4 | "Richmond Park's evening hush fell" | | 5 | "The grove opened in a" | | 6 | "Wildflowers blazed against the encroaching" | | 7 | "The pendant lay cold against" | | 8 | "Rory told herself this was" | | 9 | "Evan's name was a bruise" | | 10 | "Her father's barrister voice still" | | 11 | "She'd come here to get" | | 12 | "The stones watched her." | | 13 | "She felt that immediately and" | | 14 | "She turned her back on" | | 15 | "That was when she heard" | | 16 | "A bird ought to have" | | 17 | "An insect ought to have" | | 18 | "The pendant warmed." | | 19 | "Rory's hand went to it," |
| | ratio | 0.794 | |
| 46.73% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 107 | | matches | | 0 | "To decide whether to go" |
| | ratio | 0.009 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 49 | | technicalSentenceCount | 11 | | matches | | 0 | "Rory hadn't expected that — hours of maps, of half-remembered conversations in the bar below her flat, of a stranger's whispered directions that had felt more l…" | | 1 | "Wildflowers blazed against the encroaching dusk — foxgloves, nightshade, blossoms she couldn't identify, all of them blooming with a furious insistence that had…" | | 2 | "Not the usual faint warmth she'd grown used to, the gentle pulse that had become a comfort on sleepless nights." | | 3 | "Her father's barrister voice still rattled in her head, asking what she thought she was doing with her life, her degree, her potential." | | 4 | "She turned her back on them deliberately and faced the center of the ring, where a single oak stood small and twisted, its branches reaching upward like a child…" | | 5 | "But the grove gave back nothing but the soft, patient breathing of flowers that should not be alive." | | 6 | "She'd been told a lot of things by the stranger who'd pressed it into her hand at the bar, a woman with iron-grey hair and eyes that changed color with the lamp…" | | 7 | "She should have asked who the woman was, why she'd chosen Rory, why a thumbnail of deep crimson stone on a cheap silver chain was worth finding a place that sho…" | | 8 | "The face in her memory had iron-grey hair, eyes that changed color." | | 9 | "The darkness was wearing it — the shadowed surface rippled, and beneath the ripples something pale and too-smooth moved like muscle under skin that had forgotte…" | | 10 | "This thing had been reading her, peeling her open like a fruit since the moment she'd stepped into the ring, and the worst part, the sharpest shard of wrongness…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 6 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 2 | | fancyTags | | 0 | "it repeated (repeat)" | | 1 | "she whispered (whisper)" |
| | dialogueSentences | 13 | | tagDensity | 0.385 | | leniency | 0.769 | | rawRatio | 0.4 | | effectiveRatio | 0.308 | |