| 7.69% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 18 | | adverbTagCount | 5 | | adverbTags | | 0 | "Eva started then [then]" | | 1 | "Eva said finally [finally]" | | 2 | "She laughed bitterly [bitterly]" | | 3 | "Eva said quietly [quietly]" | | 4 | "she said honestly [honestly]" |
| | dialogueSentences | 52 | | tagDensity | 0.346 | | leniency | 0.692 | | rawRatio | 0.278 | | effectiveRatio | 0.192 | |
| 86.49% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1110 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "suddenly" | | 1 | "slightly" | | 2 | "slowly" |
| |
| 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) | |
| 68.47% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1110 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "flickered" | | 1 | "familiar" | | 2 | "radiant" | | 3 | "silence" | | 4 | "flicker" |
| |
| 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 | 1 | | narrationSentences | 69 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 69 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 103 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 45 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1101 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 18 | | unquotedAttributions | 0 | | matches | (empty) | |
| 16.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 45 | | wordCount | 781 | | uniqueNames | 9 | | maxNameDensity | 2.43 | | worstName | "Rory" | | maxWindowNameDensity | 4.5 | | worstWindowName | "Rory" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Whitmore | 1 | | Rory | 19 | | Eva | 18 | | Cardiff | 2 | | Softer | 1 | | London | 1 | | Silas | 1 |
| | persons | | 0 | "Nest" | | 1 | "Whitmore" | | 2 | "Rory" | | 3 | "Eva" | | 4 | "Silas" |
| | places | | 0 | "Raven" | | 1 | "Cardiff" | | 2 | "London" |
| | globalScore | 0.284 | | windowScore | 0.167 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 49 | | 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 | 1101 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 103 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 52 | | mean | 21.17 | | std | 18.85 | | cv | 0.89 | | sampleLengths | | 0 | 67 | | 1 | 34 | | 2 | 1 | | 3 | 16 | | 4 | 62 | | 5 | 7 | | 6 | 7 | | 7 | 35 | | 8 | 12 | | 9 | 14 | | 10 | 20 | | 11 | 10 | | 12 | 6 | | 13 | 67 | | 14 | 19 | | 15 | 14 | | 16 | 1 | | 17 | 26 | | 18 | 9 | | 19 | 12 | | 20 | 9 | | 21 | 44 | | 22 | 46 | | 23 | 16 | | 24 | 25 | | 25 | 5 | | 26 | 26 | | 27 | 23 | | 28 | 4 | | 29 | 5 | | 30 | 58 | | 31 | 10 | | 32 | 5 | | 33 | 5 | | 34 | 52 | | 35 | 8 | | 36 | 8 | | 37 | 12 | | 38 | 17 | | 39 | 46 | | 40 | 10 | | 41 | 13 | | 42 | 3 | | 43 | 3 | | 44 | 59 | | 45 | 7 | | 46 | 24 | | 47 | 54 | | 48 | 12 | | 49 | 20 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 69 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 131 | | matches | (empty) | |
| 31.90% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 103 | | ratio | 0.039 | | matches | | 0 | "Of course she did—five years was enough time to reshape anyone." | | 1 | "Her reflection swam in the mirrored back wall—same bright blue eyes, same straight black hair, same small crescent scar visible above her wrist where her sleeve had ridden up." | | 2 | "Rory looked at her old friend—at the woman she'd shared bedrooms with as teenagers, whose shoulder she'd cried on when her father left, who had held her hair back in Cardiff's dingiest pub when she was seventeen and thought she knew everything about heartbreak." | | 3 | "Eva smiled—tentative, fragile, the same smile she'd given Rory the night before her wedding when she'd admitted she was terrified." |
| |
| 87.91% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 788 | | adjectiveStacks | 1 | | stackExamples | | 0 | "same straight black hair," |
| | adverbCount | 37 | | adverbRatio | 0.046954314720812185 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.015228426395939087 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 103 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 103 | | mean | 10.69 | | std | 7.91 | | cv | 0.74 | | sampleLengths | | 0 | 12 | | 1 | 14 | | 2 | 23 | | 3 | 18 | | 4 | 17 | | 5 | 17 | | 6 | 1 | | 7 | 12 | | 8 | 4 | | 9 | 4 | | 10 | 11 | | 11 | 18 | | 12 | 29 | | 13 | 6 | | 14 | 1 | | 15 | 7 | | 16 | 6 | | 17 | 20 | | 18 | 9 | | 19 | 12 | | 20 | 4 | | 21 | 10 | | 22 | 2 | | 23 | 7 | | 24 | 3 | | 25 | 8 | | 26 | 5 | | 27 | 5 | | 28 | 6 | | 29 | 12 | | 30 | 29 | | 31 | 26 | | 32 | 10 | | 33 | 9 | | 34 | 12 | | 35 | 2 | | 36 | 1 | | 37 | 9 | | 38 | 4 | | 39 | 13 | | 40 | 7 | | 41 | 2 | | 42 | 5 | | 43 | 7 | | 44 | 7 | | 45 | 2 | | 46 | 8 | | 47 | 32 | | 48 | 4 | | 49 | 4 |
| |
| 55.34% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.3786407766990291 | | totalSentences | 103 | | uniqueOpeners | 39 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 65 | | matches | | 0 | "Of course she did—five years" | | 1 | "Still did, apparently." |
| | ratio | 0.031 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 13 | | totalSentences | 65 | | matches | | 0 | "She didn't hear the door" | | 1 | "She raised her head." | | 2 | "Her blonde hair had darkened" | | 3 | "She wore a cream coat" | | 4 | "She glanced around the bar," | | 5 | "Her reflection swam in the" | | 6 | "She poured the drink and" | | 7 | "She stopped, looked down at" | | 8 | "She'd attended as a bridesmaid," | | 9 | "They were quiet for a" | | 10 | "She laughed bitterly" | | 11 | "She reached across the space" | | 12 | "she said honestly" |
| | ratio | 0.2 | |
| 13.85% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 58 | | totalSentences | 65 | | matches | | 0 | "The neon sign flickered outside," | | 1 | "Aurora wiped down the bar" | | 2 | "The maps on the walls" | | 3 | "She didn't hear the door" | | 4 | "The voice was familiar in" | | 5 | "She raised her head." | | 6 | "Eva Whitmore looked different." | | 7 | "Her blonde hair had darkened" | | 8 | "She wore a cream coat" | | 9 | "Aurora's hands stilled on the" | | 10 | "The name hung between them" | | 11 | "Eva started, then stopped" | | 12 | "She glanced around the bar," | | 13 | "The words came out sharper" | | 14 | "Eva's mouth thinned" | | 15 | "Eva had always moved in" | | 16 | "The bar suddenly felt smaller," | | 17 | "Rory set down her cloth." | | 18 | "Rory turned to the bottles," | | 19 | "Her reflection swam in the" |
| | ratio | 0.892 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 65 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 32 | | technicalSentenceCount | 1 | | matches | | 0 | "Rory thought about those first months in London, sleeping on Eva's couch, eating takeout containers on the floor while they watched films and didn't talk about …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 18 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 2 | | fancyTags | | 0 | "Rory agreed (agree)" | | 1 | "She laughed bitterly (laugh)" |
| | dialogueSentences | 52 | | tagDensity | 0.173 | | leniency | 0.346 | | rawRatio | 0.222 | | effectiveRatio | 0.077 | |