| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 28 | | adverbTagCount | 3 | | adverbTags | | 0 | "She turned back [back]" | | 1 | "The question landed quietly [quietly]" | | 2 | "He gestured vaguely [vaguely]" |
| | dialogueSentences | 75 | | tagDensity | 0.373 | | leniency | 0.747 | | rawRatio | 0.107 | | effectiveRatio | 0.08 | |
| 81.19% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1861 | | totalAiIsmAdverbs | 7 | | found | | | highlights | | 0 | "slowly" | | 1 | "lightly" | | 2 | "very" | | 3 | "carefully" | | 4 | "slightly" | | 5 | "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) | |
| 97.31% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1861 | | totalAiIsms | 1 | | found | | 0 | | word | "practiced ease" | | count | 1 |
|
| | highlights | | |
| 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 | 2 | | narrationSentences | 148 | | matches | | 0 | "the ripple of surprise" | | 1 | "was afraid" |
| |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 148 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 192 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 53 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1870 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 26 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 46 | | wordCount | 1344 | | uniqueNames | 10 | | maxNameDensity | 0.97 | | worstName | "Owen" | | maxWindowNameDensity | 2 | | worstWindowName | "Owen" | | discoveredNames | | Rory | 8 | | Cardiff | 3 | | Davies | 2 | | Nest | 5 | | Owen | 13 | | Flat | 1 | | Silas | 9 | | February | 1 | | Rolex | 1 | | Set | 3 |
| | persons | | 0 | "Rory" | | 1 | "Davies" | | 2 | "Nest" | | 3 | "Owen" | | 4 | "Silas" | | 5 | "Set" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 53.85% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 78 | | glossingSentenceCount | 3 | | matches | | 0 | "as if walking into a courtroom, each step deliberate" | | 1 | "quite irritation" | | 2 | "not quite willing to finish" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1870 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 192 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 96 | | mean | 19.48 | | std | 19.5 | | cv | 1.001 | | sampleLengths | | 0 | 13 | | 1 | 80 | | 2 | 58 | | 3 | 26 | | 4 | 1 | | 5 | 7 | | 6 | 6 | | 7 | 53 | | 8 | 7 | | 9 | 10 | | 10 | 44 | | 11 | 7 | | 12 | 5 | | 13 | 8 | | 14 | 1 | | 15 | 14 | | 16 | 43 | | 17 | 15 | | 18 | 26 | | 19 | 2 | | 20 | 10 | | 21 | 6 | | 22 | 31 | | 23 | 5 | | 24 | 26 | | 25 | 24 | | 26 | 9 | | 27 | 4 | | 28 | 44 | | 29 | 33 | | 30 | 5 | | 31 | 1 | | 32 | 1 | | 33 | 9 | | 34 | 5 | | 35 | 2 | | 36 | 13 | | 37 | 28 | | 38 | 36 | | 39 | 7 | | 40 | 9 | | 41 | 2 | | 42 | 45 | | 43 | 14 | | 44 | 3 | | 45 | 36 | | 46 | 24 | | 47 | 4 | | 48 | 17 | | 49 | 65 |
| |
| 93.41% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 148 | | matches | | 0 | "being asked" | | 1 | "being asked" | | 2 | "been locked" | | 3 | "being asked" | | 4 | "being rescued" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 250 | | matches | | 0 | "was composing" | | 1 | "was checking" |
| |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 3 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 192 | | ratio | 0.01 | | matches | | 0 | "She recognised him by the way he stood — that particular brand of Cardiff confidence, shoulders back, chin up, as though the world owed him a receipt." | | 1 | "But Owen's eyes moved across the bar, settled somewhere near her, and then — slowly, like a man recalculating — they landed." |
| |
| 97.33% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 604 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 26 | | adverbRatio | 0.04304635761589404 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.004966887417218543 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 192 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 192 | | mean | 9.74 | | std | 9.26 | | cv | 0.951 | | sampleLengths | | 0 | 13 | | 1 | 27 | | 2 | 2 | | 3 | 5 | | 4 | 21 | | 5 | 25 | | 6 | 7 | | 7 | 20 | | 8 | 9 | | 9 | 22 | | 10 | 13 | | 11 | 5 | | 12 | 8 | | 13 | 1 | | 14 | 3 | | 15 | 4 | | 16 | 5 | | 17 | 1 | | 18 | 18 | | 19 | 6 | | 20 | 17 | | 21 | 12 | | 22 | 3 | | 23 | 1 | | 24 | 3 | | 25 | 9 | | 26 | 1 | | 27 | 14 | | 28 | 25 | | 29 | 5 | | 30 | 7 | | 31 | 5 | | 32 | 8 | | 33 | 1 | | 34 | 14 | | 35 | 7 | | 36 | 3 | | 37 | 8 | | 38 | 25 | | 39 | 7 | | 40 | 8 | | 41 | 10 | | 42 | 16 | | 43 | 2 | | 44 | 10 | | 45 | 6 | | 46 | 7 | | 47 | 21 | | 48 | 3 | | 49 | 4 |
| |
| 59.03% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.3854166666666667 | | totalSentences | 192 | | uniqueOpeners | 74 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 119 | | matches | | 0 | "Then the uncomfortable spread of" | | 1 | "More like a verdict." | | 2 | "Just held the glass, looking" | | 3 | "Then he put his phone" | | 4 | "Then it lit up again." |
| | ratio | 0.042 | |
| 55.29% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 49 | | totalSentences | 119 | | matches | | 0 | "She recognised him by the" | | 1 | "He swept the room with" | | 2 | "She could have slid off" | | 3 | "She set her glass down." | | 4 | "He crossed the room the" | | 5 | "He looked, she thought, like" | | 6 | "He pulled out the stool" | | 7 | "She turned back to her" | | 8 | "She'd watched him do it" | | 9 | "She pressed into it lightly," | | 10 | "He finally looked at her" | | 11 | "His eyes, grey, always grey," | | 12 | "She tilted her head." | | 13 | "He picked up his scotch." | | 14 | "His jaw tightened." | | 15 | "She let that settle." | | 16 | "Their voices leaked under the" | | 17 | "He didn't look at her." | | 18 | "She knew that." | | 19 | "She also knew she'd let" |
| | ratio | 0.412 | |
| 65.04% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 94 | | totalSentences | 119 | | matches | | 0 | "The door opened and Rory" | | 1 | "She recognised him by the" | | 2 | "He swept the room with" | | 3 | "She could have slid off" | | 4 | "Silas would have covered for" | | 5 | "The recognition spread across his" | | 6 | "She set her glass down." | | 7 | "He crossed the room the" | | 8 | "The Nest's amber light swallowed" | | 9 | "He looked, she thought, like" | | 10 | "He pulled out the stool" | | 11 | "She turned back to her" | | 12 | "Silas, polishing a glass with" | | 13 | "Silas poured without comment and" | | 14 | "The word sat between them" | | 15 | "Owen turned his glass on" | | 16 | "Something he did when he" | | 17 | "She'd watched him do it" | | 18 | "Rory's thumb found the crescent" | | 19 | "She pressed into it lightly," |
| | ratio | 0.79 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 119 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 44 | | technicalSentenceCount | 10 | | matches | | 0 | "She recognised him by the way he stood — that particular brand of Cardiff confidence, shoulders back, chin up, as though the world owed him a receipt." | | 1 | "He swept the room with the practiced ease of someone who spent his weekdays in boardrooms and his weekends pretending it didn't hollow him out." | | 2 | "Could have folded herself into the shadows between the old maps and the black-and-white photographs that lined the Nest's walls." | | 3 | "He crossed the room the way he always had, as if walking into a courtroom, each step deliberate." | | 4 | "Silas, polishing a glass with the focused disinterest of a man who had heard better secrets than anything Owen Davies would ever carry, drifted over." | | 5 | "Owen, who had spent years calibrating his voice for courtrooms, cracked somewhere in the middle of the sentence." | | 6 | "He looked, in this light, less like the man she'd watched successfully perform his entire adult life and more like the seventeen-year-old who'd once helped her …" | | 7 | "She looked at him, at the rigid set of his shoulders and the grey beginning at his temples and the expensive watch that caught the amber light and gave back not…" | | 8 | "He glanced at it, and something crossed his face that wasn't quite irritation." | | 9 | "She thought about the flat above this bar and the particular security of sleeping above a man who locked his front door like someone who understood what locks w…" |
| |
| 89.29% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 28 | | uselessAdditionCount | 2 | | matches | | 0 | "He said, as if twice might do what once had failed to" | | 1 | "he said, as if they'd never changed the subject" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 18 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 75 | | tagDensity | 0.24 | | leniency | 0.48 | | rawRatio | 0 | | effectiveRatio | 0 | |