| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 17 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said finally [finally]" |
| | dialogueSentences | 35 | | tagDensity | 0.486 | | leniency | 0.971 | | rawRatio | 0.059 | | effectiveRatio | 0.057 | |
| 86.88% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1143 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "very" | | 1 | "slightly" | | 2 | "carefully" |
| |
| 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) | |
| 65.00% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1143 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "silence" | | 1 | "absolutely" | | 2 | "unreadable" | | 3 | "familiar" | | 4 | "comfortable" |
| |
| 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 | 42 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 42 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 60 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 52 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 3 | | markdownWords | 3 | | totalWords | 1134 | | ratio | 0.003 | | matches | | 0 | "bonsoir" | | 1 | "Salut" | | 2 | "Coucou" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 20 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 15 | | wordCount | 798 | | uniqueNames | 5 | | maxNameDensity | 0.63 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Eva | 4 | | Moreau | 1 | | Rory | 5 | | Ptolemy | 3 | | Lucien | 2 |
| | persons | | 0 | "Eva" | | 1 | "Moreau" | | 2 | "Rory" | | 3 | "Ptolemy" | | 4 | "Lucien" |
| | places | (empty) | | globalScore | 1 | | windowScore | 1 | |
| 71.88% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 32 | | glossingSentenceCount | 1 | | matches | | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.882 | | wordCount | 1134 | | matches | | 0 | "not an excuse,\" she said, but softer now" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 60 | | matches | | 0 | "finishing that sentence" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 39 | | mean | 29.08 | | std | 23.68 | | cv | 0.814 | | sampleLengths | | 0 | 17 | | 1 | 55 | | 2 | 30 | | 3 | 3 | | 4 | 86 | | 5 | 18 | | 6 | 15 | | 7 | 9 | | 8 | 5 | | 9 | 23 | | 10 | 37 | | 11 | 12 | | 12 | 60 | | 13 | 24 | | 14 | 5 | | 15 | 21 | | 16 | 82 | | 17 | 65 | | 18 | 5 | | 19 | 1 | | 20 | 7 | | 21 | 45 | | 22 | 10 | | 23 | 1 | | 24 | 75 | | 25 | 13 | | 26 | 24 | | 27 | 51 | | 28 | 53 | | 29 | 41 | | 30 | 39 | | 31 | 9 | | 32 | 63 | | 33 | 12 | | 34 | 16 | | 35 | 31 | | 36 | 43 | | 37 | 7 | | 38 | 21 |
| |
| 96.91% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 42 | | matches | | |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 7 | | totalVerbs | 135 | | matches | | 0 | "was working" | | 1 | "was pricing" | | 2 | "wasn't reaching" | | 3 | "wasn't saying" | | 4 | "wasn't asking" | | 5 | "was watching" | | 6 | "was pretending" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 1 | | flaggedSentences | 7 | | totalSentences | 60 | | ratio | 0.117 | | matches | | 0 | "The knock came three times, unhurried, precise—the kind of knock that already assumed the door would open." | | 1 | "The amber eye caught the hall light; the black one swallowed it whole." | | 2 | "He'd cut his hair since she'd last seen him, or maybe just slicked it back harder, and the charcoal suit was new—she could tell by the way it still had the stiffness of a garment that hadn't yet learned the shape of him." | | 3 | "She had four months of good reasons to say no, most of which involved the memory of his coat over the back of a chair one morning and then nothing—no note, no word, just the coat gone and a silence that had lasted so long she'd stopped expecting it to break." | | 4 | "He set his cane against the arm of the sofa and looked at her properly for the first time, and there it was—the thing she'd been bracing against." | | 5 | "\"I have always liked a challenge.\" A small, careful smile—the first honest one she'd seen from him tonight." | | 6 | "She looked at him a long moment—at the new stiffness of his suit, the old familiar tilt of his mouth, the space between them that was smaller than either of them was pretending—and reached past him to take the kettle off the heat." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 806 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 30 | | adverbRatio | 0.03722084367245657 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.007444168734491315 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 60 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 60 | | mean | 18.9 | | std | 13.92 | | cv | 0.737 | | sampleLengths | | 0 | 17 | | 1 | 33 | | 2 | 3 | | 3 | 19 | | 4 | 30 | | 5 | 3 | | 6 | 30 | | 7 | 13 | | 8 | 43 | | 9 | 18 | | 10 | 7 | | 11 | 8 | | 12 | 9 | | 13 | 5 | | 14 | 23 | | 15 | 25 | | 16 | 12 | | 17 | 12 | | 18 | 47 | | 19 | 13 | | 20 | 24 | | 21 | 5 | | 22 | 21 | | 23 | 5 | | 24 | 51 | | 25 | 26 | | 26 | 19 | | 27 | 28 | | 28 | 18 | | 29 | 5 | | 30 | 1 | | 31 | 7 | | 32 | 41 | | 33 | 4 | | 34 | 10 | | 35 | 1 | | 36 | 34 | | 37 | 41 | | 38 | 13 | | 39 | 24 | | 40 | 9 | | 41 | 42 | | 42 | 8 | | 43 | 45 | | 44 | 17 | | 45 | 24 | | 46 | 2 | | 47 | 37 | | 48 | 9 | | 49 | 47 |
| |
| 76.67% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.5 | | totalSentences | 60 | | uniqueOpeners | 30 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 38 | | matches | (empty) | | ratio | 0 | |
| 20.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 38 | | matches | | 0 | "It wasn't Eva." | | 1 | "He'd cut his hair since" | | 2 | "he said, as though four" | | 3 | "She crossed her arms instead," | | 4 | "He glanced past her shoulder" | | 5 | "She should have said no." | | 6 | "She had four months of" | | 7 | "He moved into the flat" | | 8 | "He set his cane against" | | 9 | "She moved past him to" | | 10 | "He sat, uninvited, in Eva's" | | 11 | "He didn't elaborate, and the" | | 12 | "she said finally, to the" | | 13 | "She stopped herself, because finishing" | | 14 | "His voice had lost its" | | 15 | "He was watching her with" | | 16 | "she said, but softer now" | | 17 | "He stood, careful not to" | | 18 | "She looked at him a" |
| | ratio | 0.5 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 36 | | totalSentences | 38 | | matches | | 0 | "The knock came three times," | | 1 | "Rory set down the scroll" | | 2 | "Books slid underfoot." | | 3 | "Ptolemy uncurled from a stack" | | 4 | "Rory muttered, working through the" | | 5 | "It wasn't Eva." | | 6 | "Lucien Moreau stood in the" | | 7 | "The amber eye caught the" | | 8 | "He'd cut his hair since" | | 9 | "he said, as though four" | | 10 | "Rory didn't move from the" | | 11 | "That was true, and infuriating," | | 12 | "She crossed her arms instead," | | 13 | "He glanced past her shoulder" | | 14 | "Ptolemy, as if summoned, wound" | | 15 | "Rory told the cat" | | 16 | "She should have said no." | | 17 | "She had four months of" | | 18 | "He moved into the flat" | | 19 | "He set his cane against" |
| | ratio | 0.947 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 38 | | matches | (empty) | | ratio | 0 | |
| 23.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 18 | | technicalSentenceCount | 3 | | matches | | 0 | "Lucien Moreau stood in the narrow hallway with his cane hooked over one forearm and an expression that was working very hard to look casual and not quite managi…" | | 1 | "She had four months of good reasons to say no, most of which involved the memory of his coat over the back of a chair one morning and then nothing—no note, no w…" | | 2 | "She looked at him a long moment—at the new stiffness of his suit, the old familiar tilt of his mouth, the space between them that was smaller than either of the…" |
| |
| 66.18% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 17 | | uselessAdditionCount | 2 | | matches | | 0 | "he said, as though four months of silence were a thing you could greet your way past" | | 1 | "He didn't, and the silence sat between them, thick with all the things he wasn't saying and she wasn't asking" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 1 | | fancyTags | | 0 | "Rory muttered (mutter)" |
| | dialogueSentences | 35 | | tagDensity | 0.229 | | leniency | 0.457 | | rawRatio | 0.125 | | effectiveRatio | 0.057 | |