| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 12 | | adverbTagCount | 3 | | adverbTags | | 0 | "she said finally [finally]" | | 1 | "he said suddenly [suddenly]" | | 2 | "he corrected gently [gently]" |
| | dialogueSentences | 27 | | tagDensity | 0.444 | | leniency | 0.889 | | rawRatio | 0.25 | | effectiveRatio | 0.222 | |
| 59.39% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 985 | | totalAiIsmAdverbs | 8 | | found | | 0 | | | 1 | | adverb | "deliberately" | | count | 1 |
| | 2 | | | 3 | | | 4 | |
| | highlights | | 0 | "slowly" | | 1 | "deliberately" | | 2 | "carefully" | | 3 | "suddenly" | | 4 | "gently" |
| |
| 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) | |
| 18.78% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 985 | | totalAiIsms | 16 | | found | | | highlights | | 0 | "warmth" | | 1 | "sanctuary" | | 2 | "scanned" | | 3 | "familiar" | | 4 | "weight" | | 5 | "unreadable" | | 6 | "gleaming" | | 7 | "measured" | | 8 | "flicker" | | 9 | "stomach" | | 10 | "firmly" | | 11 | "unspoken" | | 12 | "tracing" | | 13 | "traced" | | 14 | "etched" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 2 | | found | | 0 | | label | "hung in the air" | | count | 1 |
| | 1 | | label | "sent a shiver through" | | count | 1 |
|
| | highlights | | 0 | "hung in the air" | | 1 | "sent a jolt through" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 58 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 58 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 73 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 33 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 978 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 25 | | wordCount | 815 | | uniqueNames | 13 | | maxNameDensity | 0.49 | | worstName | "Silas" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Aiden" | | discoveredNames | | Raven | 2 | | Nest | 2 | | London | 2 | | Soho | 1 | | Silas | 4 | | Yu-Fei | 1 | | Cheung | 1 | | Aurora | 3 | | Cardiff | 1 | | Rory | 1 | | Aiden | 4 | | Prague | 1 | | Like | 2 |
| | persons | | 0 | "Raven" | | 1 | "Silas" | | 2 | "Yu-Fei" | | 3 | "Cheung" | | 4 | "Aurora" | | 5 | "Rory" | | 6 | "Aiden" |
| | places | | 0 | "London" | | 1 | "Soho" | | 2 | "Cardiff" | | 3 | "Prague" |
| | globalScore | 1 | | windowScore | 1 | |
| 96.81% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 47 | | glossingSentenceCount | 1 | | matches | | 0 | "felt like an accusation" |
| |
| 97.75% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 1.022 | | wordCount | 978 | | matches | | 0 | "Not from its sound, but from the weight it carried" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 73 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 31 | | mean | 31.55 | | std | 22.66 | | cv | 0.718 | | sampleLengths | | 0 | 84 | | 1 | 7 | | 2 | 74 | | 3 | 1 | | 4 | 45 | | 5 | 58 | | 6 | 55 | | 7 | 44 | | 8 | 42 | | 9 | 19 | | 10 | 27 | | 11 | 10 | | 12 | 38 | | 13 | 24 | | 14 | 20 | | 15 | 20 | | 16 | 6 | | 17 | 25 | | 18 | 43 | | 19 | 22 | | 20 | 23 | | 21 | 74 | | 22 | 18 | | 23 | 11 | | 24 | 2 | | 25 | 59 | | 26 | 22 | | 27 | 33 | | 28 | 7 | | 29 | 6 | | 30 | 59 |
| |
| 93.16% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 58 | | matches | | 0 | "been honed" | | 1 | "been hunched" |
| |
| 96.64% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 129 | | matches | | 0 | "was seeing" | | 1 | "was deafening" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 1 | | flaggedSentences | 6 | | totalSentences | 73 | | ratio | 0.082 | | matches | | 0 | "The bar was exactly as she remembered—a sanctuary of shadows and history, with its worn leather booths, oak woodwalnut bar top, and the faint smell of aged whiskey and polished brass." | | 1 | "He looked different—harder, somehow." | | 2 | "She knew what he was seeing—shoulder-length black hair where she'd once had frizzy, spiraled curls; the confident set of her shoulders where she'd been hunched and scared." | | 3 | "Silas was nowhere to be seen, but she caught the flicker of recognition in the eyes of the bartender—new, probably a university student saving money through the semester." | | 4 | "He reached across the table, his fingers skimming over the scar on her wrist—tracing it, as he had once traced everything about her." | | 5 | "Aurora exhaled slowly, watching their skin touch—his dark against her pale." |
| |
| 82.81% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 826 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 45 | | adverbRatio | 0.05447941888619855 | | lyAdverbCount | 21 | | lyAdverbRatio | 0.025423728813559324 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 73 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 73 | | mean | 13.4 | | std | 7.76 | | cv | 0.579 | | sampleLengths | | 0 | 25 | | 1 | 31 | | 2 | 28 | | 3 | 7 | | 4 | 5 | | 5 | 1 | | 6 | 3 | | 7 | 10 | | 8 | 26 | | 9 | 4 | | 10 | 25 | | 11 | 1 | | 12 | 16 | | 13 | 18 | | 14 | 11 | | 15 | 11 | | 16 | 27 | | 17 | 20 | | 18 | 11 | | 19 | 12 | | 20 | 17 | | 21 | 15 | | 22 | 15 | | 23 | 22 | | 24 | 7 | | 25 | 14 | | 26 | 28 | | 27 | 9 | | 28 | 10 | | 29 | 18 | | 30 | 9 | | 31 | 5 | | 32 | 5 | | 33 | 10 | | 34 | 12 | | 35 | 10 | | 36 | 6 | | 37 | 14 | | 38 | 10 | | 39 | 14 | | 40 | 6 | | 41 | 4 | | 42 | 6 | | 43 | 10 | | 44 | 6 | | 45 | 6 | | 46 | 19 | | 47 | 15 | | 48 | 20 | | 49 | 8 |
| |
| 73.52% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.4657534246575342 | | totalSentences | 73 | | uniqueOpeners | 34 | |
| 59.52% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 56 | | matches | | 0 | "Always Rory, like she was" |
| | ratio | 0.018 | |
| 41.43% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 25 | | totalSentences | 56 | | matches | | 0 | "Her eyes scanned the room" | | 1 | "He looked different—harder, somehow." | | 2 | "His name left her lips" | | 3 | "She hadn't spoken his name" | | 4 | "he said, his eyes drinking" | | 5 | "She knew what he was" | | 6 | "she replied, moving toward him" | | 7 | "Her heart thrummed against her" | | 8 | "he said, a hint of" | | 9 | "He leaned back in the" | | 10 | "She slid into the booth" | | 11 | "She hated the way her" | | 12 | "she asked, the professional mask" | | 13 | "he said, leaning forward and" | | 14 | "Her job, her life, her" | | 15 | "He shook his head slowly" | | 16 | "Her fingers curled around the" | | 17 | "she said finally, choosing her" | | 18 | "he finished for her" | | 19 | "She'd heard the stories piecemeal" |
| | ratio | 0.446 | |
| 93.93% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 41 | | totalSentences | 56 | | matches | | 0 | "Aurora pushed through the green" | | 1 | "The bar was exactly as" | | 2 | "Her eyes scanned the room" | | 3 | "The voice stopped her cold." | | 4 | "He looked different—harder, somehow." | | 5 | "The softness of youth had" | | 6 | "His name left her lips" | | 7 | "She hadn't spoken his name" | | 8 | "he said, his eyes drinking" | | 9 | "She knew what he was" | | 10 | "The crescent-shaped scar on her" | | 11 | "she replied, moving toward him" | | 12 | "Her heart thrummed against her" | | 13 | "he said, a hint of" | | 14 | "He leaned back in the" | | 15 | "She slid into the booth" | | 16 | "Silas was nowhere to be" | | 17 | "Aiden said, following her gaze" | | 18 | "Aurora clasped her hands together" | | 19 | "Aiden's smile was slow, dangerous." |
| | ratio | 0.732 | |
| 89.29% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 56 | | matches | | | ratio | 0.018 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 36 | | technicalSentenceCount | 2 | | matches | | 0 | "She'd heard the stories piecemeal over the years through mutual acquaintances who'd been distant enough that they didn't know just how strained things had becom…" | | 1 | "She looked up into his face, saw the years etched around his eyes, the lines at the corners of his mouth that hadn't been there before." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 12 | | uselessAdditionCount | 4 | | matches | | 0 | "he said, his eyes drinking her in slowly, deliberately" | | 1 | "he said, a hint of the old sarcasm flickering across his mouth" | | 2 | "she asked, the professional mask firmly in place now" | | 3 | "she said, her voice going soft" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 1 | | fancyTags | | 0 | "he corrected gently (correct)" |
| | dialogueSentences | 27 | | tagDensity | 0.37 | | leniency | 0.741 | | rawRatio | 0.1 | | effectiveRatio | 0.074 | |