| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 18 | | adverbTagCount | 3 | | adverbTags | | 0 | "she said finally [finally]" | | 1 | "she accused suddenly [suddenly]" | | 2 | "he said quietly [quietly]" |
| | dialogueSentences | 68 | | tagDensity | 0.265 | | leniency | 0.529 | | rawRatio | 0.167 | | effectiveRatio | 0.088 | |
| 78.81% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1888 | | totalAiIsmAdverbs | 8 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | adverb | "barely above a whisper" | | count | 1 |
| | 6 | |
| | highlights | | 0 | "really" | | 1 | "softly" | | 2 | "sharply" | | 3 | "lightly" | | 4 | "suddenly" | | 5 | "barely above a whisper" | | 6 | "slowly" |
| |
| 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) | |
| 52.33% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1888 | | totalAiIsms | 18 | | found | | | highlights | | 0 | "whisper" | | 1 | "measured" | | 2 | "familiar" | | 3 | "intensity" | | 4 | "scanning" | | 5 | "simmering" | | 6 | "weight" | | 7 | "trembled" | | 8 | "raced" | | 9 | "flickered" | | 10 | "stomach" | | 11 | "pulse" | | 12 | "unravel" | | 13 | "resolve" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 1 | | found | | 0 | | label | "stomach dropped/sank" | | count | 1 |
| | 1 | | label | "weight of words/silence" | | count | 1 |
|
| | highlights | | 0 | "stomach dropped" | | 1 | "the weight of the words" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 121 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 121 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 167 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 45 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 10 | | markdownWords | 13 | | totalWords | 1872 | | ratio | 0.007 | | matches | | 0 | "really" | | 1 | "what" | | 2 | "sure" | | 3 | "knew" | | 4 | "what" | | 5 | "magically responsible" | | 6 | "damn lawyer" | | 7 | "consumed" | | 8 | "pactio renovata" | | 9 | "surrender" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 26 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 49 | | wordCount | 1223 | | uniqueNames | 15 | | maxNameDensity | 1.23 | | worstName | "Aurora" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Lucien" | | discoveredNames | | Aurora | 15 | | Carter | 2 | | Bangladeshi | 1 | | Ptolemy | 2 | | Eva | 4 | | Lucien | 13 | | Moreau | 1 | | Evan | 2 | | French | 2 | | Cardiff | 1 | | Brick | 1 | | Lane | 1 | | Shadow | 1 | | Court | 1 | | London | 2 |
| | persons | | 0 | "Aurora" | | 1 | "Carter" | | 2 | "Ptolemy" | | 3 | "Eva" | | 4 | "Lucien" | | 5 | "Moreau" | | 6 | "Evan" | | 7 | "Court" |
| | places | | 0 | "Cardiff" | | 1 | "Brick" | | 2 | "Lane" | | 3 | "London" |
| | globalScore | 0.887 | | windowScore | 0.833 | |
| 39.71% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 68 | | glossingSentenceCount | 3 | | matches | | 0 | "smelled like expensive spirits and cigar s" | | 1 | "appeared foreign to her eyes" | | 2 | "looked like an extension of his body, but" |
| |
| 93.16% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.068 | | wordCount | 1872 | | matches | | 0 | "not tobacco, but a single folded sigil" | | 1 | "not with her fingers, but with her resolve" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 167 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 78 | | mean | 24 | | std | 18.66 | | cv | 0.777 | | sampleLengths | | 0 | 86 | | 1 | 16 | | 2 | 40 | | 3 | 82 | | 4 | 5 | | 5 | 69 | | 6 | 46 | | 7 | 29 | | 8 | 23 | | 9 | 44 | | 10 | 19 | | 11 | 41 | | 12 | 44 | | 13 | 31 | | 14 | 6 | | 15 | 5 | | 16 | 6 | | 17 | 9 | | 18 | 35 | | 19 | 15 | | 20 | 47 | | 21 | 57 | | 22 | 12 | | 23 | 16 | | 24 | 36 | | 25 | 22 | | 26 | 17 | | 27 | 36 | | 28 | 44 | | 29 | 6 | | 30 | 43 | | 31 | 15 | | 32 | 10 | | 33 | 21 | | 34 | 7 | | 35 | 42 | | 36 | 50 | | 37 | 37 | | 38 | 22 | | 39 | 28 | | 40 | 12 | | 41 | 3 | | 42 | 44 | | 43 | 11 | | 44 | 32 | | 45 | 6 | | 46 | 11 | | 47 | 12 | | 48 | 16 | | 49 | 31 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 121 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 220 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 167 | | ratio | 0.054 | | matches | | 0 | "His amber eye glinted under the dim bulb of Eva’s hallway light, the left one—black and depthless as a tar pit—half-lidded, watching her with an intensity that made the air between them hum." | | 1 | "The platinum blond hair was still slicked back, the cane still looked like an extension of his body, but something in the set of his jaw, the faint shadow beneath each eye, spoke of exhaustion—or maybe regret." | | 2 | "Lucien paused, scanning the flat with a practised eye—the stacks of books on the floor, the half-unpacked cardboard boxes labeled in Eva’s looping script, the teapot simmering on a back burner." | | 3 | "The mention of her past—Evan, the abuse she’d fled, the scars she’d tried to leave behind—sent a familiar tightness into her chest." | | 4 | "She didn’t need to read it to know the gist—Lucien often spoke French when he wanted to distance himself, to cloak meaning in something deliberate, formal." | | 5 | "Not with him so close, with the ghost of his cologne—sandalwood and bergamot and something smoky, like burned stars—filling her small flat." | | 6 | "She stared at him, searching his face—his heterochromatic eyes, one amber like fallen whiskey, the other black as a moonless sky." | | 7 | "She thought of how close she’d come to building something real in this city—this flat, Eva, the fragile peace she’d carved out of London’s chaos." | | 8 | "She reached for his hand—not with her fingers, but with her resolve—and nodded." |
| |
| 99.72% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1240 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 50 | | adverbRatio | 0.04032258064516129 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.012096774193548387 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 167 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 167 | | mean | 11.21 | | std | 9.2 | | cv | 0.821 | | sampleLengths | | 0 | 26 | | 1 | 35 | | 2 | 25 | | 3 | 2 | | 4 | 1 | | 5 | 1 | | 6 | 12 | | 7 | 16 | | 8 | 24 | | 9 | 4 | | 10 | 45 | | 11 | 33 | | 12 | 5 | | 13 | 3 | | 14 | 29 | | 15 | 37 | | 16 | 18 | | 17 | 12 | | 18 | 5 | | 19 | 4 | | 20 | 7 | | 21 | 14 | | 22 | 15 | | 23 | 7 | | 24 | 16 | | 25 | 16 | | 26 | 9 | | 27 | 19 | | 28 | 8 | | 29 | 11 | | 30 | 31 | | 31 | 6 | | 32 | 4 | | 33 | 10 | | 34 | 19 | | 35 | 15 | | 36 | 12 | | 37 | 19 | | 38 | 4 | | 39 | 2 | | 40 | 5 | | 41 | 5 | | 42 | 1 | | 43 | 9 | | 44 | 4 | | 45 | 22 | | 46 | 5 | | 47 | 4 | | 48 | 12 | | 49 | 3 |
| |
| 46.71% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.32335329341317365 | | totalSentences | 167 | | uniqueOpeners | 54 | |
| 59.52% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 112 | | matches | | 0 | "Then, with a fluid motion," | | 1 | "Then, faintly, through the hum" |
| | ratio | 0.018 | |
| 41.43% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 50 | | totalSentences | 112 | | matches | | 0 | "She paused, frowning at the" | | 1 | "she called over her shoulder" | | 2 | "She pulled the door toward" | | 3 | "His amber eye glinted under" | | 4 | "He looked different." | | 5 | "she said finally, gesturing at" | | 6 | "She stopped herself" | | 7 | "He chuckled low, the sound" | | 8 | "He nodded toward the rice" | | 9 | "she said, though it sounded" | | 10 | "She tilted her head" | | 11 | "He shifted his weight, the" | | 12 | "She stayed where she was." | | 13 | "She exhaled through her teeth." | | 14 | "He stepped closer, extending the" | | 15 | "She ran her thumb over" | | 16 | "She didn’t need to read" | | 17 | "She looked up sharply." | | 18 | "he repeated, voice low" | | 19 | "Her fingers trembled around the" |
| | ratio | 0.446 | |
| 49.29% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 92 | | totalSentences | 112 | | matches | | 0 | "The knock came just as" | | 1 | "The flat smelled of cumin" | | 2 | "She paused, frowning at the" | | 3 | "Aurora set the bowl down," | | 4 | "she called over her shoulder" | | 5 | "The lock snicked open." | | 6 | "She pulled the door toward" | | 7 | "His amber eye glinted under" | | 8 | "He looked different." | | 9 | "The platinum blond hair was" | | 10 | "she said finally, gesturing at" | | 11 | "She stopped herself" | | 12 | "Lucien exhaled through his nose," | | 13 | "Aurora stepped aside, swinging the" | | 14 | "He chuckled low, the sound" | | 15 | "The door shut behind him" | | 16 | "Ptolemy let out a disgruntled" | | 17 | "Aurora leaned against the kitchen" | | 18 | "Lucien paused, scanning the flat" | | 19 | "He nodded toward the rice" |
| | ratio | 0.821 | |
| 44.64% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 112 | | matches | | 0 | "To the fact that she’d" |
| | ratio | 0.009 | |
| 87.91% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 39 | | technicalSentenceCount | 3 | | matches | | 0 | "The flat smelled of cumin and garlic, of sautéed onions and the faint, sooty whisper of the ancient gas hob that had been donated to the flat by an old Banglade…" | | 1 | "She pulled the door toward her, and the familiar figure of Lucien Moreau stood framed in the dim corridor light, one hand resting on the ivory handle of his can…" | | 2 | "His amber eye glinted under the dim bulb of Eva’s hallway light, the left one—black and depthless as a tar pit—half-lidded, watching her with an intensity that …" |
| |
| 69.44% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 18 | | uselessAdditionCount | 2 | | matches | | 0 | "he repeated, voice low" | | 1 | "she asked, voice barely above a whisper" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 68 | | tagDensity | 0.147 | | leniency | 0.294 | | rawRatio | 0.1 | | effectiveRatio | 0.029 | |