| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 21 | | adverbTagCount | 2 | | adverbTags | | 0 | "he said quietly [quietly]" | | 1 | "he said finally [finally]" |
| | dialogueSentences | 86 | | tagDensity | 0.244 | | leniency | 0.488 | | rawRatio | 0.095 | | effectiveRatio | 0.047 | |
| 80.42% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1277 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "really" | | 1 | "slowly" | | 2 | "lightly" | | 3 | "slightly" |
| |
| 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) | |
| 64.76% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1277 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "flickered" | | 1 | "pulse" | | 2 | "fractured" | | 3 | "etched" | | 4 | "flicked" | | 5 | "familiar" | | 6 | "silence" | | 7 | "throbbed" |
| |
| 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 | 102 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 102 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 167 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 36 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 6 | | markdownWords | 21 | | totalWords | 1264 | | ratio | 0.017 | | matches | | 0 | "“You’re better than this world, Rory. Get out while you still can.”" | | 1 | "that’s his work" | | 2 | "this" | | 3 | "you" | | 4 | "The secret room." | | 5 | "you" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 24 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 19 | | wordCount | 671 | | uniqueNames | 12 | | maxNameDensity | 0.6 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Rory" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Carter | 1 | | Soho | 1 | | Laila | 1 | | Rory | 4 | | Cardiff | 1 | | Prague-era | 1 | | Silas | 4 | | Lyon | 1 | | Ten | 2 | | Luc | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Carter" | | 3 | "Laila" | | 4 | "Rory" | | 5 | "Silas" | | 6 | "Luc" |
| | places | | 0 | "Soho" | | 1 | "Cardiff" | | 2 | "Prague-era" | | 3 | "Lyon" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 38 | | 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 | 1264 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 167 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 87 | | mean | 14.53 | | std | 18.57 | | cv | 1.278 | | sampleLengths | | 0 | 121 | | 1 | 65 | | 2 | 101 | | 3 | 4 | | 4 | 11 | | 5 | 38 | | 6 | 8 | | 7 | 15 | | 8 | 10 | | 9 | 29 | | 10 | 6 | | 11 | 8 | | 12 | 9 | | 13 | 6 | | 14 | 12 | | 15 | 7 | | 16 | 3 | | 17 | 1 | | 18 | 3 | | 19 | 20 | | 20 | 11 | | 21 | 11 | | 22 | 6 | | 23 | 20 | | 24 | 7 | | 25 | 2 | | 26 | 17 | | 27 | 26 | | 28 | 3 | | 29 | 21 | | 30 | 25 | | 31 | 7 | | 32 | 11 | | 33 | 28 | | 34 | 6 | | 35 | 9 | | 36 | 6 | | 37 | 8 | | 38 | 3 | | 39 | 10 | | 40 | 14 | | 41 | 23 | | 42 | 3 | | 43 | 21 | | 44 | 15 | | 45 | 7 | | 46 | 1 | | 47 | 8 | | 48 | 6 | | 49 | 8 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 102 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 114 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 167 | | ratio | 0.054 | | matches | | 0 | "Downstairs, where the world didn’t know her as Laila—alias for paperwork and paranoia—but as Rory, the girl who used to write mock legal briefs in Cardiff libraries while dreaming of anything else." | | 1 | "Inside, the air hung thick with smoke and the low hum of jazz—some brass-heavy trumpet number from the sixties." | | 2 | "Just a silhouette—tall, broad in the shoulders even with the slight unevenness in his posture." | | 3 | "Hazel eyes—duller now, clouded with time—flicked over her face." | | 4 | "The bartender—Luc, thin-faced and watchful—nodded at her." | | 5 | "After she broke protocol, took a burner phone, and ghosted the agency before they could turn her into an asset or—worse—a liability." | | 6 | "He studied her—the set of her shoulders, the way her eyes flicked to the exit, then to the bookshelf in the back." | | 7 | "The music shifted—piano now, slower, like breath held too long." | | 8 | "A younger Silas, coat flapping, hand gripping a woman’s arm—small, dark-haired, face turned away." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 713 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 23 | | adverbRatio | 0.03225806451612903 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.009817671809256662 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 167 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 167 | | mean | 7.57 | | std | 7.03 | | cv | 0.929 | | sampleLengths | | 0 | 16 | | 1 | 24 | | 2 | 26 | | 3 | 3 | | 4 | 4 | | 5 | 3 | | 6 | 13 | | 7 | 32 | | 8 | 19 | | 9 | 29 | | 10 | 17 | | 11 | 6 | | 12 | 2 | | 13 | 15 | | 14 | 6 | | 15 | 17 | | 16 | 1 | | 17 | 19 | | 18 | 6 | | 19 | 4 | | 20 | 25 | | 21 | 2 | | 22 | 2 | | 23 | 10 | | 24 | 1 | | 25 | 3 | | 26 | 9 | | 27 | 6 | | 28 | 3 | | 29 | 4 | | 30 | 6 | | 31 | 7 | | 32 | 8 | | 33 | 11 | | 34 | 4 | | 35 | 6 | | 36 | 4 | | 37 | 15 | | 38 | 14 | | 39 | 3 | | 40 | 3 | | 41 | 7 | | 42 | 1 | | 43 | 9 | | 44 | 3 | | 45 | 3 | | 46 | 5 | | 47 | 7 | | 48 | 3 | | 49 | 1 |
| |
| 64.27% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 11 | | diversityRatio | 0.4251497005988024 | | totalSentences | 167 | | uniqueOpeners | 71 | |
| 88.89% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 75 | | matches | | 0 | "Just a silhouette—tall, broad in" | | 1 | "Then he turned, signaling the" |
| | ratio | 0.027 | |
| 49.33% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 32 | | totalSentences | 75 | | matches | | 0 | "She’d just finished her third" | | 1 | "She needed a drink." | | 2 | "She didn’t recognize him at" | | 3 | "She approached slowly, her boots" | | 4 | "His head turned." | | 5 | "His throat moved." | | 6 | "He said it like a" | | 7 | "He gestured to the room" | | 8 | "She slid onto the adjacent" | | 9 | "He tapped his left knee" | | 10 | "She didn’t laugh." | | 11 | "He almost smiled." | | 12 | "He swirled the amber liquid" | | 13 | "His gaze cut to her" | | 14 | "She looked down at her" | | 15 | "He saw it." | | 16 | "His jaw tightened." | | 17 | "he said quietly" | | 18 | "He trailed off" | | 19 | "he said finally" |
| | ratio | 0.427 | |
| 86.67% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 56 | | totalSentences | 75 | | matches | | 0 | "The green neon sign flickered" | | 1 | "Aurora Carter paused on the" | | 2 | "She’d just finished her third" | | 3 | "She needed a drink." | | 4 | "A real one." | | 5 | "Downstairs, where the world didn’t" | | 6 | "The usual suspects: a couple" | | 7 | "She didn’t recognize him at" | | 8 | "The ring Silas never took" | | 9 | "She approached slowly, her boots" | | 10 | "His head turned." | | 11 | "Hazel eyes—duller now, clouded with" | | 12 | "Recognition came like a delayed" | | 13 | "His throat moved." | | 14 | "He said it like a" | | 15 | "He gestured to the room" | | 16 | "She slid onto the adjacent" | | 17 | "He tapped his left knee" | | 18 | "She didn’t laugh." | | 19 | "Neither did he." |
| | ratio | 0.747 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 75 | | matches | | 0 | "Even in the hospital." | | 1 | "Even in the safehouse outside" |
| | ratio | 0.027 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 21 | | technicalSentenceCount | 1 | | matches | | 0 | "Downstairs, where the world didn’t know her as Laila—alias for paperwork and paranoia—but as Rory, the girl who used to write mock legal briefs in Cardiff libra…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 21 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 14 | | fancyCount | 2 | | fancyTags | | 0 | "she corrected (correct)" | | 1 | "he corrected (correct)" |
| | dialogueSentences | 86 | | tagDensity | 0.163 | | leniency | 0.326 | | rawRatio | 0.143 | | effectiveRatio | 0.047 | |