| 88.89% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 14 | | adverbTagCount | 3 | | adverbTags | | 0 | "she said instead [instead]" | | 1 | "he said quietly [quietly]" | | 2 | "she said fiercely [fiercely]" |
| | dialogueSentences | 54 | | tagDensity | 0.259 | | leniency | 0.519 | | rawRatio | 0.214 | | effectiveRatio | 0.111 | |
| 54.86% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1440 | | totalAiIsmAdverbs | 13 | | found | | 0 | | | 1 | | | 2 | | adverb | "barely above a whisper" | | count | 1 |
| | 3 | | | 4 | | | 5 | | | 6 | |
| | highlights | | 0 | "slowly" | | 1 | "really" | | 2 | "barely above a whisper" | | 3 | "softly" | | 4 | "carefully" | | 5 | "slightly" | | 6 | "quickly" |
| |
| 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) | |
| 27.08% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1440 | | totalAiIsms | 21 | | found | | | highlights | | 0 | "echoed" | | 1 | "stomach" | | 2 | "glinting" | | 3 | "unreadable" | | 4 | "familiar" | | 5 | "weight" | | 6 | "silence" | | 7 | "flickered" | | 8 | "could feel" | | 9 | "pulse" | | 10 | "whisper" | | 11 | "intensity" | | 12 | "race" | | 13 | "unspoken" | | 14 | "tracing" | | 15 | "constructed" |
| |
| 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 | 1 | | narrationSentences | 70 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 70 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 109 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 62 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1434 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 21 | | unquotedAttributions | 0 | | matches | (empty) | |
| 97.77% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 29 | | wordCount | 1053 | | uniqueNames | 12 | | maxNameDensity | 1.04 | | worstName | "Aurora" | | maxWindowNameDensity | 2 | | worstWindowName | "Aurora" | | discoveredNames | | Carter | 1 | | Golden | 1 | | Empress | 1 | | Silas | 1 | | Brick | 1 | | Lane | 1 | | Lucien | 6 | | Moreau | 1 | | French | 1 | | Aurora | 11 | | Tears | 1 | | Ptolemy | 3 |
| | persons | | 0 | "Carter" | | 1 | "Silas" | | 2 | "Lucien" | | 3 | "Moreau" | | 4 | "Aurora" | | 5 | "Tears" | | 6 | "Ptolemy" |
| | places | | | globalScore | 0.978 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 59 | | glossingSentenceCount | 1 | | matches | | 0 | "as if measuring her reaction" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1434 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 109 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 67 | | mean | 21.4 | | std | 19.4 | | cv | 0.907 | | sampleLengths | | 0 | 73 | | 1 | 12 | | 2 | 54 | | 3 | 34 | | 4 | 51 | | 5 | 13 | | 6 | 14 | | 7 | 58 | | 8 | 31 | | 9 | 3 | | 10 | 6 | | 11 | 55 | | 12 | 17 | | 13 | 5 | | 14 | 2 | | 15 | 50 | | 16 | 18 | | 17 | 17 | | 18 | 3 | | 19 | 2 | | 20 | 2 | | 21 | 34 | | 22 | 7 | | 23 | 46 | | 24 | 13 | | 25 | 61 | | 26 | 8 | | 27 | 3 | | 28 | 2 | | 29 | 4 | | 30 | 53 | | 31 | 3 | | 32 | 26 | | 33 | 21 | | 34 | 43 | | 35 | 40 | | 36 | 2 | | 37 | 2 | | 38 | 2 | | 39 | 3 | | 40 | 36 | | 41 | 6 | | 42 | 5 | | 43 | 3 | | 44 | 3 | | 45 | 36 | | 46 | 2 | | 47 | 11 | | 48 | 5 | | 49 | 37 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 70 | | matches | | |
| 52.67% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 181 | | matches | | 0 | "was sitting" | | 1 | "was dying" | | 2 | "was watching" | | 3 | "was watching" |
| |
| 11.80% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 5 | | totalSentences | 109 | | ratio | 0.046 | | matches | | 0 | "Lucien Moreau looked up slowly, his heterochromatic eyes locking onto hers—one amber, one black—as if measuring her reaction." | | 1 | "“Mm. And yet here you are.” He set the scroll aside with deliberate care, watching her take in the room—the stacks of books, the scattered notes written in languages she couldn’t read, the way the shadows clung to his tailored charcoal suit even in the fading light." | | 2 | "For a heartbeat, something raw flickered across his face—something she hadn’t seen since the night she’d left, since the argument that had ended with slammed doors and slammed phones and a silence that had lasted longer than either of them cared to admit." | | 3 | "Aurora’s hand moved to her own pocket instinctively, where she kept her delivery pen—a small comfort against the chaos of the city." | | 4 | "Lucien’s face softened, and for the first time since she’d walked through that door, he smiled—the real kind, the one that lit up his whole face and made her forget why she’d ever been afraid of him." |
| |
| 93.84% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1063 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 50 | | adverbRatio | 0.047036688617121354 | | lyAdverbCount | 21 | | lyAdverbRatio | 0.01975540921919097 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 109 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 109 | | mean | 13.16 | | std | 10.56 | | cv | 0.803 | | sampleLengths | | 0 | 17 | | 1 | 35 | | 2 | 21 | | 3 | 12 | | 4 | 21 | | 5 | 15 | | 6 | 18 | | 7 | 34 | | 8 | 18 | | 9 | 14 | | 10 | 19 | | 11 | 13 | | 12 | 11 | | 13 | 3 | | 14 | 47 | | 15 | 11 | | 16 | 22 | | 17 | 9 | | 18 | 3 | | 19 | 3 | | 20 | 3 | | 21 | 18 | | 22 | 37 | | 23 | 11 | | 24 | 6 | | 25 | 5 | | 26 | 2 | | 27 | 17 | | 28 | 16 | | 29 | 17 | | 30 | 18 | | 31 | 11 | | 32 | 6 | | 33 | 3 | | 34 | 2 | | 35 | 2 | | 36 | 6 | | 37 | 14 | | 38 | 14 | | 39 | 7 | | 40 | 3 | | 41 | 43 | | 42 | 7 | | 43 | 6 | | 44 | 7 | | 45 | 17 | | 46 | 19 | | 47 | 18 | | 48 | 8 | | 49 | 3 |
| |
| 45.57% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.3119266055045872 | | totalSentences | 109 | | uniqueOpeners | 34 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 65 | | matches | (empty) | | ratio | 0 | |
| 66.15% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 25 | | totalSentences | 65 | | matches | | 0 | "She’d been expecting Silas to" | | 1 | "she murmured, but her voice" | | 2 | "He didn’t look surprised to" | | 3 | "he said, his French accent" | | 4 | "He set the scroll aside" | | 5 | "She crossed her arms, feeling" | | 6 | "he said, nodding toward the" | | 7 | "she said instead of answering" | | 8 | "He leaned back, steepling his" | | 9 | "His voice was quieter now," | | 10 | "She studied him then, really" | | 11 | "She could feel the pulse" | | 12 | "She leaned forward, resting her" | | 13 | "He was quiet for a" | | 14 | "She closed her eyes for" | | 15 | "He set his cane down" | | 16 | "He held it out to" | | 17 | "It was a letter." | | 18 | "Her name written in his" | | 19 | "he said quietly" |
| | ratio | 0.385 | |
| 6.15% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 59 | | totalSentences | 65 | | matches | | 0 | "The key turned in the" | | 1 | "Aurora Carter stood frozen in" | | 2 | "The scent of jasmine incense" | | 3 | "She’d been expecting Silas to" | | 4 | "The door swung open another" | | 5 | "Aurora stepped inside without waiting" | | 6 | "The tabby cat perched on" | | 7 | "she murmured, but her voice" | | 8 | "Lucien Moreau looked up slowly," | | 9 | "The ivory handle of his" | | 10 | "He didn’t look surprised to" | | 11 | "he said, his French accent" | | 12 | "Aurora’s fingers tightened around the" | | 13 | "He set the scroll aside" | | 14 | "She crossed her arms, feeling" | | 15 | "The silence stretched between them," | | 16 | "he said, nodding toward the" | | 17 | "Aurora sank into the chair," | | 18 | "The delivery bag slipped from" | | 19 | "Ptolemy crept down from the" |
| | ratio | 0.908 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 65 | | matches | (empty) | | ratio | 0 | |
| 82.07% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 47 | | technicalSentenceCount | 4 | | matches | | 0 | "Aurora stepped inside without waiting for an invitation, her heels clicking against the worn floorboards." | | 1 | "Lucien Moreau looked up slowly, his heterochromatic eyes locking onto hers—one amber, one black—as if measuring her reaction." | | 2 | "For a heartbeat, something raw flickered across his face—something she hadn’t seen since the night she’d left, since the argument that had ended with slammed do…" | | 3 | "Her name written in his careful script at the top, the ink slightly smudged as if he’d read it too many times himself." |
| |
| 17.86% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 14 | | uselessAdditionCount | 3 | | matches | | 0 | "she murmured, but her voice caught in her throat when she saw who was sitting cross-legged on the threadbare sofa, thumbing through one of the many scrolls that covered every available surface" | | 1 | "she whispered, her voice barely audible" | | 2 | "he continued, his voice cracking slightly" |
| |
| 75.93% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 12 | | fancyCount | 4 | | fancyTags | | 0 | "she murmured (murmur)" | | 1 | "she agreed (agree)" | | 2 | "she whispered (whisper)" | | 3 | "he continued (continue)" |
| | dialogueSentences | 54 | | tagDensity | 0.222 | | leniency | 0.444 | | rawRatio | 0.333 | | effectiveRatio | 0.148 | |