| 66.67% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 32 | | adverbTagCount | 5 | | adverbTags | | 0 | "I said bitterly [bitterly]" | | 1 | "I eventually said [eventually]" | | 2 | "His knuckles cracked only [only]" | | 3 | "I asked instead [instead]" | | 4 | "The RPG gaming casually [casually]" |
| | dialogueSentences | 75 | | tagDensity | 0.427 | | leniency | 0.853 | | rawRatio | 0.156 | | effectiveRatio | 0.133 | |
| 70.78% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1711 | | totalAiIsmAdverbs | 10 | | found | | 0 | | adverb | "deliberately" | | count | 2 |
| | 1 | | | 2 | | | 3 | | | 4 | | | 5 | |
| | highlights | | 0 | "deliberately" | | 1 | "very" | | 2 | "carefully" | | 3 | "slightly" | | 4 | "slowly" | | 5 | "completely" |
| |
| 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) | |
| 47.40% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1711 | | totalAiIsms | 18 | | found | | | highlights | | 0 | "shattered" | | 1 | "warmth" | | 2 | "chill" | | 3 | "oppressive" | | 4 | "affection" | | 5 | "comfortable" | | 6 | "silence" | | 7 | "eyebrow" | | 8 | "familiar" | | 9 | "comforting" | | 10 | "potential" | | 11 | "sanctuary" | | 12 | "unsettled" | | 13 | "perfect" |
| |
| 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 | 71 | | matches | (empty) | |
| 82.49% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 71 | | filterMatches | (empty) | | hedgeMatches | | 0 | "seemed to" | | 1 | "happened to" |
| |
| 84.11% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 107 | | gibberishSentences | 3 | | adjustedGibberishSentences | 3 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 70 | | ratio | 0.028 | | matches | | 0 | "\"So.\"[the chime of Tuesday afternoon inviting a two page spread]" | | 1 | "\"You still see Ianाइ conversion?!" | | 2 | "\"You ever wonderлива экстра?\" We missed our standing dates by an hour minimum generally.\"Silas checked something under the bar, the little bookshelf that always seemed out of place…" |
| |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1715 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 23 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 24 | | wordCount | 1139 | | uniqueNames | 16 | | maxNameDensity | 0.53 | | worstName | "Silas" | | maxWindowNameDensity | 1 | | worstWindowName | "Raven" | | discoveredNames | | Raven | 2 | | Nest | 2 | | Old | 2 | | Silas | 6 | | Warmth | 1 | | Ravens | 1 | | Distinctive | 1 | | Charing | 1 | | Cross | 1 | | Road | 1 | | Hong | 1 | | Kong | 1 | | Eyes | 1 | | Others | 1 | | Somehow | 1 | | Wednesday | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Old" | | 3 | "Silas" | | 4 | "Eyes" | | 5 | "Somehow" |
| | places | | 0 | "Charing" | | 1 | "Cross" | | 2 | "Road" | | 3 | "Hong" | | 4 | "Kong" |
| | globalScore | 1 | | windowScore | 1 | |
| 51.96% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 51 | | glossingSentenceCount | 2 | | matches | | 0 | "seemed possible and worth fighting for" | | 1 | "seemed appropriate now" | | 2 | "as if waiting for an explosion that couldn't come anymore" |
| |
| 83.38% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.166 | | wordCount | 1715 | | matches | | 0 | "not without something resembling affection in his eyes, but I knew him too well" | | 1 | "Not seriously but well - well rehearsed The absent friend leaning in, index fi" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 107 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 69 | | mean | 24.86 | | std | 18.66 | | cv | 0.751 | | sampleLengths | | 0 | 56 | | 1 | 4 | | 2 | 61 | | 3 | 21 | | 4 | 25 | | 5 | 10 | | 6 | 17 | | 7 | 48 | | 8 | 54 | | 9 | 9 | | 10 | 12 | | 11 | 10 | | 12 | 2 | | 13 | 36 | | 14 | 4 | | 15 | 47 | | 16 | 40 | | 17 | 57 | | 18 | 14 | | 19 | 36 | | 20 | 13 | | 21 | 19 | | 22 | 8 | | 23 | 21 | | 24 | 25 | | 25 | 10 | | 26 | 36 | | 27 | 7 | | 28 | 5 | | 29 | 60 | | 30 | 71 | | 31 | 6 | | 32 | 14 | | 33 | 20 | | 34 | 6 | | 35 | 19 | | 36 | 4 | | 37 | 22 | | 38 | 26 | | 39 | 35 | | 40 | 7 | | 41 | 23 | | 42 | 37 | | 43 | 8 | | 44 | 16 | | 45 | 7 | | 46 | 33 | | 47 | 15 | | 48 | 22 | | 49 | 5 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 71 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 206 | | matches | | 0 | "was guarding" | | 1 | "was filling" |
| |
| 89.45% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 2 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 107 | | ratio | 0.019 | | matches | | 0 | "The questions bubbled up, the typical ones — what have I missed? What have you become? What happened to the ambition burning hot and bright when you still believed in making a difference, when solutions seemed possible and worth fighting for? But none of them seemed appropriate now. How do you explain that you've been running from yourself and everything good for so long that you've forgotten how to stand still?" | | 1 | "Not seriously but well - well rehearsed The absent friend leaning in, index finger polishing away the stains left by warriors few and far between without raising any eyebrows whatsoever." |
| |
| 54.89% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1091 | | adjectiveStacks | 1 | | stackExamples | | 0 | "same distinctive green neon" |
| | adverbCount | 77 | | adverbRatio | 0.07057745187901009 | | lyAdverbCount | 38 | | lyAdverbRatio | 0.034830430797433545 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 107 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 107 | | mean | 16.03 | | std | 13.91 | | cv | 0.868 | | sampleLengths | | 0 | 11 | | 1 | 23 | | 2 | 2 | | 3 | 1 | | 4 | 1 | | 5 | 18 | | 6 | 4 | | 7 | 18 | | 8 | 18 | | 9 | 22 | | 10 | 3 | | 11 | 11 | | 12 | 10 | | 13 | 7 | | 14 | 18 | | 15 | 10 | | 16 | 12 | | 17 | 5 | | 18 | 25 | | 19 | 17 | | 20 | 6 | | 21 | 5 | | 22 | 34 | | 23 | 15 | | 24 | 7 | | 25 | 2 | | 26 | 12 | | 27 | 10 | | 28 | 2 | | 29 | 36 | | 30 | 4 | | 31 | 47 | | 32 | 40 | | 33 | 57 | | 34 | 14 | | 35 | 36 | | 36 | 13 | | 37 | 19 | | 38 | 5 | | 39 | 3 | | 40 | 21 | | 41 | 4 | | 42 | 5 | | 43 | 7 | | 44 | 9 | | 45 | 10 | | 46 | 36 | | 47 | 7 | | 48 | 5 | | 49 | 60 |
| |
| 97.20% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.6355140186915887 | | totalSentences | 107 | | uniqueOpeners | 68 | |
| 52.91% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 63 | | matches | | 0 | "Somehow this conversation shouldn't hurt." |
| | ratio | 0.016 | |
| 29.52% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 30 | | totalSentences | 63 | | matches | | 0 | "He stood there behind the" | | 1 | "He slid the rag under" | | 2 | "I said and reached for" | | 3 | "I took the glass, the" | | 4 | "I nodded toward his leg" | | 5 | "I smacked the bar a" | | 6 | "my mother would've said as" | | 7 | "he said, not without something" | | 8 | "I took the bundle and" | | 9 | "We sat in comfortable silence" | | 10 | "he said, watching my thin" | | 11 | "I said, though we both" | | 12 | "I managed a smile" | | 13 | "he leaned into both of" | | 14 | "his whisky laboured to pick" | | 15 | "I said bitterly" | | 16 | "My voice sounded alien to" | | 17 | "I eventually said, finally laughing" | | 18 | "His knuckles cracked only slightly" | | 19 | "I asked instead, wondering if" |
| | ratio | 0.476 | |
| 39.37% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 53 | | totalSentences | 63 | | matches | | 0 | "The glass shattered halfway between" | | 1 | "Time seemed to freeze as" | | 2 | "The name felt strange in" | | 3 | "He stood there behind the" | | 4 | "The same hazel eyes, the" | | 5 | "He slid the rag under" | | 6 | "I said and reached for" | | 7 | "Silas poured whisky without asking" | | 8 | "I took the glass, the" | | 9 | "Warmth spread through my chest," | | 10 | "The Raven's Nest hadn't changed." | | 11 | "The same distinctive green neon" | | 12 | "The same oppressive hum of" | | 13 | "I nodded toward his leg" | | 14 | "Silas straightened the right sleeve" | | 15 | "I smacked the bar a" | | 16 | "my mother would've said as" | | 17 | "he said, not without something" | | 18 | "I took the bundle and" | | 19 | "We sat in comfortable silence" |
| | ratio | 0.841 | |
| 79.37% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 63 | | matches | | 0 | "Before waiting maybe weeks" |
| | ratio | 0.016 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 20 | | technicalSentenceCount | 4 | | matches | | 0 | "The same distinctive green neon sign flickering above the dirty window, the same maps of mysterious places and old photographs lining walls that smelled faintly…" | | 1 | "The bar was filling with a post-work crowd now. University students, office workers ready for some fun, and the quiet regulars who seemed to live between these …" | | 2 | "That simple observation slammed into me like the Hong Kong weather after years away. The work that I'd left behind was the work I embodied with every breath of …" | | 3 | "Eyes bright looked for something that would require no explanation when years mysteriously didn't exist here." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 32 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 2 | | fancyTags | | 0 | "I admitted (admit)" | | 1 | "he noted (note)" |
| | dialogueSentences | 75 | | tagDensity | 0.133 | | leniency | 0.267 | | rawRatio | 0.2 | | effectiveRatio | 0.053 | |