| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 14 | | adverbTagCount | 4 | | adverbTags | | 0 | "he said again [again]" | | 1 | "He paused again [again]" | | 2 | "she said slowly [slowly]" | | 3 | "she said finally [finally]" |
| | dialogueSentences | 35 | | tagDensity | 0.4 | | leniency | 0.8 | | rawRatio | 0.286 | | effectiveRatio | 0.229 | |
| 74.34% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1169 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "carefully" | | 1 | "very" | | 2 | "slowly" | | 3 | "precisely" |
| |
| 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) | |
| 91.45% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1169 | | totalAiIsms | 2 | | found | | | highlights | | |
| 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 | 64 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 64 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 85 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 52 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1179 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 19 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 21 | | wordCount | 878 | | uniqueNames | 7 | | maxNameDensity | 0.68 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 6 | | Ptolemy | 4 | | Moreau | 1 | | Eva | 2 | | Lucien | 6 | | Friday | 1 | | God | 1 |
| | persons | | 0 | "Rory" | | 1 | "Ptolemy" | | 2 | "Moreau" | | 3 | "Eva" | | 4 | "Lucien" | | 5 | "God" |
| | places | (empty) | | globalScore | 1 | | windowScore | 1 | |
| 87.50% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 40 | | glossingSentenceCount | 1 | | matches | | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.848 | | wordCount | 1179 | | matches | | 0 | "not from uncertainty, she'd come to understand, but because he chose his words like a man counting money, wantin" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 85 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 43 | | mean | 27.42 | | std | 28.65 | | cv | 1.045 | | sampleLengths | | 0 | 63 | | 1 | 15 | | 2 | 8 | | 3 | 7 | | 4 | 74 | | 5 | 30 | | 6 | 15 | | 7 | 6 | | 8 | 3 | | 9 | 4 | | 10 | 32 | | 11 | 2 | | 12 | 8 | | 13 | 24 | | 14 | 84 | | 15 | 4 | | 16 | 5 | | 17 | 34 | | 18 | 16 | | 19 | 5 | | 20 | 3 | | 21 | 85 | | 22 | 28 | | 23 | 20 | | 24 | 17 | | 25 | 3 | | 26 | 1 | | 27 | 15 | | 28 | 8 | | 29 | 44 | | 30 | 110 | | 31 | 58 | | 32 | 3 | | 33 | 18 | | 34 | 26 | | 35 | 100 | | 36 | 16 | | 37 | 41 | | 38 | 7 | | 39 | 56 | | 40 | 11 | | 41 | 61 | | 42 | 9 |
| |
| 99.78% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 64 | | matches | | |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 160 | | matches | | 0 | "was still wrestling" | | 1 | "was sitting" | | 2 | "was reading " | | 3 | "was setting" | | 4 | "was hitting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 0 | | flaggedSentences | 8 | | totalSentences | 85 | | ratio | 0.094 | | matches | | 0 | "She shouldered the door open and stepped inside, already pulling off her jacket, already cataloguing the evening ahead — tea, a bath, and approximately six hours of not thinking about anything complicated." | | 1 | "He had one leg crossed over the other, his ivory-handled cane balanced against the armrest, and he was reading — actually reading, with the calm of a man in a private library — a slim hardback he'd presumably pulled from one of the towers of books threatening structural collapse on the side table." | | 2 | "She crossed her arms and leaned against the doorframe and made herself meet Lucien's gaze — the mismatched eyes that she'd spent a considerable amount of effort trying not to think about over the past four months." | | 3 | "There was a quality to the way Lucien occupied space — something she'd clocked within the first ten minutes of knowing him and had never fully found the words for." | | 4 | "\"—and sat in her chair and waited for me to come home so you could tell me that you were inaccurate.\" She uncrossed her arms, then didn't know what to do with them." | | 5 | "Downstairs, the curry house was hitting its Friday evening stride — she could smell cardamom and something deep-fried, and through the floorboards came the distant percussion of a busy kitchen." | | 6 | "He had a habit of pausing — not from uncertainty, she'd come to understand, but because he chose his words like a man counting money, wanting to be sure of what he had before he spent it." | | 7 | "But when she moved past him toward the kitchen, she didn't leave much space between them, and she heard him follow, and she thought — with the careful, measured part of her that had learned to take things one step at a time — that it might, eventually, become something." |
| |
| 97.23% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 695 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 30 | | adverbRatio | 0.04316546762589928 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.015827338129496403 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 85 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 85 | | mean | 13.87 | | std | 12.47 | | cv | 0.899 | | sampleLengths | | 0 | 31 | | 1 | 32 | | 2 | 15 | | 3 | 3 | | 4 | 5 | | 5 | 7 | | 6 | 53 | | 7 | 21 | | 8 | 8 | | 9 | 22 | | 10 | 9 | | 11 | 6 | | 12 | 6 | | 13 | 3 | | 14 | 4 | | 15 | 29 | | 16 | 3 | | 17 | 2 | | 18 | 8 | | 19 | 22 | | 20 | 2 | | 21 | 27 | | 22 | 2 | | 23 | 37 | | 24 | 6 | | 25 | 12 | | 26 | 4 | | 27 | 5 | | 28 | 3 | | 29 | 31 | | 30 | 13 | | 31 | 3 | | 32 | 5 | | 33 | 3 | | 34 | 25 | | 35 | 4 | | 36 | 5 | | 37 | 30 | | 38 | 21 | | 39 | 20 | | 40 | 8 | | 41 | 14 | | 42 | 6 | | 43 | 8 | | 44 | 4 | | 45 | 5 | | 46 | 3 | | 47 | 1 | | 48 | 15 | | 49 | 8 |
| |
| 56.08% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.4 | | totalSentences | 85 | | uniqueOpeners | 34 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 57 | | matches | (empty) | | ratio | 0 | |
| 37.54% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 26 | | totalSentences | 57 | | matches | | 0 | "She shouldered the door open" | | 1 | "She didn't look up until" | | 2 | "He had one leg crossed" | | 3 | "He looked up when she" | | 4 | "She stood in the doorway" | | 5 | "She'd always hated that about" | | 6 | "She pulled her jacket the" | | 7 | "He closed the book and" | | 8 | "She crossed her arms and" | | 9 | "She wouldn't have." | | 10 | "She said his name carefully," | | 11 | "He stood, which she hadn't" | | 12 | "He wasn't particularly tall." | | 13 | "He didn't need to be." | | 14 | "he continued, He paused" | | 15 | "he said again, mild as" | | 16 | "He said it without drama," | | 17 | "He picked up his cane," | | 18 | "Her voice came out steadier" | | 19 | "He paused again" |
| | ratio | 0.456 | |
| 3.86% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 52 | | totalSentences | 57 | | matches | | 0 | "The second deadbolt gave her" | | 1 | "She shouldered the door open" | | 2 | "She didn't look up until" | | 3 | "Something closer to a warning." | | 4 | "Lucien Moreau was sitting in" | | 5 | "He had one leg crossed" | | 6 | "He looked up when she" | | 7 | "Rory said nothing either, for" | | 8 | "She stood in the doorway" | | 9 | "Lucien had the kind of" | | 10 | "She'd always hated that about" | | 11 | "She pulled her jacket the" | | 12 | "He closed the book and" | | 13 | "Ptolemy had retreated to the" | | 14 | "She crossed her arms and" | | 15 | "The amber one was warmer," | | 16 | "The black one was just" | | 17 | "She wouldn't have." | | 18 | "That was the honest answer," | | 19 | "She said his name carefully," |
| | ratio | 0.912 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 57 | | matches | (empty) | | ratio | 0 | |
| 80.75% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 23 | | technicalSentenceCount | 2 | | matches | | 0 | "Ptolemy had crept back in and was now winding himself around Lucien's ankle with the betraying affection of a cat who'd been charmed." | | 1 | "But when she moved past him toward the kitchen, she didn't leave much space between them, and she heard him follow, and she thought — with the careful, measured…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 14 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 1 | | fancyTags | | 0 | "he continued (continue)" |
| | dialogueSentences | 35 | | tagDensity | 0.286 | | leniency | 0.571 | | rawRatio | 0.1 | | effectiveRatio | 0.057 | |