| 82.35% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 23 | | adverbTagCount | 3 | | adverbTags | | 0 | "he agreed quietly [quietly]" | | 1 | "he said eventually [eventually]" | | 2 | "Silas’s fingers drummed once [once]" |
| | dialogueSentences | 51 | | tagDensity | 0.451 | | leniency | 0.902 | | rawRatio | 0.13 | | effectiveRatio | 0.118 | |
| 91.30% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2298 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "suddenly" | | 1 | "slightly" | | 2 | "sharply" | | 3 | "softly" |
| |
| 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) | |
| 76.07% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2298 | | totalAiIsms | 11 | | found | | | highlights | | 0 | "echo" | | 1 | "silence" | | 2 | "comfortable" | | 3 | "familiar" | | 4 | "measured" | | 5 | "tracing" | | 6 | "traced" | | 7 | "tension" | | 8 | "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 | 128 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 128 | | filterMatches | | | hedgeMatches | | |
| 99.06% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 157 | | gibberishSentences | 1 | | adjustedGibberishSentences | 1 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 59 | | ratio | 0.006 | | matches | | 0 | "The neon sign flickered across his face like distant信号 flares from a life he had tried to leave behind." |
| |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2288 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 19 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 45 | | wordCount | 1736 | | uniqueNames | 20 | | maxNameDensity | 0.81 | | worstName | "Silas" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Silas" | | discoveredNames | | Raven | 2 | | Nest | 2 | | Soho | 2 | | Thursday | 1 | | Guinness | 1 | | Blackwood | 1 | | London | 3 | | General | 1 | | Tso | 1 | | Talisker | 1 | | Irish | 1 | | Sea | 1 | | Berlin | 2 | | Silas | 14 | | Cardiff | 1 | | Eva | 1 | | Evan | 1 | | Pre-Law | 1 | | Rory | 6 | | Prague | 2 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Blackwood" | | 3 | "Tso" | | 4 | "Silas" | | 5 | "Eva" | | 6 | "Evan" | | 7 | "Rory" |
| | places | | 0 | "Soho" | | 1 | "London" | | 2 | "Irish" | | 3 | "Berlin" | | 4 | "Cardiff" | | 5 | "Prague" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 103 | | glossingSentenceCount | 2 | | matches | | 0 | "felt like stepping on a live wire" | | 1 | "felt like it might still know her name" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 2288 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 3 | | totalSentences | 157 | | matches | | 0 | "learned that patience" | | 1 | "heard that name" | | 2 | "protected that wrist" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 62 | | mean | 36.9 | | std | 24.37 | | cv | 0.66 | | sampleLengths | | 0 | 109 | | 1 | 11 | | 2 | 98 | | 3 | 3 | | 4 | 46 | | 5 | 13 | | 6 | 55 | | 7 | 55 | | 8 | 13 | | 9 | 23 | | 10 | 54 | | 11 | 55 | | 12 | 63 | | 13 | 64 | | 14 | 24 | | 15 | 17 | | 16 | 30 | | 17 | 29 | | 18 | 43 | | 19 | 13 | | 20 | 23 | | 21 | 32 | | 22 | 35 | | 23 | 53 | | 24 | 13 | | 25 | 36 | | 26 | 28 | | 27 | 42 | | 28 | 60 | | 29 | 8 | | 30 | 114 | | 31 | 18 | | 32 | 88 | | 33 | 20 | | 34 | 19 | | 35 | 5 | | 36 | 64 | | 37 | 26 | | 38 | 10 | | 39 | 49 | | 40 | 60 | | 41 | 43 | | 42 | 7 | | 43 | 11 | | 44 | 63 | | 45 | 33 | | 46 | 47 | | 47 | 37 | | 48 | 15 | | 49 | 29 |
| |
| 97.04% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 128 | | matches | | 0 | "was tired" | | 1 | "was frightened" | | 2 | "was supposed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 306 | | matches | | 0 | "were reading" | | 1 | "was already pouring" | | 2 | "was still mourning" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 1 | | flaggedSentences | 9 | | totalSentences | 157 | | ratio | 0.057 | | matches | | 0 | "Then something shifted behind the professional mask—recognition, followed immediately by a flare of something sharper." | | 1 | "He poured a second measure for himself—something she had never seen him do behind his own bar—and carried both glasses around to the customer side." | | 2 | "The silence stretched, comfortable the way old coats are comfortable—familiar, slightly musty, full of pockets you no longer checked." | | 3 | "He had always done that—read the room, read her, read the weather of a person’s mood before they themselves understood it." | | 4 | "She remembered the last night she had seen him—him pressing a burner phone into her palm, telling her the codes would change every seventy-two hours, telling her to run if Evan ever raised a hand to her again." | | 5 | "She looked down at her hands—delivery calluses on the palms, ink stains that never quite washed out, the thin white line of the scar he had once traced with a careful finger while teaching her how to bandage a knife wound one-handed." | | 6 | "They both laughed then—short, startled sounds that eased something in the air." | | 7 | "The tension didn’t vanish; it simply settled into the grain of the table like wax." | | 8 | "For a moment she looked down at him—at the grey in his beard, the lines time had carved, the quiet authority that had survived whatever Prague had done to the rest of him—and felt the strange, aching fullness of having found something she hadn’t known she was still mourning." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1189 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 35 | | adverbRatio | 0.02943650126156434 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.005046257359125316 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 157 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 157 | | mean | 14.57 | | std | 10.57 | | cv | 0.725 | | sampleLengths | | 0 | 17 | | 1 | 25 | | 2 | 19 | | 3 | 18 | | 4 | 30 | | 5 | 11 | | 6 | 7 | | 7 | 10 | | 8 | 36 | | 9 | 9 | | 10 | 13 | | 11 | 23 | | 12 | 3 | | 13 | 22 | | 14 | 15 | | 15 | 9 | | 16 | 11 | | 17 | 2 | | 18 | 10 | | 19 | 35 | | 20 | 10 | | 21 | 11 | | 22 | 13 | | 23 | 12 | | 24 | 19 | | 25 | 12 | | 26 | 1 | | 27 | 7 | | 28 | 16 | | 29 | 15 | | 30 | 17 | | 31 | 22 | | 32 | 30 | | 33 | 8 | | 34 | 6 | | 35 | 2 | | 36 | 9 | | 37 | 25 | | 38 | 8 | | 39 | 30 | | 40 | 18 | | 41 | 17 | | 42 | 29 | | 43 | 5 | | 44 | 19 | | 45 | 6 | | 46 | 9 | | 47 | 2 | | 48 | 15 | | 49 | 15 |
| |
| 57.32% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.3630573248407643 | | totalSentences | 157 | | uniqueOpeners | 57 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 121 | | matches | | 0 | "Then something shifted behind the" | | 1 | "Only Silas had ever known" | | 2 | "Then she turned toward the" | | 3 | "Eventually he pushed himself up," |
| | ratio | 0.033 | |
| 58.02% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 49 | | totalSentences | 121 | | matches | | 0 | "She was tired, the kind" | | 1 | "She wanted a drink that" | | 2 | "His auburn hair had gone" | | 3 | "He set the glass down" | | 4 | "he said, voice low and" | | 5 | "She hadn’t heard that name" | | 6 | "She crossed the room anyway," | | 7 | "He searched for a word" | | 8 | "He reached under the counter" | | 9 | "She took the towel, pressed" | | 10 | "He poured a second measure" | | 11 | "They took the table farthest" | | 12 | "He didn’t make it a" | | 13 | "She lifted her glass, let" | | 14 | "He took a measured sip," | | 15 | "She winced, but the flinch" | | 16 | "It did, but not enough" | | 17 | "She turned the glass in" | | 18 | "he agreed quietly" | | 19 | "She looked up sharply." |
| | ratio | 0.405 | |
| 55.04% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 98 | | totalSentences | 121 | | matches | | 0 | "The Raven’s Nest smelled of" | | 1 | "Rory pushed the heavy door" | | 2 | "Rain dripped from the ends" | | 3 | "She was tired, the kind" | | 4 | "She wanted a drink that" | | 5 | "The bar was quiet for" | | 6 | "A handful of regulars nursed" | | 7 | "His auburn hair had gone" | | 8 | "The neat beard did little" | | 9 | "Rory’s breath snagged." | | 10 | "Silas Blackwood looked at her" | | 11 | "He set the glass down" | | 12 | "he said, voice low and" | | 13 | "She hadn’t heard that name" | | 14 | "The nickname came out smaller" | | 15 | "She crossed the room anyway," | | 16 | "The silver signet ring on" | | 17 | "He searched for a word" | | 18 | "A laugh surprised her, brief" | | 19 | "Silas didn’t smile, but the" |
| | ratio | 0.81 | |
| 82.64% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 121 | | matches | | 0 | "Now it felt like trespass." | | 1 | "Now she let it lie" |
| | ratio | 0.017 | |
| 31.25% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 64 | | technicalSentenceCount | 10 | | matches | | 0 | "Green neon from the sign above the door bled through the fogged front windows, casting watery ripples across the black-and-white photographs that lined the wall…" | | 1 | "At the far end, half-hidden by the angle of an old Guinness mirror, a man stood polishing glasses with the slow, deliberate movements of someone who had long ag…" | | 2 | "Silas Blackwood looked at her for a long second, hazel eyes narrowing as though he were reading fine print in poor light." | | 3 | "Most people in London knew her as the girl who delivered General Tso’s on a bike or the tenant who paid her rent in cash and never complained about the noise fr…" | | 4 | "Rory sat opposite, suddenly aware of every year that separated the girl who used to perch on this same bar at closing time from the woman she had become." | | 5 | "The silence that followed felt heavier, freighted with all the things neither of them had said in the years since she’d fled Cardiff with nothing but Eva’s trai…" | | 6 | "She remembered the last night she had seen him—him pressing a burner phone into her palm, telling her the codes would change every seventy-two hours, telling he…" | | 7 | "It transformed his face, made him look almost like the man who used to sneak her sips of whisky when she was supposed to be studying for her Pre-Law exams." | | 8 | "For a moment she looked down at him—at the grey in his beard, the lines time had carved, the quiet authority that had survived whatever Prague had done to the r…" | | 9 | "The key was a small hard shape in her pocket, pressing against the scar on her wrist like a promise that had finally learned how to keep itself." |
| |
| 59.78% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 23 | | uselessAdditionCount | 3 | | matches | | 0 | "he said, voice low and rough as river gravel" | | 1 | "He took, eyes never leaving her face" | | 2 | "she said, because the truth felt too large for the space between them" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 2 | | fancyTags | | 0 | "he agreed quietly (agree)" | | 1 | "she admitted (admit)" |
| | dialogueSentences | 51 | | tagDensity | 0.196 | | leniency | 0.392 | | rawRatio | 0.2 | | effectiveRatio | 0.078 | |