| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 16 | | adverbTagCount | 2 | | adverbTags | | 0 | "he said simply [simply]" | | 1 | "she said softly [softly]" |
| | dialogueSentences | 63 | | tagDensity | 0.254 | | leniency | 0.508 | | rawRatio | 0.125 | | effectiveRatio | 0.063 | |
| 89.33% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1406 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | |
| 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) | |
| 57.33% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1406 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "scanning" | | 1 | "familiar" | | 2 | "tracing" | | 3 | "weight" | | 4 | "tension" | | 5 | "glinting" | | 6 | "flickered" | | 7 | "silence" | | 8 | "comfortable" |
| |
| 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 | 90 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 90 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 135 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 40 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1395 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 16 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 32 | | wordCount | 1074 | | uniqueNames | 8 | | maxNameDensity | 1.12 | | worstName | "Silas" | | maxWindowNameDensity | 3 | | worstWindowName | "Silas" | | discoveredNames | | Raven | 2 | | Nest | 4 | | Golden | 1 | | Empress | 1 | | London | 2 | | Silas | 12 | | Rory | 9 | | Adam | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Silas" | | 3 | "Rory" | | 4 | "Adam" |
| | places | | | globalScore | 0.941 | | windowScore | 0.667 | |
| 76.47% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 68 | | glossingSentenceCount | 2 | | matches | | 0 | "as if carrying an invisible weight" | | 1 | "something like regret passing over his face" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.717 | | wordCount | 1395 | | matches | | 0 | "not for salvation, but for the quiet certainty of something familiar" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 135 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 60 | | mean | 23.25 | | std | 21.2 | | cv | 0.912 | | sampleLengths | | 0 | 92 | | 1 | 72 | | 2 | 70 | | 3 | 4 | | 4 | 69 | | 5 | 20 | | 6 | 32 | | 7 | 17 | | 8 | 36 | | 9 | 1 | | 10 | 3 | | 11 | 73 | | 12 | 24 | | 13 | 5 | | 14 | 15 | | 15 | 16 | | 16 | 15 | | 17 | 3 | | 18 | 45 | | 19 | 4 | | 20 | 33 | | 21 | 5 | | 22 | 6 | | 23 | 5 | | 24 | 13 | | 25 | 25 | | 26 | 19 | | 27 | 2 | | 28 | 4 | | 29 | 12 | | 30 | 17 | | 31 | 7 | | 32 | 42 | | 33 | 10 | | 34 | 7 | | 35 | 26 | | 36 | 3 | | 37 | 22 | | 38 | 18 | | 39 | 10 | | 40 | 41 | | 41 | 6 | | 42 | 12 | | 43 | 15 | | 44 | 26 | | 45 | 4 | | 46 | 7 | | 47 | 7 | | 48 | 55 | | 49 | 11 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 90 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 186 | | matches | | |
| 15.87% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 135 | | ratio | 0.044 | | matches | | 0 | "Rory leaned against the bar, her black hair tucked behind one ear, her bright blue eyes scanning the room with the practiced detachment of someone who had spent too many nights in places like this—waiting, watching, never quite belonging." | | 1 | "She had come here out of habit, the way some people went to church—not for salvation, but for the quiet certainty of something familiar." | | 2 | "But his eyes—hazel, sharp, missing nothing—were the same." | | 3 | "She remembered the stories—whispers in the Nest, rumors of a botched operation, of Silas walking away from MI6 with a limp and a reputation." | | 4 | "Rory looked away, her gaze landing on the old photographs lining the walls—black-and-white images of London in another era, of faces she didn’t recognize." | | 5 | "But for Rory and Silas, in that moment, time felt suspended—caught between what was and what could have been." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1085 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 40 | | adverbRatio | 0.03686635944700461 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.010138248847926268 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 135 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 135 | | mean | 10.33 | | std | 7.82 | | cv | 0.757 | | sampleLengths | | 0 | 31 | | 1 | 22 | | 2 | 39 | | 3 | 34 | | 4 | 14 | | 5 | 24 | | 6 | 16 | | 7 | 6 | | 8 | 19 | | 9 | 17 | | 10 | 12 | | 11 | 4 | | 12 | 23 | | 13 | 21 | | 14 | 13 | | 15 | 8 | | 16 | 4 | | 17 | 7 | | 18 | 13 | | 19 | 3 | | 20 | 17 | | 21 | 9 | | 22 | 3 | | 23 | 11 | | 24 | 6 | | 25 | 16 | | 26 | 20 | | 27 | 1 | | 28 | 3 | | 29 | 10 | | 30 | 13 | | 31 | 14 | | 32 | 17 | | 33 | 13 | | 34 | 3 | | 35 | 3 | | 36 | 18 | | 37 | 6 | | 38 | 3 | | 39 | 2 | | 40 | 10 | | 41 | 5 | | 42 | 3 | | 43 | 8 | | 44 | 5 | | 45 | 9 | | 46 | 6 | | 47 | 3 | | 48 | 14 | | 49 | 23 |
| |
| 58.77% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.37037037037037035 | | totalSentences | 135 | | uniqueOpeners | 50 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 82 | | matches | | 0 | "Then Silas smiled." | | 1 | "Instead, she gestured to the" | | 2 | "Instead, she reached across the" |
| | ratio | 0.037 | |
| 24.88% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 40 | | totalSentences | 82 | | matches | | 0 | "She had just finished her" | | 1 | "She had come here out" | | 2 | "She was too busy tracing" | | 3 | "She lifted her gaze." | | 4 | "He was thinner than she’d" | | 5 | "They found her instantly." | | 6 | "It was a small thing," | | 7 | "he said, his voice rough" | | 8 | "She exhaled, a laugh escaping" | | 9 | "He limped toward her, the" | | 10 | "he said, stopping just short" | | 11 | "She slid off the stool," | | 12 | "He smelled of rain and" | | 13 | "She pressed her face into" | | 14 | "He was real." | | 15 | "He was here." | | 16 | "His expression flickered, something like" | | 17 | "She didn’t answer." | | 18 | "He chuckled, but there was" | | 19 | "He studied her, his gaze" |
| | ratio | 0.488 | |
| 69.76% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 64 | | totalSentences | 82 | | matches | | 0 | "The Raven’s Nest hummed with" | | 1 | "The green neon sign outside" | | 2 | "Rory leaned against the bar," | | 3 | "She had just finished her" | | 4 | "The delivery bag sat at" | | 5 | "She had come here out" | | 6 | "The door swung open, letting" | | 7 | "Rory didn’t look up at" | | 8 | "She was too busy tracing" | | 9 | "The kind of person who" | | 10 | "She lifted her gaze." | | 11 | "Silas stood in the doorway," | | 12 | "He was thinner than she’d" | | 13 | "The limp in his left" | | 14 | "They found her instantly." | | 15 | "The years between them stretched" | | 16 | "It was a small thing," | | 17 | "he said, his voice rough" | | 18 | "She exhaled, a laugh escaping" | | 19 | "He limped toward her, the" |
| | ratio | 0.78 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 82 | | matches | (empty) | | ratio | 0 | |
| 53.57% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 6 | | matches | | 0 | "Rory leaned against the bar, her black hair tucked behind one ear, her bright blue eyes scanning the room with the practiced detachment of someone who had spent…" | | 1 | "She had just finished her shift at the Golden Empress, the scent of ginger and garlic still clinging to her clothes, her fingers smelling faintly of lemongrass …" | | 2 | "He was thinner than she’d ever seen him, his frame leaner, his shoulders slightly stooped as if carrying an invisible weight." | | 3 | "But then he relaxed, his arms wrapping around her with a familiarity that made her throat tighten." | | 4 | "The bartender nodded and moved away, leaving them in a silence that wasn’t entirely comfortable." | | 5 | "Rory looked away, her gaze landing on the old photographs lining the walls—black-and-white images of London in another era, of faces she didn’t recognize." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 16 | | uselessAdditionCount | 5 | | matches | | 0 | "he said, his voice rough with disuse" | | 1 | "He took, his Adam’s apple bobbing" | | 2 | "He set, his signet ring clinking against the wood" | | 3 | "She leaned, her voice dropping" | | 4 | "She cut, her voice steady despite the heat rising in her chest" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 2 | | fancyTags | | 0 | "she corrected (correct)" | | 1 | "he agreed (agree)" |
| | dialogueSentences | 63 | | tagDensity | 0.159 | | leniency | 0.317 | | rawRatio | 0.2 | | effectiveRatio | 0.063 | |