| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 19 | | adverbTagCount | 2 | | adverbTags | | 0 | "she said quietly [quietly]" | | 1 | "He gestured vaguely [vaguely]" |
| | dialogueSentences | 49 | | tagDensity | 0.388 | | leniency | 0.776 | | rawRatio | 0.105 | | effectiveRatio | 0.082 | |
| 89.21% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2317 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "very" | | 1 | "suddenly" | | 2 | "really" |
| |
| 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) | |
| 65.47% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2317 | | totalAiIsms | 16 | | found | | | highlights | | 0 | "familiar" | | 1 | "silence" | | 2 | "stomach" | | 3 | "weight" | | 4 | "tracing" | | 5 | "crystalline" | | 6 | "traced" | | 7 | "sense of" | | 8 | "pulse" | | 9 | "echo" | | 10 | "flickered" |
| |
| 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 | 129 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 129 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 159 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 79 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2310 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 29 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 37 | | wordCount | 1578 | | uniqueNames | 14 | | maxNameDensity | 0.82 | | worstName | "Silas" | | maxWindowNameDensity | 2 | | worstWindowName | "Silas" | | discoveredNames | | Raven | 2 | | Nest | 2 | | Aurora | 6 | | Coltrane | 1 | | Blackwood | 1 | | London | 1 | | Eva | 3 | | Silas | 13 | | Carter | 2 | | Irish | 1 | | Welsh | 1 | | Evan | 2 | | Swallowed | 1 | | Spymaster | 1 |
| | persons | | 0 | "Raven" | | 1 | "Aurora" | | 2 | "Blackwood" | | 3 | "Eva" | | 4 | "Silas" | | 5 | "Carter" | | 6 | "Evan" | | 7 | "Spymaster" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 69.35% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 93 | | glossingSentenceCount | 3 | | matches | | 0 | "looked like they had never smiled in thei" | | 1 | "sounded like it hurt" | | 2 | "felt like the beginning of something in" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 2310 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 159 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 57 | | mean | 40.53 | | std | 29.39 | | cv | 0.725 | | sampleLengths | | 0 | 129 | | 1 | 36 | | 2 | 2 | | 3 | 94 | | 4 | 23 | | 5 | 1 | | 6 | 54 | | 7 | 33 | | 8 | 51 | | 9 | 69 | | 10 | 56 | | 11 | 48 | | 12 | 28 | | 13 | 4 | | 14 | 12 | | 15 | 47 | | 16 | 58 | | 17 | 6 | | 18 | 13 | | 19 | 18 | | 20 | 51 | | 21 | 3 | | 22 | 20 | | 23 | 26 | | 24 | 96 | | 25 | 77 | | 26 | 39 | | 27 | 77 | | 28 | 70 | | 29 | 58 | | 30 | 43 | | 31 | 39 | | 32 | 33 | | 33 | 118 | | 34 | 44 | | 35 | 38 | | 36 | 36 | | 37 | 23 | | 38 | 9 | | 39 | 65 | | 40 | 20 | | 41 | 38 | | 42 | 10 | | 43 | 61 | | 44 | 18 | | 45 | 3 | | 46 | 55 | | 47 | 9 | | 48 | 13 | | 49 | 83 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 129 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 273 | | matches | | 0 | "was drying" | | 1 | "were still learning" |
| |
| 17.07% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 3 | | flaggedSentences | 7 | | totalSentences | 159 | | ratio | 0.044 | | matches | | 0 | "Dim bulbs glowed behind green glass shades, picking out the maps pinned to the walls—yellowed continents crossed by faded pencil lines—and the black-and-white photographs of men who looked like they had never smiled in their lives." | | 1 | "His auburn hair had surrendered to wide streaks of iron grey; the neatly trimmed beard did nothing to hide the new hollows beneath his cheekbones." | | 2 | "Silas had been there that afternoon; he’d helped her father glue the pieces back together while she cried." | | 3 | "Yet here was Silas—Spymaster, mentor, the closest thing she’d ever had to an uncle—limping around the bar to take the stool beside her." | | 4 | "The bartender on duty—a thin man with tattoos crawling up his neck—took over without being asked." | | 5 | "“Like it was yesterday. You were inconsolable. Brendan wanted to punish you; your mother wanted to hug you. I suggested we glue it back together and see if it could hold water again. It did. For a while.”" | | 6 | "She wondered if he saw the same in her—the law books unopened, the messages to Eva unanswered, the way she catalogued exits in every room she entered now." |
| |
| 99.80% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1591 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 64 | | adverbRatio | 0.04022627278441232 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.0069138906348208675 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 159 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 159 | | mean | 14.53 | | std | 13.25 | | cv | 0.912 | | sampleLengths | | 0 | 30 | | 1 | 17 | | 2 | 28 | | 3 | 36 | | 4 | 18 | | 5 | 8 | | 6 | 11 | | 7 | 17 | | 8 | 2 | | 9 | 24 | | 10 | 4 | | 11 | 25 | | 12 | 23 | | 13 | 18 | | 14 | 8 | | 15 | 8 | | 16 | 7 | | 17 | 1 | | 18 | 9 | | 19 | 7 | | 20 | 12 | | 21 | 26 | | 22 | 4 | | 23 | 8 | | 24 | 14 | | 25 | 7 | | 26 | 32 | | 27 | 15 | | 28 | 4 | | 29 | 15 | | 30 | 29 | | 31 | 18 | | 32 | 3 | | 33 | 4 | | 34 | 9 | | 35 | 5 | | 36 | 39 | | 37 | 3 | | 38 | 10 | | 39 | 3 | | 40 | 17 | | 41 | 18 | | 42 | 7 | | 43 | 15 | | 44 | 6 | | 45 | 4 | | 46 | 12 | | 47 | 10 | | 48 | 37 | | 49 | 6 |
| |
| 55.35% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.3584905660377358 | | totalSentences | 159 | | uniqueOpeners | 57 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 8 | | totalSentences | 112 | | matches | | 0 | "Somewhere a speaker played a" | | 1 | "Instead her gaze caught on" | | 2 | "Then his hazel eyes lifted" | | 3 | "Of course he did." | | 4 | "Maybe it did." | | 5 | "Then the saxophone sighed out" | | 6 | "Then he reached across the" | | 7 | "Maybe tomorrow she would open" |
| | ratio | 0.071 | |
| 66.43% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 43 | | totalSentences | 112 | | matches | | 0 | "She pushed the door open" | | 1 | "She meant to order something" | | 2 | "He had aged the way" | | 3 | "His auburn hair had surrendered" | | 4 | "She felt the old version" | | 5 | "Her voice came out steadier" | | 6 | "She crossed to the bar," | | 7 | "He set the glass down" | | 8 | "She felt the words like" | | 9 | "He remembered, then." | | 10 | "she answered, sliding onto a" | | 11 | "he said, as if the" | | 12 | "He poured two fingers of" | | 13 | "She wrapped her fingers around" | | 14 | "He gave a short laugh" | | 15 | "She hadn’t spoken to him" | | 16 | "she said quietly" | | 17 | "She hadn’t meant to say" | | 18 | "He reached for a second" | | 19 | "She watched the muscles in" |
| | ratio | 0.384 | |
| 71.61% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 87 | | totalSentences | 112 | | matches | | 0 | "The green neon sign bled" | | 1 | "She pushed the door open" | | 2 | "The aroma of spilled ale" | | 3 | "She meant to order something" | | 4 | "The flat upstairs was quiet" | | 5 | "He had aged the way" | | 6 | "His auburn hair had surrendered" | | 7 | "The silver signet ring on" | | 8 | "The glass he was drying" | | 9 | "The nickname landed like a" | | 10 | "She felt the old version" | | 11 | "Her voice came out steadier" | | 12 | "She crossed to the bar," | | 13 | "He set the glass down" | | 14 | "A faint smile tugged at" | | 15 | "She felt the words like" | | 16 | "The mark was small, almost" | | 17 | "Silas had been there that" | | 18 | "He remembered, then." | | 19 | "she answered, sliding onto a" |
| | ratio | 0.777 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 112 | | matches | (empty) | | ratio | 0 | |
| 30.08% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 57 | | technicalSentenceCount | 9 | | matches | | 0 | "The green neon sign bled its sickly light across the wet pavement, spelling out The Raven’s Nest in jagged letters that had probably been there since before Aur…" | | 1 | "The aroma of spilled ale and old varnish wrapped around her at once, familiar in a way that made her uneasy, as though the place had been waiting." | | 2 | "Dim bulbs glowed behind green glass shades, picking out the maps pinned to the walls—yellowed continents crossed by faded pencil lines—and the black-and-white p…" | | 3 | "Somewhere a speaker played a low, mournful saxophone that might have been Coltrane or simply exhaustion given form." | | 4 | "Up close she could see the fine web of lines at the corners of his eyes, the faint scar along his jaw that hadn’t been there when she was fifteen and convinced …" | | 5 | "Then the saxophone sighed out and the present reasserted itself: the slight tremor in her hand, the ache that lived behind her eyes since Evan, the cheap canvas…" | | 6 | "She looked away, toward a photograph near the till: a younger Silas, auburn hair untouched by grey, standing beside a man who might have been her father in anot…" | | 7 | "The weight of time pressed down between them, full of roads not taken and letters never sent and the slow, grinding realisation that people change in the spaces…" | | 8 | "For now it was enough to sit in this dim bar with its ghosts and its green neon heart, trading small truths with an old friend who had changed as much as she ha…" |
| |
| 98.68% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 19 | | uselessAdditionCount | 1 | | matches | | 0 | "he said, as if the single word explained everything" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 12 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 49 | | tagDensity | 0.245 | | leniency | 0.49 | | rawRatio | 0.083 | | effectiveRatio | 0.041 | |