| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 17 | | adverbTagCount | 1 | | adverbTags | | | dialogueSentences | 44 | | tagDensity | 0.386 | | leniency | 0.773 | | rawRatio | 0.059 | | effectiveRatio | 0.045 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1446 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 100.00% | AI-ism character names | Target: 0 AI-default names (16 tracked, −20% each) | | codexExemptions | | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 41.22% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1446 | | totalAiIsms | 17 | | found | | | highlights | | 0 | "flickered" | | 1 | "weight" | | 2 | "trembled" | | 3 | "echoed" | | 4 | "crystal" | | 5 | "silence" | | 6 | "charm" | | 7 | "sanctuary" | | 8 | "pawn" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 81 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 81 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 107 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 47 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1437 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 26 | | wordCount | 1169 | | uniqueNames | 13 | | maxNameDensity | 0.68 | | worstName | "Silas" | | maxWindowNameDensity | 2 | | worstWindowName | "Silas" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Cardiff | 1 | | Golden | 1 | | Empress | 1 | | Spymaster | 1 | | Aurora | 4 | | Silas | 8 | | Prague | 1 | | Laila | 1 | | Brighton | 1 | | Malphora | 1 | | Seven | 4 |
| | persons | | 0 | "Raven" | | 1 | "Aurora" | | 2 | "Silas" | | 3 | "Laila" |
| | places | | 0 | "Cardiff" | | 1 | "Prague" | | 2 | "Brighton" | | 3 | "Seven" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 61 | | 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 | 1437 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 107 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 46 | | mean | 31.24 | | std | 24.34 | | cv | 0.779 | | sampleLengths | | 0 | 86 | | 1 | 21 | | 2 | 68 | | 3 | 1 | | 4 | 21 | | 5 | 69 | | 6 | 18 | | 7 | 26 | | 8 | 2 | | 9 | 2 | | 10 | 74 | | 11 | 30 | | 12 | 22 | | 13 | 28 | | 14 | 25 | | 15 | 28 | | 16 | 1 | | 17 | 1 | | 18 | 37 | | 19 | 46 | | 20 | 26 | | 21 | 12 | | 22 | 24 | | 23 | 73 | | 24 | 21 | | 25 | 4 | | 26 | 42 | | 27 | 6 | | 28 | 66 | | 29 | 72 | | 30 | 89 | | 31 | 22 | | 32 | 18 | | 33 | 21 | | 34 | 29 | | 35 | 4 | | 36 | 60 | | 37 | 2 | | 38 | 27 | | 39 | 49 | | 40 | 18 | | 41 | 20 | | 42 | 17 | | 43 | 33 | | 44 | 20 | | 45 | 56 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 81 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 184 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 107 | | ratio | 0.056 | | matches | | 0 | "Aurora pushed through the door of The Raven's Nest and the smell hit her—stale beer, old wood, the particular dust of maps that never moved." | | 1 | "The limp was worse—his left leg trailed as he shifted his weight, knee locked against the mahogany, the joint swollen beneath the tweed trousers." | | 2 | "The glass in her hand—water, she'd ordered water, her throat too tight for anything stronger—trembled against the scarred wood." | | 3 | "Now the beard was a grizzled mask, coarse and unkempt, and his eyes—hazel, she remembered—held a dullness she didn't recognize, a flatness like a photograph left in the sun." | | 4 | "Aurora looked at his hands—the signet ring catching the dim light, spinning on his finger, the knuckles swollen, the skin papery and translucent." | | 5 | "She wanted to tell him she wasn't the girl who'd climbed those stairs anymore, that she'd hardened into something else, that she'd taken names—Laila in Brighton, Malphora in the places where her real name would get her killed—and worn them like armor against the dark." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1185 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 19 | | adverbRatio | 0.016033755274261603 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.002531645569620253 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 107 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 107 | | mean | 13.43 | | std | 10.4 | | cv | 0.774 | | sampleLengths | | 0 | 16 | | 1 | 25 | | 2 | 10 | | 3 | 35 | | 4 | 10 | | 5 | 11 | | 6 | 11 | | 7 | 13 | | 8 | 24 | | 9 | 20 | | 10 | 1 | | 11 | 2 | | 12 | 19 | | 13 | 1 | | 14 | 1 | | 15 | 2 | | 16 | 3 | | 17 | 6 | | 18 | 27 | | 19 | 29 | | 20 | 18 | | 21 | 4 | | 22 | 21 | | 23 | 1 | | 24 | 2 | | 25 | 2 | | 26 | 4 | | 27 | 18 | | 28 | 28 | | 29 | 24 | | 30 | 5 | | 31 | 11 | | 32 | 7 | | 33 | 7 | | 34 | 11 | | 35 | 11 | | 36 | 9 | | 37 | 18 | | 38 | 1 | | 39 | 16 | | 40 | 9 | | 41 | 11 | | 42 | 17 | | 43 | 1 | | 44 | 1 | | 45 | 31 | | 46 | 6 | | 47 | 7 | | 48 | 4 | | 49 | 28 |
| |
| 33.18% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 18 | | diversityRatio | 0.29906542056074764 | | totalSentences | 107 | | uniqueOpeners | 32 | |
| 88.89% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 75 | | matches | | 0 | "Instead, she picked up the" | | 1 | "Then the neon flickered back" |
| | ratio | 0.027 | |
| 1.33% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 41 | | totalSentences | 75 | | matches | | 0 | "She hadn't stepped foot in" | | 1 | "Her fingers found the crescent" | | 2 | "His hair had gone silver," | | 3 | "He wore the silver signet" | | 4 | "He looked smaller." | | 5 | "He set the glass down" | | 6 | "She touched her head." | | 7 | "It was shorter now, jagged" | | 8 | "He reached for the whisky," | | 9 | "His hand hovered over the" | | 10 | "He gripped the edge of" | | 11 | "She set her water down" | | 12 | "It was warm now, condensation" | | 13 | "He poured two fingers of" | | 14 | "She turned away, toward the" | | 15 | "Her voice came out rough," | | 16 | "He slid the glass across" | | 17 | "She didn't touch it." | | 18 | "He gestured at the room," | | 19 | "She finally met his gaze," |
| | ratio | 0.547 | |
| 33.33% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 64 | | totalSentences | 75 | | matches | | 0 | "The green neon sign flickered" | | 1 | "Aurora pushed through the door" | | 2 | "She hadn't stepped foot in" | | 3 | "Her fingers found the crescent" | | 4 | "The metal of the door" | | 5 | "His hair had gone silver," | | 6 | "The limp was worse—his left" | | 7 | "He wore the silver signet" | | 8 | "The glass in her hand—water," | | 9 | "He looked smaller." | | 10 | "The last time she'd seen" | | 11 | "He set the glass down" | | 12 | "She touched her head." | | 13 | "It was shorter now, jagged" | | 14 | "The bar was empty." | | 15 | "The maps on the walls" | | 16 | "The bookshelf in the corner" | | 17 | "Silas stepped around the bar." | | 18 | "The limp made him sway," | | 19 | "He reached for the whisky," |
| | ratio | 0.853 | |
| 66.67% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 75 | | matches | | | ratio | 0.013 | |
| 65.64% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 37 | | technicalSentenceCount | 4 | | matches | | 0 | "She used to know every loose floorboard, every creak that meant Silas was coming home late, every secret exit through the kitchen window." | | 1 | "The limp pulled him to the left, and for a moment he looked every one of his fifty-eight years, the Prague operation written in the lines around his mouth, the …" | | 2 | "Silas stepped aside, making a path to the door, his hand hovering near her shoulder, stopping short." | | 3 | "She walked toward the tube station, her boots clicking against the pavement, the scar on her wrist throbbing beneath her sleeve, the whisky settling in her ches…" |
| |
| 36.76% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 17 | | uselessAdditionCount | 3 | | matches | | 0 | "He poured, the amber liquid catching the light" | | 1 | "He stopped, the beard hiding the movement of his throat" | | 2 | "He leaned, the wood creaking beneath his weight" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |