| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 85.21% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1352 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "suddenly" | | 1 | "softly" | | 2 | "carefully" | | 3 | "very" |
| |
| 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) | |
| 55.62% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1352 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "velvet" | | 1 | "abyssal" | | 2 | "chaotic" | | 3 | "silk" | | 4 | "intensity" | | 5 | "unravel" | | 6 | "resolve" | | 7 | "electric" | | 8 | "warmth" | | 9 | "could feel" | | 10 | "rhythmic" | | 11 | "weight" |
| |
| 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 | 96 | | matches | (empty) | |
| 98.21% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 2 | | narrationSentences | 96 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 96 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 41 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1344 | | ratio | 0 | | matches | (empty) | |
| 62.50% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 16 | | unquotedAttributions | 4 | | matches | | 0 | "We had an agreement, she said, tossing the menus onto a side table." | | 1 | "Agreements are fluid things when the circumstances shift, Lucien replied." | | 2 | "I left because the job was finished, she retorted, though her heart was hammering against her ribs like a bird in a cage…" | | 3 | "Just stay for a moment, he said, his voice a low promise." |
| |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 42 | | wordCount | 1344 | | uniqueNames | 10 | | maxNameDensity | 1.04 | | worstName | "You" | | maxWindowNameDensity | 2.5 | | worstWindowName | "You" | | discoveredNames | | Brick | 2 | | Lane | 2 | | Eva | 2 | | Lucien | 8 | | Moreau | 1 | | Rory | 7 | | Aurora | 2 | | London | 3 | | Evan | 1 | | You | 14 |
| | persons | | 0 | "Eva" | | 1 | "Lucien" | | 2 | "Moreau" | | 3 | "Rory" | | 4 | "Evan" | | 5 | "You" |
| | places | | | globalScore | 0.979 | | windowScore | 0.833 | |
| 85.90% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 78 | | glossingSentenceCount | 2 | | matches | | 0 | "felt like a bridge between her human fr" | | 1 | "seemed very far away" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.744 | | wordCount | 1344 | | matches | | 0 | "not the expected tangle of research papers or the accusing stare of a roommate, but the sharp, immaculate silhouette of Lucien Moreau" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 96 | | matches | (empty) | |
| 90.75% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 31 | | mean | 43.35 | | std | 20.27 | | cv | 0.468 | | sampleLengths | | 0 | 62 | | 1 | 64 | | 2 | 35 | | 3 | 23 | | 4 | 40 | | 5 | 71 | | 6 | 48 | | 7 | 48 | | 8 | 72 | | 9 | 12 | | 10 | 44 | | 11 | 37 | | 12 | 64 | | 13 | 45 | | 14 | 38 | | 15 | 47 | | 16 | 104 | | 17 | 47 | | 18 | 55 | | 19 | 40 | | 20 | 25 | | 21 | 6 | | 22 | 30 | | 23 | 55 | | 24 | 23 | | 25 | 45 | | 26 | 19 | | 27 | 20 | | 28 | 48 | | 29 | 18 | | 30 | 59 |
| |
| 83.33% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 96 | | matches | | 0 | "was rattled" | | 1 | "was finished" | | 2 | "were terrified" | | 3 | "was forced" | | 4 | "was gone" | | 5 | "been called" |
| |
| 30.51% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 236 | | matches | | 0 | "was working" | | 1 | "was hammering" | | 2 | "were starting" | | 3 | "was already pressing" | | 4 | "was, standing" | | 5 | "was still trying" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 96 | | ratio | 0.073 | | matches | | 0 | "His heterochromatic eyes—one amber, bright and hunting, the other a flat, abyssal black—tracked the length of her with a clinical, agonizing patience." | | 1 | "He let out a short, dry laugh—a sound like glass breaking on silk." | | 2 | "He stopped just outside her personal space, the scent of him washing over her—cold rain, old parchment, and a faint, metallic tang of ozone that always accompanied his proximity." | | 3 | "It wasn't a question, and it wasn't a boast—it was a recognition of a shared, uncomfortable truth." | | 4 | "She could feel the steady, rhythmic thump of his heart—a heartbeat that shouldn't exist, a rhythm that belonged to a world she was still trying to outrun." | | 5 | "She looked at him—the slicked-back platinum hair, the sharp, angular jaw, the eyes that saw through everything she tried to hide." | | 6 | "For now, the only thing that mattered was the weight of his hand, the anchor of his presence, and the messy, terrifying realization that she hadn't just been running from trouble—she had been running toward her own undoing." |
| |
| 82.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1359 | | adjectiveStacks | 3 | | stackExamples | | 0 | "cramped, spice-scented air" | | 1 | "small, crescent-shaped scar" | | 2 | "impossible, dual-colored gaze." |
| | adverbCount | 53 | | adverbRatio | 0.03899926416482708 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.011037527593818985 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 96 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 96 | | mean | 14 | | std | 9.06 | | cv | 0.647 | | sampleLengths | | 0 | 28 | | 1 | 34 | | 2 | 16 | | 3 | 12 | | 4 | 14 | | 5 | 22 | | 6 | 3 | | 7 | 10 | | 8 | 22 | | 9 | 12 | | 10 | 11 | | 11 | 18 | | 12 | 10 | | 13 | 9 | | 14 | 3 | | 15 | 23 | | 16 | 26 | | 17 | 22 | | 18 | 16 | | 19 | 21 | | 20 | 8 | | 21 | 3 | | 22 | 13 | | 23 | 20 | | 24 | 9 | | 25 | 6 | | 26 | 10 | | 27 | 20 | | 28 | 3 | | 29 | 24 | | 30 | 6 | | 31 | 9 | | 32 | 3 | | 33 | 5 | | 34 | 4 | | 35 | 13 | | 36 | 12 | | 37 | 19 | | 38 | 6 | | 39 | 10 | | 40 | 5 | | 41 | 4 | | 42 | 12 | | 43 | 10 | | 44 | 29 | | 45 | 25 | | 46 | 24 | | 47 | 21 | | 48 | 23 | | 49 | 8 |
| |
| 31.60% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 18 | | diversityRatio | 0.3020833333333333 | | totalSentences | 96 | | uniqueOpeners | 29 | |
| 70.92% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 94 | | matches | | 0 | "Just stay for a moment," | | 1 | "Just until the world stops" |
| | ratio | 0.021 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 55 | | totalSentences | 94 | | matches | | 0 | "He was a jagged shard" | | 1 | "He didn't move." | | 2 | "He simply leaned, just a" | | 3 | "His heterochromatic eyes—one amber, bright" | | 4 | "You’re not Eva, Rory said," | | 5 | "He offered half a smile," | | 6 | "It occurred to me that" | | 7 | "I’m not hiding, she snapped," | | 8 | "She walked backward into the" | | 9 | "He took in the disarray" | | 10 | "He looked far too clean" | | 11 | "He always had." | | 12 | "We had an agreement, she" | | 13 | "Her fingers strayed, as they" | | 14 | "You said you wouldn’t come" | | 15 | "He stopped near the window," | | 16 | "He didn’t sit." | | 17 | "He looked at her, his" | | 18 | "You’ve been difficult to locate," | | 19 | "I was working." |
| | ratio | 0.585 | |
| 50.43% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 77 | | totalSentences | 94 | | matches | | 0 | "The three deadbolts on the" | | 1 | "Rory stood dead still, a" | | 2 | "The air in the hallway" | | 3 | "Lucien didn't look like he" | | 4 | "He was a jagged shard" | | 5 | "He didn't move." | | 6 | "He simply leaned, just a" | | 7 | "His heterochromatic eyes—one amber, bright" | | 8 | "You’re not Eva, Rory said," | | 9 | "The blue of her eyes" | | 10 | "He offered half a smile," | | 11 | "It occurred to me that" | | 12 | "I’m not hiding, she snapped," | | 13 | "She walked backward into the" | | 14 | "Ptolemy, the tabby cat, uncurled" | | 15 | "Lucien entered the room with" | | 16 | "He took in the disarray" | | 17 | "He looked far too clean" | | 18 | "He always had." | | 19 | "We had an agreement, she" |
| | ratio | 0.819 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 6 | | totalSentences | 94 | | matches | | 0 | "Though I expected you to" | | 1 | "Even for someone with my" | | 2 | "To catalog my failures?" | | 3 | "Because if so, you’re about" | | 4 | "Even before I met you," | | 5 | "Even when you’re spitting venom" |
| | ratio | 0.064 | |
| 27.65% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 62 | | technicalSentenceCount | 10 | | matches | | 0 | "He was a jagged shard of high-end tailoring, his charcoal suit absorbing the dim light as if he were a velvet void." | | 1 | "She walked backward into the living room, past the stacks of crumbling scrolls and the piles of books that formed a chaotic geography of the occult." | | 2 | "I’m here because you walked out of the gallery without a word, he said, his voice dropping an octave, losing its polished, broker-like detachment." | | 3 | "You left the map, you left the contact, and you left me with a half-finished conversation that’s been festering for weeks." | | 4 | "She remembered the heat of his hand on the small of her back, a touch that felt like a bridge between her human fragility and his demonic permanence." | | 5 | "He reached out, his thumb catching the edge of her jaw, tilting her head up until she was forced to look directly into that impossible, dual-colored gaze." | | 6 | "He was a creature of a different realm, a broker of secrets and sins, yet here he was, standing in a cramped room above a curry house, looking at her as if she …" | | 7 | "Rory reached up, her hand hovering near his chest, her fingers brushing the fine wool of his jacket." | | 8 | "She could feel the steady, rhythmic thump of his heart—a heartbeat that shouldn't exist, a rhythm that belonged to a world she was still trying to outrun." | | 9 | "For now, the only thing that mattered was the weight of his hand, the anchor of his presence, and the messy, terrifying realization that she hadn't just been ru…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |