| 86.79% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 24 | | adverbTagCount | 3 | | adverbTags | | 0 | "she finally said [finally]" | | 1 | "she asked suddenly [suddenly]" | | 2 | "she finally said [finally]" |
| | dialogueSentences | 53 | | tagDensity | 0.453 | | leniency | 0.906 | | rawRatio | 0.125 | | effectiveRatio | 0.113 | |
| 67.29% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1223 | | totalAiIsmAdverbs | 8 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | adverb | "barely above a whisper" | | count | 1 |
| | 5 | | | 6 | | | 7 | |
| | highlights | | 0 | "perfectly" | | 1 | "sharply" | | 2 | "softly" | | 3 | "really" | | 4 | "barely above a whisper" | | 5 | "suddenly" | | 6 | "slightly" | | 7 | "gently" |
| |
| 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) | |
| 30.50% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1223 | | totalAiIsms | 17 | | found | | | highlights | | 0 | "intensity" | | 1 | "racing" | | 2 | "encounter" | | 3 | "stark" | | 4 | "warmth" | | 5 | "unspoken" | | 6 | "charged" | | 7 | "whisper" | | 8 | "silence" | | 9 | "pounding" | | 10 | "simmering" | | 11 | "electric" | | 12 | "flicker" | | 13 | "disrupted" | | 14 | "weight" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "blood ran cold" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 64 | | matches | | |
| 98.21% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 64 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 92 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 48 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1208 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 20 | | unquotedAttributions | 0 | | matches | (empty) | |
| 49.75% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 32 | | wordCount | 798 | | uniqueNames | 6 | | maxNameDensity | 2.01 | | worstName | "Lucien" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Lucien" | | discoveredNames | | Lucien | 16 | | Moreau | 1 | | London | 1 | | Eva | 1 | | Aurora | 12 | | Veil | 1 |
| | persons | | 0 | "Lucien" | | 1 | "Moreau" | | 2 | "Eva" | | 3 | "Aurora" |
| | places | | | globalScore | 0.497 | | windowScore | 0.5 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 58 | | 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 | 1208 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 92 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 45 | | mean | 26.84 | | std | 14.29 | | cv | 0.532 | | sampleLengths | | 0 | 85 | | 1 | 13 | | 2 | 19 | | 3 | 26 | | 4 | 38 | | 5 | 19 | | 6 | 36 | | 7 | 37 | | 8 | 10 | | 9 | 27 | | 10 | 28 | | 11 | 6 | | 12 | 43 | | 13 | 18 | | 14 | 45 | | 15 | 14 | | 16 | 47 | | 17 | 4 | | 18 | 34 | | 19 | 37 | | 20 | 26 | | 21 | 18 | | 22 | 38 | | 23 | 15 | | 24 | 20 | | 25 | 18 | | 26 | 28 | | 27 | 38 | | 28 | 14 | | 29 | 25 | | 30 | 32 | | 31 | 15 | | 32 | 12 | | 33 | 32 | | 34 | 24 | | 35 | 34 | | 36 | 28 | | 37 | 36 | | 38 | 34 | | 39 | 5 | | 40 | 16 | | 41 | 33 | | 42 | 17 | | 43 | 18 | | 44 | 46 |
| |
| 99.78% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 64 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 147 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 92 | | ratio | 0.109 | | matches | | 0 | "On the other side stood Lucien Moreau, his heterochromatic eyes—one amber, one black—fixed on her with unnerving intensity." | | 1 | "Lucien's presence was like a shadow falling across sunlight—unwelcome yet impossible to ignore." | | 2 | "The air between them crackled with unspoken history—the late-night meetings in dimly lit pubs, the charged glances across crowded rooms, the way his hands had felt on her skin before everything went wrong." | | 3 | "A breach in the Veil—her thesis topic, her life's work." | | 4 | "It wasn't just the professional fixer she remembered—it was something more, something that reminded her of the man who had made her feel seen in a way no one else had." | | 5 | "She'd expected excuses, deflections—anything but this direct acknowledgment." | | 6 | "The scent of his cologne—something dark and spicy—filled her senses, transporting her back to those months they had spent together, before everything fell apart." | | 7 | "He took her hand, his thumb stroking her wrist, his fingers finding the small crescent-shaped scar there—something he'd always claimed made her unique." | | 8 | "The unspoken words hung between them—half-demon, the part of him he rarely talked about." | | 9 | "And in that moment, with the scent of curry and old paper filling the small flat, and the weight of their complicated history pressing down on them, Aurora knew that some things—some feelings—couldn't be locked away, no matter how many deadbolts you installed on your door." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 817 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small, leather-bound notebook." |
| | adverbCount | 32 | | adverbRatio | 0.03916768665850673 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.014687882496940025 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 92 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 92 | | mean | 13.13 | | std | 7.5 | | cv | 0.571 | | sampleLengths | | 0 | 14 | | 1 | 16 | | 2 | 18 | | 3 | 19 | | 4 | 18 | | 5 | 9 | | 6 | 4 | | 7 | 13 | | 8 | 6 | | 9 | 24 | | 10 | 2 | | 11 | 8 | | 12 | 17 | | 13 | 13 | | 14 | 10 | | 15 | 9 | | 16 | 14 | | 17 | 14 | | 18 | 8 | | 19 | 20 | | 20 | 17 | | 21 | 10 | | 22 | 14 | | 23 | 13 | | 24 | 13 | | 25 | 15 | | 26 | 2 | | 27 | 4 | | 28 | 31 | | 29 | 12 | | 30 | 10 | | 31 | 8 | | 32 | 12 | | 33 | 33 | | 34 | 14 | | 35 | 23 | | 36 | 24 | | 37 | 4 | | 38 | 18 | | 39 | 16 | | 40 | 3 | | 41 | 10 | | 42 | 18 | | 43 | 6 | | 44 | 13 | | 45 | 13 | | 46 | 7 | | 47 | 11 | | 48 | 7 | | 49 | 31 |
| |
| 74.28% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 0 | | diversityRatio | 0.44565217391304346 | | totalSentences | 92 | | uniqueOpeners | 41 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 63 | | matches | (empty) | | ratio | 0 | |
| 54.92% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 26 | | totalSentences | 63 | | matches | | 0 | "His platinum blond hair was" | | 1 | "He held a bouquet of" | | 2 | "he said, his voice smooth" | | 3 | "She didn't move, her mind" | | 4 | "His gaze shifted past her," | | 5 | "she finally said, stepping back" | | 6 | "He handed her the irises," | | 7 | "she managed, placing them on" | | 8 | "She turned to face him," | | 9 | "He pushed himself off the" | | 10 | "she asked, her voice barely" | | 11 | "His amber eye darkened, while" | | 12 | "She'd been studying the theoretical" | | 13 | "it was both terrifying and" | | 14 | "she admitted, her fingers itching" | | 15 | "It wasn't just the professional" | | 16 | "she asked suddenly" | | 17 | "She'd expected excuses, deflections—anything but" | | 18 | "she finally said, her voice" | | 19 | "He moved closer, his movements" |
| | ratio | 0.413 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 60 | | totalSentences | 63 | | matches | | 0 | "The door creaked open just" | | 1 | "Aurora's fingers lingered on the" | | 2 | "His platinum blond hair was" | | 3 | "He held a bouquet of" | | 4 | "he said, his voice smooth" | | 5 | "She didn't move, her mind" | | 6 | "His gaze shifted past her," | | 7 | "Aurora hesitated, her hand tightening" | | 8 | "The scent of curry from" | | 9 | "Lucien's presence was like a" | | 10 | "she finally said, stepping back" | | 11 | "Lucien entered with a fluid" | | 12 | "He handed her the irises," | | 13 | "The flowers were heavy in" | | 14 | "she managed, placing them on" | | 15 | "Lucien asked, nodding toward the" | | 16 | "Aurora replied, her tone sharper" | | 17 | "A ghost of a smile" | | 18 | "Lucien leaned against the wall," | | 19 | "She turned to face him," |
| | ratio | 0.952 | |
| 79.37% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 63 | | matches | | 0 | "When he was close enough" |
| | ratio | 0.016 | |
| 93.60% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 29 | | technicalSentenceCount | 2 | | matches | | 0 | "It wasn't just the professional fixer she remembered—it was something more, something that reminded her of the man who had made her feel seen in a way no one el…" | | 1 | "He took her hand, his thumb stroking her wrist, his fingers finding the small crescent-shaped scar there—something he'd always claimed made her unique." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 24 | | uselessAdditionCount | 10 | | matches | | 0 | "he said, his voice smooth as aged whiskey" | | 1 | "Aurora replied, her tone sharper than intended" | | 2 | "she asked, her voice barely above a whisper" | | 3 | "she admitted, her fingers itching to take the notebook" | | 4 | "Aurora said, the words coming out before she could stop them" | | 5 | "Lucien replied, his gaze dropping to the floor" | | 6 | "Aurora challenged, her heart pounding against her ribs" | | 7 | "she finally said, her voice trembling slightly" | | 8 | "he murmured, his fingers gently brushing her hair away from her face" | | 9 | "he said, his voice barely audible" |
| |
| 55.66% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 17 | | fancyCount | 5 | | fancyTags | | 0 | "she admitted (admit)" | | 1 | "Aurora challenged (challenge)" | | 2 | "he murmured (murmur)" | | 3 | "she whispered (whisper)" | | 4 | "he breathed (breathe)" |
| | dialogueSentences | 53 | | tagDensity | 0.321 | | leniency | 0.642 | | rawRatio | 0.294 | | effectiveRatio | 0.189 | |