| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 13 | | adverbTagCount | 2 | | adverbTags | | 0 | "His fingers flexed around [around]" | | 1 | "His voice cracked just [just]" |
| | dialogueSentences | 60 | | tagDensity | 0.217 | | leniency | 0.433 | | rawRatio | 0.154 | | effectiveRatio | 0.067 | |
| 92.12% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1269 | | totalAiIsmAdverbs | 2 | | found | | | highlights | | |
| 100.00% | AI-ism character names | Target: 0 AI-default names (17 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 56.66% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1269 | | totalAiIsms | 11 | | found | | | highlights | | 0 | "unreadable" | | 1 | "intensity" | | 2 | "methodical" | | 3 | "pulse" | | 4 | "charged" | | 5 | "echoed" | | 6 | "gleaming" | | 7 | "disrupting" | | 8 | "fluttered" | | 9 | "fractured" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 1 | | found | | 0 | | label | "sent a shiver through" | | count | 2 |
|
| | highlights | | 0 | "sent a jolt through" | | 1 | "sent a shiver through" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 96 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 96 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 143 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 41 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 13 | | markdownWords | 18 | | totalWords | 1260 | | ratio | 0.014 | | matches | | 0 | "chérie" | | 1 | "domestic" | | 2 | "went home" | | 3 | "months" | | 4 | "understanding" | | 5 | "note" | | 6 | "want" | | 7 | "impossible" | | 8 | "hated" | | 9 | "missed" | | 10 | "his" | | 11 | "mon ange" | | 12 | "Je te le jure." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 13 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 22 | | wordCount | 905 | | uniqueNames | 10 | | maxNameDensity | 0.66 | | worstName | "Aurora" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Aurora" | | discoveredNames | | Eva | 3 | | Ptolemy | 3 | | London | 1 | | Golden | 1 | | Empress | 1 | | Lucien | 4 | | Sumerian | 1 | | Aurora | 6 | | French | 1 | | Carter | 1 |
| | persons | | 0 | "Eva" | | 1 | "Ptolemy" | | 2 | "Lucien" | | 3 | "Aurora" | | 4 | "Carter" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 63 | | 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 | 1260 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 143 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 60 | | mean | 21 | | std | 13.97 | | cv | 0.665 | | sampleLengths | | 0 | 29 | | 1 | 44 | | 2 | 22 | | 3 | 28 | | 4 | 29 | | 5 | 9 | | 6 | 9 | | 7 | 47 | | 8 | 14 | | 9 | 40 | | 10 | 26 | | 11 | 15 | | 12 | 16 | | 13 | 45 | | 14 | 40 | | 15 | 5 | | 16 | 25 | | 17 | 17 | | 18 | 27 | | 19 | 9 | | 20 | 46 | | 21 | 24 | | 22 | 35 | | 23 | 7 | | 24 | 6 | | 25 | 66 | | 26 | 20 | | 27 | 10 | | 28 | 20 | | 29 | 6 | | 30 | 24 | | 31 | 19 | | 32 | 24 | | 33 | 10 | | 34 | 1 | | 35 | 11 | | 36 | 4 | | 37 | 1 | | 38 | 36 | | 39 | 7 | | 40 | 5 | | 41 | 15 | | 42 | 33 | | 43 | 2 | | 44 | 10 | | 45 | 17 | | 46 | 3 | | 47 | 48 | | 48 | 23 | | 49 | 11 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 96 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 164 | | matches | (empty) | |
| 22.98% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 143 | | ratio | 0.042 | | matches | | 0 | "Just stared at the man on the other side of the threshold, his platinum hair slicked back despite the damp London air, his heterochromatic gaze—one eye amber, the other black—fixed on her with the same unreadable intensity as always." | | 1 | "She stepped back, letting the door swing wider—not an invitation, just refusal to be crowded." | | 2 | "His free hand lifted, hovered near her face—close enough that she felt the ghost of his touch before he dropped it." | | 3 | "His cologne—bergamot and something darker, like gunpowder—filled her lungs." | | 4 | "The taste of him—dark, spiced, *his*—sent her senses reeling." | | 5 | "Something fractured in his expression—pride, maybe, or the last remnants of his control." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 914 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 36 | | adverbRatio | 0.03938730853391685 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.00437636761487965 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 143 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 143 | | mean | 8.81 | | std | 7.17 | | cv | 0.814 | | sampleLengths | | 0 | 4 | | 1 | 2 | | 2 | 23 | | 3 | 3 | | 4 | 2 | | 5 | 39 | | 6 | 17 | | 7 | 5 | | 8 | 21 | | 9 | 7 | | 10 | 13 | | 11 | 9 | | 12 | 7 | | 13 | 9 | | 14 | 6 | | 15 | 3 | | 16 | 14 | | 17 | 15 | | 18 | 15 | | 19 | 3 | | 20 | 9 | | 21 | 5 | | 22 | 18 | | 23 | 12 | | 24 | 10 | | 25 | 15 | | 26 | 1 | | 27 | 1 | | 28 | 5 | | 29 | 4 | | 30 | 8 | | 31 | 7 | | 32 | 7 | | 33 | 9 | | 34 | 7 | | 35 | 36 | | 36 | 2 | | 37 | 10 | | 38 | 12 | | 39 | 18 | | 40 | 2 | | 41 | 3 | | 42 | 21 | | 43 | 4 | | 44 | 14 | | 45 | 3 | | 46 | 9 | | 47 | 18 | | 48 | 6 | | 49 | 3 |
| |
| 54.78% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.34965034965034963 | | totalSentences | 143 | | uniqueOpeners | 50 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 89 | | matches | | 0 | "Then the door swung open" | | 1 | "Just stared at the man" | | 2 | "Just turned his head back," |
| | ratio | 0.034 | |
| 13.26% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 46 | | totalSentences | 89 | | matches | | 0 | "Her fingers tightened around the" | | 1 | "He leaned against the doorframe," | | 2 | "She stepped back, letting the" | | 3 | "His voice dropped, rougher than" | | 4 | "He shut the door behind" | | 5 | "She turned, arms crossed" | | 6 | "His cane tapped once against" | | 7 | "She looked away, her gaze" | | 8 | "He cut her off, stepping" | | 9 | "His free hand lifted, hovered" | | 10 | "His lips pressed into a" | | 11 | "His fingers flexed around the" | | 12 | "She should’ve been relieved." | | 13 | "His voice cracked, just slightly" | | 14 | "Her breath came faster." | | 15 | "His gaze darkened" | | 16 | "His cologne—bergamot and something darker," | | 17 | "She should’ve stepped back." | | 18 | "She grabbed a chipped mug" | | 19 | "Her hands shook." |
| | ratio | 0.517 | |
| 21.80% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 78 | | totalSentences | 89 | | matches | | 0 | "The third deadbolt clicked." | | 1 | "Aurora didn’t move." | | 2 | "Lucien exhaled through his nose," | | 3 | "Her fingers tightened around the" | | 4 | "He leaned against the doorframe," | | 5 | "The ivory handle gleamed under" | | 6 | "A muscle in his jaw" | | 7 | "Ptolemy wound between his ankles," | | 8 | "The gesture was too casual," | | 9 | "She stepped back, letting the" | | 10 | "His voice dropped, rougher than" | | 11 | "The flat smelled of old" | | 12 | "Aurora dumped the takeout on" | | 13 | "He shut the door behind" | | 14 | "The way he did everything." | | 15 | "She turned, arms crossed" | | 16 | "His cane tapped once against" | | 17 | "The words hit like a" | | 18 | "She looked away, her gaze" | | 19 | "He cut her off, stepping" |
| | ratio | 0.876 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 89 | | matches | (empty) | | ratio | 0 | |
| 86.47% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 38 | | technicalSentenceCount | 3 | | matches | | 0 | "She looked away, her gaze snagging on the scarred wooden table where they’d once shared cheap wine and even cheaper takeaway, his thigh pressed against hers und…" | | 1 | "Her fingers tangled in his hair, disrupting the careful slick, and he groaned against her mouth, his grip tightening." | | 2 | "His mouth trailed down her throat, teeth grazing the pulse point that fluttered wildly beneath his lips." |
| |
| 86.54% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 13 | | uselessAdditionCount | 1 | | matches | | 0 | "He closed, his cane thudding softly against the floor" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 2 | | fancyTags | | 0 | "His lips pressed (press)" | | 1 | "he murmured (murmur)" |
| | dialogueSentences | 60 | | tagDensity | 0.033 | | leniency | 0.067 | | rawRatio | 1 | | effectiveRatio | 0.067 | |