| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 18 | | adverbTagCount | 1 | | adverbTags | | 0 | "Lucien said mildly [mildly]" |
| | dialogueSentences | 34 | | tagDensity | 0.529 | | leniency | 1 | | rawRatio | 0.056 | | effectiveRatio | 0.056 | |
| 86.57% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1117 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "really" | | 1 | "precisely" | | 2 | "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) | |
| 86.57% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1117 | | totalAiIsms | 3 | | found | | | highlights | | 0 | "flicker" | | 1 | "cataloged" | | 2 | "pulse" |
| |
| 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 | 53 | | matches | (empty) | |
| 88.95% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 53 | | filterMatches | (empty) | | hedgeMatches | | 0 | "tended to" | | 1 | "started to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 69 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 78 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 25 | | totalWords | 1109 | | ratio | 0.023 | | matches | | 0 | "Dear Aurora, I am in a realm where letters arrive on fire, having a marvelous time, do not avenge me if I fail to return" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 21 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 12 | | wordCount | 665 | | uniqueNames | 8 | | maxNameDensity | 0.6 | | worstName | "Lucien" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Lucien" | | discoveredNames | | Rory | 1 | | Brick | 1 | | Lane | 1 | | November | 1 | | Moreau | 1 | | Ptolemy | 2 | | Lucien | 4 | | English | 1 |
| | persons | | 0 | "Rory" | | 1 | "Moreau" | | 2 | "Ptolemy" | | 3 | "Lucien" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "November" | | 3 | "English" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 31 | | glossingSentenceCount | 2 | | matches | | 0 | "not quite a smile, a thing he wore instead of one" | | 1 | "felt like the most reckless thing she'd" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1109 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 69 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 34 | | mean | 32.62 | | std | 31.74 | | cv | 0.973 | | sampleLengths | | 0 | 42 | | 1 | 12 | | 2 | 81 | | 3 | 4 | | 4 | 8 | | 5 | 3 | | 6 | 5 | | 7 | 59 | | 8 | 24 | | 9 | 8 | | 10 | 56 | | 11 | 22 | | 12 | 8 | | 13 | 57 | | 14 | 8 | | 15 | 87 | | 16 | 4 | | 17 | 16 | | 18 | 39 | | 19 | 6 | | 20 | 25 | | 21 | 104 | | 22 | 17 | | 23 | 63 | | 24 | 13 | | 25 | 120 | | 26 | 14 | | 27 | 37 | | 28 | 4 | | 29 | 14 | | 30 | 84 | | 31 | 44 | | 32 | 5 | | 33 | 16 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 53 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 117 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 69 | | ratio | 0.087 | | matches | | 0 | "The third deadbolt gave with a clunk that sounded louder than it should have, and when Rory pulled the door open, the cold came in first—Brick Lane in November, all damp brick and the ghost of cumin from the curry house downstairs." | | 1 | "His ivory-handled cane planted before him, both gloved hands resting on the head of it, and his eyes—one amber, one black—taking her in with the unhurried thoroughness of a man reading a contract he intended to find fault with." | | 2 | "She watched something flicker across his face—the black eye stayed flat, but the amber one warmed a degree, which with Lucien was the equivalent of another man flinching." | | 3 | "He came in the way he did everything—precisely, taking up exactly as much space as he intended and not an inch more—and she shut the door behind him, all three deadbolts going home out of habit." | | 4 | "\"To say what? *Dear Aurora, I am in a realm where letters arrive on fire, having a marvelous time, do not avenge me if I fail to return*?\" The corner of his mouth moved—not quite a smile, a thing he wore instead of one." | | 5 | "She looked at him—the impossible put-together wreck of him, soaked at the edges, having walked out of a hell to stand in a curry-scented hallway and tell her this." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 678 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 26 | | adverbRatio | 0.038348082595870206 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.011799410029498525 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 69 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 69 | | mean | 16.07 | | std | 14.73 | | cv | 0.916 | | sampleLengths | | 0 | 42 | | 1 | 12 | | 2 | 18 | | 3 | 14 | | 4 | 10 | | 5 | 39 | | 6 | 4 | | 7 | 8 | | 8 | 3 | | 9 | 5 | | 10 | 35 | | 11 | 7 | | 12 | 17 | | 13 | 5 | | 14 | 19 | | 15 | 8 | | 16 | 28 | | 17 | 28 | | 18 | 6 | | 19 | 4 | | 20 | 12 | | 21 | 8 | | 22 | 27 | | 23 | 30 | | 24 | 5 | | 25 | 3 | | 26 | 36 | | 27 | 32 | | 28 | 19 | | 29 | 4 | | 30 | 8 | | 31 | 8 | | 32 | 5 | | 33 | 26 | | 34 | 4 | | 35 | 4 | | 36 | 6 | | 37 | 12 | | 38 | 9 | | 39 | 4 | | 40 | 11 | | 41 | 15 | | 42 | 78 | | 43 | 13 | | 44 | 4 | | 45 | 44 | | 46 | 19 | | 47 | 11 | | 48 | 2 | | 49 | 26 |
| |
| 66.67% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.43478260869565216 | | totalSentences | 69 | | uniqueOpeners | 30 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 46 | | matches | | 0 | "Then she saw him, and" | | 1 | "Somewhere below, a pan clattered." |
| | ratio | 0.043 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 26 | | totalSentences | 46 | | matches | | 0 | "His ivory-handled cane planted before" | | 1 | "She did not let go" | | 2 | "She started to swing the" | | 3 | "She watched something flicker across" | | 4 | "He tilted his head" | | 5 | "It counted, infuriatingly, for something." | | 6 | "She stepped back." | | 7 | "He came in the way" | | 8 | "He set his cane against" | | 9 | "She crossed her arms" | | 10 | "He didn't answer at once." | | 11 | "He took off his gloves" | | 12 | "She remembered those hands." | | 13 | "She remembered too much." | | 14 | "She felt the rings of" | | 15 | "He folded the gloves into" | | 16 | "His eyes came up to" | | 17 | "Her arms were still crossed" | | 18 | "Her voice came out smaller" | | 19 | "He took a step closer," |
| | ratio | 0.565 | |
| 36.09% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 39 | | totalSentences | 46 | | matches | | 0 | "The third deadbolt gave with" | | 1 | "Lucien Moreau stood on the" | | 2 | "Charcoal suit immaculate despite the" | | 3 | "Platinum hair slicked back, not" | | 4 | "His ivory-handled cane planted before" | | 5 | "She did not let go" | | 6 | "She started to swing the" | | 7 | "The wood met the cane" | | 8 | "Lucien said mildly" | | 9 | "The words came out before" | | 10 | "She watched something flicker across" | | 11 | "He tilted his head" | | 12 | "It counted, infuriatingly, for something." | | 13 | "She stepped back." | | 14 | "He came in the way" | | 15 | "He set his cane against" | | 16 | "She crossed her arms" | | 17 | "He didn't answer at once." | | 18 | "He took off his gloves" | | 19 | "She remembered those hands." |
| | ratio | 0.848 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 46 | | matches | (empty) | | ratio | 0 | |
| 71.43% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 20 | | technicalSentenceCount | 2 | | matches | | 0 | "The third deadbolt gave with a clunk that sounded louder than it should have, and when Rory pulled the door open, the cold came in first—Brick Lane in November,…" | | 1 | "Lucien Moreau stood on the landing as if he'd materialized there, which, knowing him, was not entirely impossible." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 18 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 34 | | tagDensity | 0.265 | | leniency | 0.529 | | rawRatio | 0.111 | | effectiveRatio | 0.059 | |