| 85.71% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 14 | | adverbTagCount | 2 | | adverbTags | | 0 | "Rory straightened close [close]" | | 1 | "she said again [again]" |
| | dialogueSentences | 35 | | tagDensity | 0.4 | | leniency | 0.8 | | rawRatio | 0.143 | | effectiveRatio | 0.114 | |
| 97.03% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1685 | | totalAiIsmAdverbs | 1 | | found | | | highlights | | |
| 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) | |
| 67.36% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1685 | | totalAiIsms | 11 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | word | "carried the weight" | | count | 1 |
| | 7 | |
| | highlights | | 0 | "unreadable" | | 1 | "echoing" | | 2 | "could feel" | | 3 | "weight" | | 4 | "silence" | | 5 | "chill" | | 6 | "carried the weight" | | 7 | "resolved" |
| |
| 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 | 1 | | narrationSentences | 91 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 91 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 112 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 66 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1674 | | ratio | 0 | | matches | (empty) | |
| 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 | 35 | | wordCount | 1242 | | uniqueNames | 10 | | maxNameDensity | 0.89 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Eva | 2 | | Ptolemy | 5 | | Rory | 11 | | Hindi | 1 | | Three | 3 | | Cardiff | 1 | | Evan | 2 | | French | 1 | | London | 1 | | Lucien | 8 |
| | persons | | 0 | "Eva" | | 1 | "Ptolemy" | | 2 | "Rory" | | 3 | "Evan" | | 4 | "Lucien" |
| | places | | 0 | "Three" | | 1 | "Cardiff" | | 2 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 38.06% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 67 | | glossingSentenceCount | 3 | | matches | | 0 | "looked like a study in controlled chaos:" | | 1 | "seemed smaller suddenly, the books leaning in like witnesses" | | 2 | "as though marking a boundary neither wanted to acknowledge" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1674 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 112 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 37 | | mean | 45.24 | | std | 32.06 | | cv | 0.709 | | sampleLengths | | 0 | 14 | | 1 | 119 | | 2 | 57 | | 3 | 16 | | 4 | 58 | | 5 | 53 | | 6 | 21 | | 7 | 58 | | 8 | 109 | | 9 | 18 | | 10 | 12 | | 11 | 35 | | 12 | 104 | | 13 | 26 | | 14 | 35 | | 15 | 13 | | 16 | 103 | | 17 | 78 | | 18 | 15 | | 19 | 18 | | 20 | 45 | | 21 | 28 | | 22 | 42 | | 23 | 44 | | 24 | 6 | | 25 | 53 | | 26 | 100 | | 27 | 45 | | 28 | 20 | | 29 | 23 | | 30 | 83 | | 31 | 45 | | 32 | 11 | | 33 | 3 | | 34 | 46 | | 35 | 29 | | 36 | 89 |
| |
| 93.70% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 91 | | matches | | 0 | "was rumpled" | | 1 | "been asked" | | 2 | "been made" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 220 | | matches | | 0 | "were shaking" | | 1 | "wasn’t listening" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 3 | | flaggedSentences | 11 | | totalSentences | 112 | | ratio | 0.098 | | matches | | 0 | "Behind her, Eva’s flat looked like a study in controlled chaos: stacks of yellowing scrolls threatening to avalanche off the kitchen table, an open laptop blinking beside a half-drunk mug of tea, and Ptolemy’s latest casualty—a torn paperback spine—lying in the hallway like evidence." | | 1 | "The amber eye caught hers first, warm and wary; the black one stayed flat, unreadable." | | 2 | "Rory’s mouth twitched—almost a smile, almost not." | | 3 | "The flat swallowed sound; the door clicked shut on its own, three deadbolts echoing like three separate decisions." | | 4 | "The latest one was dog-eared at a chapter titled “Moral Ambiguity in Demonic Contracts.” She could feel the weight of the last time they’d stood this close—the night in the back room of Silas’ bar, argument still bitter on her tongue, his mouth on hers only seconds after Evan’s name had left her lips like a curse neither of them had wanted to claim." | | 5 | "Rory pushed off the counter and crossed to the table, close enough that the scent of his cologne—cedar and something colder, like rain on stone—reached her." | | 6 | "She felt the pull the way she always had—the careful, catalogued attraction that had started the first night he came looking for her after Evan, when her hands were shaking and he offered her the only calm thing in the room: a drink poured by someone who understood the weight of a bad choice." | | 7 | "His were warm despite the chill he carried; hers had gone cold from standing still too long." | | 8 | "Rory looked at the accumulation of research—notes on contracts, runes, the thin line between human and other—and realised how much of it carried his handwriting in the margins." | | 9 | "Rory studied his face—the platinum hair smoothed back even after hours of pacing, the charcoal suit, the eyes that saw too much and offered too little." | | 10 | "She felt the history between them rearrange itself—not resolved, not ignored, simply present, waiting for the next unannounced knock." |
| |
| 99.03% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1192 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 49 | | adverbRatio | 0.041107382550335574 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.0041946308724832215 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 112 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 112 | | mean | 14.95 | | std | 11.61 | | cv | 0.777 | | sampleLengths | | 0 | 14 | | 1 | 25 | | 2 | 29 | | 3 | 21 | | 4 | 44 | | 5 | 3 | | 6 | 19 | | 7 | 20 | | 8 | 15 | | 9 | 10 | | 10 | 6 | | 11 | 7 | | 12 | 19 | | 13 | 11 | | 14 | 16 | | 15 | 5 | | 16 | 14 | | 17 | 39 | | 18 | 13 | | 19 | 8 | | 20 | 20 | | 21 | 20 | | 22 | 18 | | 23 | 13 | | 24 | 20 | | 25 | 64 | | 26 | 2 | | 27 | 10 | | 28 | 4 | | 29 | 8 | | 30 | 6 | | 31 | 6 | | 32 | 6 | | 33 | 17 | | 34 | 18 | | 35 | 26 | | 36 | 9 | | 37 | 36 | | 38 | 33 | | 39 | 13 | | 40 | 8 | | 41 | 5 | | 42 | 35 | | 43 | 9 | | 44 | 4 | | 45 | 21 | | 46 | 5 | | 47 | 54 | | 48 | 7 | | 49 | 16 |
| |
| 51.19% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.3392857142857143 | | totalSentences | 112 | | uniqueOpeners | 38 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 86 | | matches | | 0 | "Somewhere downstairs the restaurant radio" | | 1 | "Bright blue meeting amber and" | | 2 | "Then the door opened and" |
| | ratio | 0.035 | |
| 75.81% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 31 | | totalSentences | 86 | | matches | | 0 | "Her hair fell in a" | | 1 | "He kept both hands visible," | | 2 | "His charcoal suit was rumpled" | | 3 | "he said, the word dry" | | 4 | "She didn’t step aside" | | 5 | "His posture didn’t change, but" | | 6 | "She let the words hang," | | 7 | "He rested the cane against" | | 8 | "He gave her the shadow" | | 9 | "She flipped open a notebook," | | 10 | "She felt the pull the" | | 11 | "They never spoke of that" | | 12 | "His voice dropped." | | 13 | "He held it out between" | | 14 | "Their hands met around it." | | 15 | "His were warm despite the" | | 16 | "she said again, quieter now" | | 17 | "His smile faded to something" | | 18 | "Her laugh came out hoarse." | | 19 | "She hadn’t noticed until now." |
| | ratio | 0.36 | |
| 29.77% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 74 | | totalSentences | 86 | | matches | | 0 | "The deadbolts clicked three times" | | 1 | "Rory stood in the narrow" | | 2 | "Her hair fell in a" | | 3 | "The scar on her left" | | 4 | "Lucien didn’t move." | | 5 | "He kept both hands visible," | | 6 | "His charcoal suit was rumpled" | | 7 | "The amber eye caught hers" | | 8 | "he said, the word dry" | | 9 | "Rory’s mouth twitched—almost a smile," | | 10 | "She didn’t step aside" | | 11 | "The hallway behind him smelled" | | 12 | "His posture didn’t change, but" | | 13 | "She let the words hang," | | 14 | "The cat, hearing his name," | | 15 | "Lucien crossed the threshold with" | | 16 | "The flat swallowed sound; the" | | 17 | "He rested the cane against" | | 18 | "Rory leaned against the kitchen" | | 19 | "The latest one was dog-eared" |
| | ratio | 0.86 | |
| 58.14% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 86 | | matches | | 0 | "Before he touched them, he" |
| | ratio | 0.012 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 44 | | technicalSentenceCount | 2 | | matches | | 0 | "She felt the pull the way she always had—the careful, catalogued attraction that had started the first night he came looking for her after Evan, when her hands …" | | 1 | "She felt the hurt again, clean and sharp, but underneath it the attraction that had never quite cooled." |
| |
| 89.29% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 14 | | uselessAdditionCount | 1 | | matches | | 0 | "she said, but the words lacked conviction even to her own ears" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 35 | | tagDensity | 0.229 | | leniency | 0.457 | | rawRatio | 0.125 | | effectiveRatio | 0.057 | |