| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 17 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 52 | | tagDensity | 0.327 | | leniency | 0.654 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 89.19% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1388 | | totalAiIsmAdverbs | 3 | | found | | 0 | | adverb | "deliberately" | | count | 1 |
| | 1 | | | 2 | |
| | highlights | | 0 | "deliberately" | | 1 | "coyly" | | 2 | "carefully" |
| |
| 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) | |
| 89.19% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1388 | | totalAiIsms | 3 | | found | | | 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 | 0 | | narrationSentences | 71 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 71 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 107 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 60 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1400 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 25 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 18 | | wordCount | 831 | | uniqueNames | 11 | | maxNameDensity | 0.48 | | worstName | "Lucien" | | maxWindowNameDensity | 1 | | worstWindowName | "Rory" | | discoveredNames | | Moreau | 1 | | Golden | 1 | | Empress | 1 | | Eva | 1 | | Brick | 1 | | Lane | 1 | | Silas | 1 | | Rory | 3 | | Breathed | 1 | | Ptolemy | 3 | | Lucien | 4 |
| | persons | | 0 | "Moreau" | | 1 | "Eva" | | 2 | "Silas" | | 3 | "Rory" | | 4 | "Ptolemy" | | 5 | "Lucien" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 42 | | glossingSentenceCount | 3 | | matches | | 0 | "looked like a man who hadn't slept" | | 1 | "not quite a smile, not quite the opposite" | | 2 | "not quite the opposite" | | 3 | "looked like he hadn't decided whether to" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.714 | | wordCount | 1400 | | matches | | 0 | "not permission, but a concession to the fact" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 107 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 61 | | mean | 22.95 | | std | 20.11 | | cv | 0.876 | | sampleLengths | | 0 | 43 | | 1 | 1 | | 2 | 66 | | 3 | 4 | | 4 | 2 | | 5 | 48 | | 6 | 4 | | 7 | 3 | | 8 | 70 | | 9 | 6 | | 10 | 6 | | 11 | 9 | | 12 | 42 | | 13 | 69 | | 14 | 8 | | 15 | 30 | | 16 | 7 | | 17 | 33 | | 18 | 17 | | 19 | 23 | | 20 | 40 | | 21 | 20 | | 22 | 11 | | 23 | 65 | | 24 | 30 | | 25 | 14 | | 26 | 7 | | 27 | 52 | | 28 | 17 | | 29 | 6 | | 30 | 3 | | 31 | 13 | | 32 | 37 | | 33 | 4 | | 34 | 4 | | 35 | 32 | | 36 | 50 | | 37 | 18 | | 38 | 10 | | 39 | 42 | | 40 | 7 | | 41 | 25 | | 42 | 26 | | 43 | 63 | | 44 | 53 | | 45 | 5 | | 46 | 2 | | 47 | 4 | | 48 | 2 | | 49 | 44 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 71 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 134 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 8 | | totalSentences | 107 | | ratio | 0.075 | | matches | | 0 | "Lucien Moreau stood on the top stair in his charcoal suit, ivory-handled cane resting against his shin, his heterochromatic gaze fixed on her face — amber on the left, black on the right." | | 1 | "He looked at it — not deliberately, not coyly — but his eyes dropped to it the way they always had, the way he used to trace it with his thumb when they sat together on Eva's rooftop, their legs dangling over Brick Lane." | | 2 | "She stepped back from the door, and he took that for what it was — not permission, but a concession to the fact that the stairwell was damp and cold and he looked like a man who hadn't slept." | | 3 | "His mouth twitched — not quite a smile, not quite the opposite." | | 4 | "He held her gaze — both eyes, amber and black, and the discomfort of it never lessened." | | 5 | "She studied him — the rain-darkened suit, the loosened hair, the way his fingers hadn't uncurled from his knees the entire time." | | 6 | "He uncapped one hand and placed it flat on the counter between them — palm down, fingers spread, the way you'd offer something fragile for inspection." | | 7 | "She huffed — not a laugh, something drier, something that had been a laugh once and had worn thin in the intervening months." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 806 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 20 | | adverbRatio | 0.02481389578163772 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.0024813895781637717 | |
| 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 | 13.08 | | std | 11.81 | | cv | 0.903 | | sampleLengths | | 0 | 12 | | 1 | 21 | | 2 | 10 | | 3 | 1 | | 4 | 22 | | 5 | 33 | | 6 | 11 | | 7 | 4 | | 8 | 2 | | 9 | 3 | | 10 | 4 | | 11 | 25 | | 12 | 16 | | 13 | 4 | | 14 | 3 | | 15 | 6 | | 16 | 20 | | 17 | 44 | | 18 | 6 | | 19 | 6 | | 20 | 9 | | 21 | 3 | | 22 | 39 | | 23 | 4 | | 24 | 17 | | 25 | 27 | | 26 | 21 | | 27 | 8 | | 28 | 2 | | 29 | 19 | | 30 | 9 | | 31 | 7 | | 32 | 30 | | 33 | 3 | | 34 | 12 | | 35 | 5 | | 36 | 17 | | 37 | 6 | | 38 | 40 | | 39 | 3 | | 40 | 17 | | 41 | 11 | | 42 | 60 | | 43 | 5 | | 44 | 10 | | 45 | 16 | | 46 | 4 | | 47 | 14 | | 48 | 7 | | 49 | 3 |
| |
| 50.47% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.3364485981308411 | | totalSentences | 107 | | uniqueOpeners | 36 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 58 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 35 | | totalSentences | 58 | | matches | | 0 | "She looked at him for" | | 1 | "His voice carried the faint" | | 2 | "He didn't move." | | 3 | "She didn't step aside." | | 4 | "She leaned against the doorframe," | | 5 | "He looked at it —" | | 6 | "Her jaw shifted." | | 7 | "She stepped back from the" | | 8 | "He crossed the threshold." | | 9 | "She closed the door behind" | | 10 | "She moved to the counter" | | 11 | "she said, nodding at the" | | 12 | "She set the chopsticks down" | | 13 | "His mouth twitched — not" | | 14 | "He exhaled through his nose." | | 15 | "She said his name without" | | 16 | "She turned away from him" | | 17 | "She watched them go." | | 18 | "She spun around." | | 19 | "Her voice stayed level, but" |
| | ratio | 0.603 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 54 | | totalSentences | 58 | | matches | | 0 | "The three deadbolts turned one" | | 1 | "Aurora stood in the gap," | | 2 | "She looked at him for" | | 3 | "His voice carried the faint" | | 4 | "Lucien Moreau stood on the" | | 5 | "He didn't move." | | 6 | "She didn't step aside." | | 7 | "The narrow hallway behind her" | | 8 | "Ptolemy wound between her ankles," | | 9 | "Silence built a wall between" | | 10 | "She leaned against the doorframe," | | 11 | "He looked at it —" | | 12 | "Her jaw shifted." | | 13 | "She stepped back from the" | | 14 | "He crossed the threshold." | | 15 | "She closed the door behind" | | 16 | "The flat was small, the" | | 17 | "She moved to the counter" | | 18 | "she said, nodding at the" | | 19 | "The cane leaned against the" |
| | ratio | 0.931 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 58 | | matches | (empty) | | ratio | 0 | |
| 50.69% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 31 | | technicalSentenceCount | 4 | | matches | | 0 | "The narrow hallway behind her held a stack of delivery bags from Golden Empress and a lamp that threw warm light across the scuffed floorboards." | | 1 | "She stepped back from the door, and he took that for what it was — not permission, but a concession to the fact that the stairwell was damp and cold and he look…" | | 2 | "The wood between them was warm from the lamp, and the rain kept falling, and Ptolemy had settled into the chair behind her with the quiet certainty of a creatur…" | | 3 | "She huffed — not a laugh, something drier, something that had been a laugh once and had worn thin in the intervening months." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 17 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 52 | | tagDensity | 0.192 | | leniency | 0.385 | | rawRatio | 0 | | effectiveRatio | 0 | |