| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said softly [softly]" |
| | dialogueSentences | 63 | | tagDensity | 0.317 | | leniency | 0.635 | | rawRatio | 0.05 | | effectiveRatio | 0.032 | |
| 76.38% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1482 | | totalAiIsmAdverbs | 7 | | found | | 0 | | adverb | "deliberately" | | count | 1 |
| | 1 | | | 2 | | | 3 | | | 4 | |
| | highlights | | 0 | "deliberately" | | 1 | "carefully" | | 2 | "loosely" | | 3 | "really" | | 4 | "softly" |
| |
| 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) | |
| 76.38% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1482 | | totalAiIsms | 7 | | found | | 0 | | word | "down her spine" | | count | 1 |
| | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | |
| | highlights | | 0 | "down her spine" | | 1 | "weight" | | 2 | "pulse" | | 3 | "silence" | | 4 | "familiar" | | 5 | "tension" | | 6 | "traced" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "knuckles turned white" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 68 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 68 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 110 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 43 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1468 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 22 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 27 | | wordCount | 901 | | uniqueNames | 11 | | maxNameDensity | 1 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 9 | | Moreau | 1 | | November | 1 | | London | 2 | | Ptolemy | 4 | | French | 1 | | Eva | 1 | | Silence | 1 | | Lucien | 5 | | Despite | 1 | | Channel | 1 |
| | persons | | 0 | "Rory" | | 1 | "Moreau" | | 2 | "Ptolemy" | | 3 | "Eva" | | 4 | "Silence" | | 5 | "Lucien" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 43.62% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 47 | | glossingSentenceCount | 2 | | matches | | 0 | "quite a smile" | | 1 | "smelled like turmeric and old paper and th" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1468 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 110 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 65 | | mean | 22.58 | | std | 17.29 | | cv | 0.766 | | sampleLengths | | 0 | 30 | | 1 | 6 | | 2 | 67 | | 3 | 5 | | 4 | 32 | | 5 | 48 | | 6 | 3 | | 7 | 27 | | 8 | 39 | | 9 | 6 | | 10 | 41 | | 11 | 1 | | 12 | 8 | | 13 | 57 | | 14 | 2 | | 15 | 30 | | 16 | 11 | | 17 | 18 | | 18 | 43 | | 19 | 5 | | 20 | 33 | | 21 | 21 | | 22 | 5 | | 23 | 34 | | 24 | 3 | | 25 | 15 | | 26 | 28 | | 27 | 42 | | 28 | 40 | | 29 | 2 | | 30 | 4 | | 31 | 23 | | 32 | 3 | | 33 | 27 | | 34 | 47 | | 35 | 10 | | 36 | 42 | | 37 | 10 | | 38 | 45 | | 39 | 39 | | 40 | 2 | | 41 | 7 | | 42 | 28 | | 43 | 58 | | 44 | 56 | | 45 | 15 | | 46 | 2 | | 47 | 16 | | 48 | 30 | | 49 | 3 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 68 | | matches | | |
| 64.86% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 148 | | matches | | 0 | "was wearing" | | 1 | "was standing" | | 2 | "was already thinking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 110 | | ratio | 0.082 | | matches | | 0 | "His platinum blond hair was slicked back as always, not a strand out of place, and he regarded her with those mismatched eyes—one amber, one black—that had haunted her for six months." | | 1 | "\"I might ask you the same.\" His gaze traveled past her shoulder into the cluttered flat, taking in the towers of books, the scrolls spilling across every horizontal surface, the cat—Ptolemy—perched on a stack of research notes like a furry sphinx." | | 2 | "The old nickname—her full name, delivered in that precise French accent—sent an unwelcome ripple down her spine." | | 3 | "He moved past her with that fluid grace she remembered too well—the subtle limp he'd never acknowledged, the way his weight transferred to the cane as though the thing was an extension of his body." | | 4 | "\"I didn't disappear.\" His voice came from closer now—he'd risen from the chair." | | 5 | "\"I know.\" He ran his free hand through his hair—a rare break in composure, a tell she'd learned to read over the course of two months of late nights and whispered conversations." | | 6 | "\"Honestly?\" Lucien set his cane aside—an act of deliberate vulnerability, she recognized—and took another step closer." | | 7 | "She looked at him—at the tired lines around his mismatched eyes, at the tension in his jaw that suggested this cost him more than he'd ever admit." | | 8 | "Lucien smiled—a real one this time, small and crooked and devastating." |
| |
| 99.77% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 919 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 37 | | adverbRatio | 0.04026115342763874 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.007616974972796518 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 110 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 110 | | mean | 13.35 | | std | 9.65 | | cv | 0.723 | | sampleLengths | | 0 | 24 | | 1 | 6 | | 2 | 6 | | 3 | 35 | | 4 | 32 | | 5 | 5 | | 6 | 8 | | 7 | 19 | | 8 | 5 | | 9 | 41 | | 10 | 7 | | 11 | 3 | | 12 | 6 | | 13 | 21 | | 14 | 17 | | 15 | 16 | | 16 | 6 | | 17 | 6 | | 18 | 10 | | 19 | 31 | | 20 | 1 | | 21 | 8 | | 22 | 35 | | 23 | 22 | | 24 | 2 | | 25 | 20 | | 26 | 10 | | 27 | 11 | | 28 | 18 | | 29 | 18 | | 30 | 17 | | 31 | 4 | | 32 | 4 | | 33 | 5 | | 34 | 14 | | 35 | 19 | | 36 | 21 | | 37 | 5 | | 38 | 16 | | 39 | 18 | | 40 | 3 | | 41 | 11 | | 42 | 4 | | 43 | 2 | | 44 | 13 | | 45 | 13 | | 46 | 24 | | 47 | 18 | | 48 | 14 | | 49 | 26 |
| |
| 57.27% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.38181818181818183 | | totalSentences | 110 | | uniqueOpeners | 42 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 57 | | matches | | 0 | "Certainly hadn't expected him." | | 1 | "Somewhere below, the curry house's" | | 2 | "Instead, she said," |
| | ratio | 0.053 | |
| 30.53% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 27 | | totalSentences | 57 | | matches | | 0 | "His platinum blond hair was" | | 1 | "Her heart had started doing" | | 2 | "His gaze traveled past her" | | 3 | "He'd always used it deliberately," | | 4 | "She hated that it still" | | 5 | "He moved past her with" | | 6 | "She was wearing an old" | | 7 | "She hadn't expected company." | | 8 | "He reached into his jacket" | | 9 | "He set the envelope on" | | 10 | "She filled the kettle, set" | | 11 | "she said without turning around" | | 12 | "His voice came from closer" | | 13 | "He was standing three feet" | | 14 | "He ran his free hand" | | 15 | "She stopped, shook her head" | | 16 | "He was close enough now" | | 17 | "His hand lifted, hesitated, settled" | | 18 | "She should push him away." | | 19 | "She should tell him to" |
| | ratio | 0.474 | |
| 30.18% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 49 | | totalSentences | 57 | | matches | | 0 | "The deadbolt scraped back with" | | 1 | "The words died in her" | | 2 | "Lucien Moreau stood on the" | | 3 | "His platinum blond hair was" | | 4 | "Rory's grip tightened on the" | | 5 | "Her heart had started doing" | | 6 | "His gaze traveled past her" | | 7 | "The old nickname—her full name," | | 8 | "He'd always used it deliberately," | | 9 | "She hated that it still" | | 10 | "Lucien's mouth curved into something" | | 11 | "He moved past her with" | | 12 | "The flat smelled like turmeric" | | 13 | "Lucien settled into Eva's armchair" | | 14 | "The silver tip of his" | | 15 | "Rory closed the door, bolted" | | 16 | "She was wearing an old" | | 17 | "She hadn't expected company." | | 18 | "He reached into his jacket" | | 19 | "The words landed like stones" |
| | ratio | 0.86 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 57 | | matches | (empty) | | ratio | 0 | |
| 71.43% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 30 | | technicalSentenceCount | 3 | | matches | | 0 | "He moved past her with that fluid grace she remembered too well—the subtle limp he'd never acknowledged, the way his weight transferred to the cane as though th…" | | 1 | "The flat smelled like turmeric and old paper and the fig-and-amber cologne that had once lived in the hollow of her throat." | | 2 | "She should protect the carefully rebuilt walls of her life in London, the quiet routine of deliveries and cheap rent and friends who didn't come with baggage th…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 63 | | tagDensity | 0.143 | | leniency | 0.286 | | rawRatio | 0.111 | | effectiveRatio | 0.032 | |