| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 24 | | adverbTagCount | 1 | | adverbTags | | 0 | "She turned back [back]" |
| | dialogueSentences | 46 | | tagDensity | 0.522 | | leniency | 1 | | rawRatio | 0.042 | | effectiveRatio | 0.042 | |
| 95.13% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2055 | | 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) | |
| 65.94% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2055 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "weight" | | 1 | "silence" | | 2 | "etched" | | 3 | "echo" | | 4 | "charm" | | 5 | "quivered" | | 6 | "pulsed" | | 7 | "resolve" | | 8 | "unravel" | | 9 | "aftermath" | | 10 | "pulse" | | 11 | "flicker" | | 12 | "warmth" |
| |
| 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 | 110 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 110 | | filterMatches | (empty) | | hedgeMatches | | 0 | "seemed to" | | 1 | "tended to" | | 2 | "tried to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 129 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 47 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2044 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 24 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 46 | | wordCount | 1534 | | uniqueNames | 19 | | maxNameDensity | 0.85 | | worstName | "Lucien" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Lucien" | | discoveredNames | | Carter | 1 | | Golden | 1 | | Empress | 1 | | Brick | 1 | | Lane | 1 | | Eva | 3 | | Moreau | 1 | | Evan | 3 | | Aurora | 10 | | Silas | 1 | | Yu-Fei | 2 | | Cantonese | 1 | | Lucien | 13 | | Italian | 1 | | Keres | 1 | | Parisian | 1 | | Englishman | 1 | | London | 1 | | Malphora | 2 |
| | persons | | 0 | "Carter" | | 1 | "Eva" | | 2 | "Moreau" | | 3 | "Evan" | | 4 | "Aurora" | | 5 | "Silas" | | 6 | "Yu-Fei" | | 7 | "Lucien" | | 8 | "Italian" | | 9 | "Keres" |
| | places | | 0 | "Golden" | | 1 | "Brick" | | 2 | "Lane" | | 3 | "Cantonese" | | 4 | "London" |
| | globalScore | 1 | | windowScore | 0.833 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 83 | | glossingSentenceCount | 5 | | matches | | 0 | "as if listening to an echo only he could hear" | | 1 | "looked like oil and might’ve been blood" | | 2 | "something like a smile" | | 3 | "something like genuine regret" | | 4 | "sounded like an admission of something els" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 2044 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 129 | | matches | | 0 | "chose that moment" | | 1 | "had that night" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 42 | | mean | 48.67 | | std | 25.33 | | cv | 0.52 | | sampleLengths | | 0 | 101 | | 1 | 129 | | 2 | 31 | | 3 | 91 | | 4 | 80 | | 5 | 18 | | 6 | 68 | | 7 | 37 | | 8 | 39 | | 9 | 36 | | 10 | 64 | | 11 | 45 | | 12 | 48 | | 13 | 22 | | 14 | 82 | | 15 | 65 | | 16 | 51 | | 17 | 23 | | 18 | 15 | | 19 | 56 | | 20 | 38 | | 21 | 63 | | 22 | 38 | | 23 | 26 | | 24 | 36 | | 25 | 78 | | 26 | 18 | | 27 | 49 | | 28 | 51 | | 29 | 66 | | 30 | 18 | | 31 | 38 | | 32 | 59 | | 33 | 13 | | 34 | 45 | | 35 | 38 | | 36 | 61 | | 37 | 74 | | 38 | 8 | | 39 | 38 | | 40 | 58 | | 41 | 30 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 110 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 275 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 129 | | ratio | 0.085 | | matches | | 0 | "The muffled clatter from the Golden Empress below usually kept Brick Lane’s secrets at bay—goshtaba and vindaloo mingling with the hum of the city—but tonight, the silence felt deliberate." | | 1 | "His charcoal suit seemed to swallow the lamplight, leaving his face in high contrast—cheekbones like chiseled obsidian, eyes one gold and one black, the left pupil etched with a faint, silken shimmer that hinted at the things he’d seen in realms most humans didn’t know existed." | | 2 | "It had been the same scar that flared when he’d first found her—the night Evan had carved it into her with a broken bottle, and Aurora, too stunned to run, had nearly died right there on Silas’s barroom floor." | | 3 | "It wasn’t one of his usual tricks—this wasn’t theatrics." | | 4 | "“You left my front door locked when you disappeared. Should’ve known better.” She edged the door closed until the gap narrowed to his boots—sleek Italian, splattered with something that looked like oil and might’ve been blood." | | 5 | "His gaze swept the room—Eva’s notes plastered every surface, the bookshelves sagging under arcane texts, the faint smell of jasmine soap left behind by a friend who liked to pretend the universe was comprehensible." | | 6 | "Another part wanted to fling open the window and throw the vindaloo at him for the way he’d used her once—her trauma a bridge to cross into trust." | | 7 | "The part of her that hated Evan used to memorize every angle of that face in Lucien—how his jaw could set itself into resolve, how his eyes could cloud with something like genuine regret." | | 8 | "“My intermediaries don’t speak Irish and Welsh as your ex-fiancé did.” His voice dipped to the accent he wore only when he wanted to disarm her—Parisian, but with the rough edge of an Englishman who’d lived under too much pressure." | | 9 | "He looked exactly the same as he had that night—tailored, too sure of himself, too tired beneath the veneer." | | 10 | "She stood then, slow as she used to be with Evan—like a mouse circling a trap it didn’t fully believe was real." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1552 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 52 | | adverbRatio | 0.03350515463917526 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.008376288659793814 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 129 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 129 | | mean | 15.84 | | std | 10.52 | | cv | 0.664 | | sampleLengths | | 0 | 25 | | 1 | 29 | | 2 | 21 | | 3 | 21 | | 4 | 5 | | 5 | 25 | | 6 | 46 | | 7 | 29 | | 8 | 29 | | 9 | 16 | | 10 | 15 | | 11 | 8 | | 12 | 15 | | 13 | 39 | | 14 | 12 | | 15 | 17 | | 16 | 12 | | 17 | 17 | | 18 | 14 | | 19 | 17 | | 20 | 20 | | 21 | 13 | | 22 | 5 | | 23 | 24 | | 24 | 9 | | 25 | 12 | | 26 | 23 | | 27 | 14 | | 28 | 2 | | 29 | 16 | | 30 | 5 | | 31 | 3 | | 32 | 36 | | 33 | 9 | | 34 | 20 | | 35 | 7 | | 36 | 12 | | 37 | 21 | | 38 | 14 | | 39 | 17 | | 40 | 6 | | 41 | 39 | | 42 | 7 | | 43 | 28 | | 44 | 13 | | 45 | 9 | | 46 | 3 | | 47 | 5 | | 48 | 5 | | 49 | 18 |
| |
| 47.29% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.3023255813953488 | | totalSentences | 129 | | uniqueOpeners | 39 | |
| 33.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 101 | | matches | | 0 | "Then she turned the knob." |
| | ratio | 0.01 | |
| 37.82% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 46 | | totalSentences | 101 | | matches | | 0 | "She counted to three, a" | | 1 | "Her shoulder-length black hair swung" | | 2 | "His charcoal suit seemed to" | | 3 | "She recognized the ivory handle’s" | | 4 | "he said, rolling her nickname" | | 5 | "Her voice came out colder" | | 6 | "She crossed her arms, the" | | 7 | "It had been the same" | | 8 | "She’d spent months healing beneath" | | 9 | "She heard the sizzle of" | | 10 | "He crouched smoothly, the motion" | | 11 | "It wasn’t one of his" | | 12 | "He was tense, his left" | | 13 | "She edged the door closed" | | 14 | "She didn’t want to still" | | 15 | "She turned her back, already" | | 16 | "He moved too close when" | | 17 | "It was just a doorframe" | | 18 | "Her hand stilled on the" | | 19 | "She didn’t turn it off." |
| | ratio | 0.455 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 93 | | totalSentences | 101 | | matches | | 0 | "Aurora Carter's fingers hovered over" | | 1 | "The muffled clatter from the" | | 2 | "She counted to three, a" | | 3 | "Her shoulder-length black hair swung" | | 4 | "Lucien Moreau stood there like" | | 5 | "His charcoal suit seemed to" | | 6 | "A year had passed since" | | 7 | "She recognized the ivory handle’s" | | 8 | "he said, rolling her nickname" | | 9 | "The sound of it cracked" | | 10 | "Her voice came out colder" | | 11 | "She crossed her arms, the" | | 12 | "It had been the same" | | 13 | "Lucien had pulled her up" | | 14 | "She’d spent months healing beneath" | | 15 | "The curry house downstairs chimed" | | 16 | "She heard the sizzle of" | | 17 | "Lucien tilted his head, as" | | 18 | "Ptolemy, Eva’s tabby, chose that" | | 19 | "The cat froze, fur bristling" |
| | ratio | 0.921 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 101 | | matches | (empty) | | ratio | 0 | |
| 63.49% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 54 | | technicalSentenceCount | 6 | | matches | | 0 | "Aurora Carter's fingers hovered over the third deadbolt, her breath catching at the unfamiliar weight of a shadow pressing through the crack beneath the door." | | 1 | "His charcoal suit seemed to swallow the lamplight, leaving his face in high contrast—cheekbones like chiseled obsidian, eyes one gold and one black, the left pu…" | | 2 | "His gaze swept the room—Eva’s notes plastered every surface, the bookshelves sagging under arcane texts, the faint smell of jasmine soap left behind by a friend…" | | 3 | "A part of her still wanted to flinch at how right he felt in this space, as if a man who moved through shadows and spoke four languages should belong in a room …" | | 4 | "The blade in his cane had cut her free from a thing that liked to unravel the living, and in the aftermath, they’d laughed about the improbability of it." | | 5 | "The woman who had been Malphora and not known how to use her own name had been buried under three city blocks and a year spent avoiding anything she couldn’t co…" |
| |
| 62.50% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 24 | | uselessAdditionCount | 3 | | matches | | 0 | "The words came, urgent" | | 1 | "He paused, and the air thickened" | | 2 | "She pushed, her pulse steady despite the war inside her" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 13 | | fancyCount | 2 | | fancyTags | | 0 | "he murmured (murmur)" | | 1 | "the older woman had (have)" |
| | dialogueSentences | 46 | | tagDensity | 0.283 | | leniency | 0.565 | | rawRatio | 0.154 | | effectiveRatio | 0.087 | |