| 97.44% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 16 | | adverbTagCount | 2 | | adverbTags | | 0 | "Her voice held just [just]" | | 1 | "She stepped back [back]" |
| | dialogueSentences | 39 | | tagDensity | 0.41 | | leniency | 0.821 | | rawRatio | 0.125 | | effectiveRatio | 0.103 | |
| 86.74% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1131 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "lightly" | | 1 | "softly" | | 2 | "suddenly" |
| |
| 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) | |
| 7.16% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1131 | | totalAiIsms | 21 | | found | | | highlights | | 0 | "familiar" | | 1 | "weight" | | 2 | "silk" | | 3 | "velvet" | | 4 | "flicked" | | 5 | "resolve" | | 6 | "sanctuary" | | 7 | "silence" | | 8 | "reminder" | | 9 | "charm" | | 10 | "shattered" | | 11 | "gleaming" | | 12 | "dance" | | 13 | "unspoken" | | 14 | "desire" | | 15 | "amidst" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 2 | | found | | 0 | | label | "clenched jaw/fists" | | count | 1 |
| | 1 | | label | "jaw/fists clenched" | | count | 1 |
|
| | highlights | | 0 | "clenched her jaw" | | 1 | "fists clenched" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 70 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 70 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 92 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 34 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1122 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 81.25% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 33 | | wordCount | 800 | | uniqueNames | 8 | | maxNameDensity | 1.38 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Rory" | | discoveredNames | | Aurora | 1 | | Eva | 3 | | Moreau | 1 | | Rory | 11 | | Ptolemy | 3 | | Lucien | 11 | | Evan | 2 | | Cardiff | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Eva" | | 2 | "Moreau" | | 3 | "Rory" | | 4 | "Ptolemy" | | 5 | "Lucien" | | 6 | "Evan" |
| | places | | | globalScore | 0.813 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 58 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1122 | | matches | (empty) | |
| 94.20% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 92 | | matches | | 0 | "met that amber" | | 1 | "shatter that, like" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 59 | | mean | 19.02 | | std | 10.34 | | cv | 0.544 | | sampleLengths | | 0 | 9 | | 1 | 37 | | 2 | 61 | | 3 | 16 | | 4 | 34 | | 5 | 23 | | 6 | 33 | | 7 | 36 | | 8 | 18 | | 9 | 29 | | 10 | 18 | | 11 | 18 | | 12 | 34 | | 13 | 15 | | 14 | 15 | | 15 | 26 | | 16 | 14 | | 17 | 24 | | 18 | 42 | | 19 | 12 | | 20 | 13 | | 21 | 17 | | 22 | 12 | | 23 | 12 | | 24 | 15 | | 25 | 5 | | 26 | 26 | | 27 | 12 | | 28 | 14 | | 29 | 36 | | 30 | 24 | | 31 | 14 | | 32 | 20 | | 33 | 15 | | 34 | 19 | | 35 | 19 | | 36 | 1 | | 37 | 15 | | 38 | 5 | | 39 | 14 | | 40 | 8 | | 41 | 15 | | 42 | 28 | | 43 | 28 | | 44 | 20 | | 45 | 27 | | 46 | 19 | | 47 | 16 | | 48 | 13 | | 49 | 14 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 70 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 150 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 92 | | ratio | 0.098 | | matches | | 0 | "The front door rattled against its locks—three deadbolts, stubborn as ever—shoved aside by a familiar weight." | | 1 | "His slicked-back platinum blond hair caught the dim hallway light, but it was those eyes — one amber, one black as oil — that pinned her in place like a viper ready to strike." | | 2 | "Eva’s flat smelled the way it always did—books stacked like precarious towers, scrolls curling like ancient promises, and the steady presence of Ptolemy, the tabby cat, who circled Lucien’s legs with cautious indifference." | | 3 | "Rory shifted the bag in her hand, fingers brushing the small crescent scar on her left wrist—the scar she hid under long sleeves, the one Evan never noticed." | | 4 | "Lucien hesitated—not often he hesitated." | | 5 | "Rory swallowed, the memories clawing to the surface—her father’s stern voice, the cold chambers of Cardiff’s courts, the whispers of law and legacy she’d tried to escape." | | 6 | "Suddenly, the window shattered inward — a shard slicing through the heavy silence like a scream." | | 7 | "A figure plunged through the broken glass, silhouetted in streetlight — fast, furious." | | 8 | "And amidst the shards and shadows, Rory’s fierce blue eyes locked on his, a silent warning—and a promise." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 808 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 30 | | adverbRatio | 0.03712871287128713 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.008663366336633664 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 92 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 92 | | mean | 12.2 | | std | 6.84 | | cv | 0.561 | | sampleLengths | | 0 | 9 | | 1 | 21 | | 2 | 16 | | 3 | 27 | | 4 | 34 | | 5 | 16 | | 6 | 3 | | 7 | 15 | | 8 | 16 | | 9 | 18 | | 10 | 5 | | 11 | 33 | | 12 | 28 | | 13 | 8 | | 14 | 18 | | 15 | 14 | | 16 | 15 | | 17 | 8 | | 18 | 10 | | 19 | 11 | | 20 | 7 | | 21 | 28 | | 22 | 6 | | 23 | 9 | | 24 | 6 | | 25 | 3 | | 26 | 12 | | 27 | 6 | | 28 | 20 | | 29 | 14 | | 30 | 10 | | 31 | 14 | | 32 | 9 | | 33 | 13 | | 34 | 9 | | 35 | 11 | | 36 | 7 | | 37 | 5 | | 38 | 6 | | 39 | 7 | | 40 | 7 | | 41 | 4 | | 42 | 6 | | 43 | 12 | | 44 | 12 | | 45 | 15 | | 46 | 5 | | 47 | 20 | | 48 | 6 | | 49 | 12 |
| |
| 85.87% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.5217391304347826 | | totalSentences | 92 | | uniqueOpeners | 48 | |
| 99.50% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 67 | | matches | | 0 | "Then he was tense, his" | | 1 | "Suddenly, the window shattered inward" |
| | ratio | 0.03 | |
| 76.72% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 24 | | totalSentences | 67 | | matches | | 0 | "She froze on the threshold" | | 1 | "His slicked-back platinum blond hair" | | 2 | "His voice was silk, dangerous" | | 3 | "Her throat clenched, dry and" | | 4 | "Her voice held just enough" | | 5 | "He closed the door, the" | | 6 | "She met that amber eye," | | 7 | "He smirked, sharp as a" | | 8 | "She swung the carrier bag" | | 9 | "His voice dropped, low and" | | 10 | "Her heart faltered." | | 11 | "She bit down the bitter" | | 12 | "His smile was cruel yet" | | 13 | "Her tone snapped, accusing and" | | 14 | "She advanced a step, the" | | 15 | "His amber eye darkened" | | 16 | "She clenched her jaw, the" | | 17 | "she said, voice brittle but" | | 18 | "He moved closer, close enough" | | 19 | "Her fists clenched at her" |
| | ratio | 0.358 | |
| 4.78% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 61 | | totalSentences | 67 | | matches | | 0 | "The door slammed open before" | | 1 | "She froze on the threshold" | | 2 | "The front door rattled against" | | 3 | "Lucien Moreau stood in the" | | 4 | "His slicked-back platinum blond hair" | | 5 | "His voice was silk, dangerous" | | 6 | "Rory didn’t respond." | | 7 | "Her throat clenched, dry and" | | 8 | "The distance between them hadn’t" | | 9 | "Lucien stepped inside anyway, the" | | 10 | "Eva’s flat smelled the way" | | 11 | "Rory shifted the bag in" | | 12 | "That scar, that past, feeling" | | 13 | "Her voice held just enough" | | 14 | "He closed the door, the" | | 15 | "She met that amber eye," | | 16 | "He smirked, sharp as a" | | 17 | "She swung the carrier bag" | | 18 | "His voice dropped, low and" | | 19 | "Her heart faltered." |
| | ratio | 0.91 | |
| 74.63% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 67 | | matches | | 0 | "Now his presence threatened to" |
| | ratio | 0.015 | |
| 95.24% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 30 | | technicalSentenceCount | 2 | | matches | | 0 | "Eva’s flat smelled the way it always did—books stacked like precarious towers, scrolls curling like ancient promises, and the steady presence of Ptolemy, the ta…" | | 1 | "Lucien smiled, but it was sharp, dangerous, the kind that promised blood beneath the charm." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 16 | | uselessAdditionCount | 5 | | matches | | 0 | "He closed, the locks clicking back into place behind him" | | 1 | "She swung, weight thudding against the coffee table" | | 2 | "Rory demanded, voice sharper" | | 3 | "She advanced, the hesitation gone from her voice" | | 4 | "She stepped back, the old fire flaring up" |
| |
| 21.79% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 5 | | fancyTags | | 0 | "Rory demanded (demand)" | | 1 | "Her tone snapped (snap)" | | 2 | "he admitted (admit)" | | 3 | "Lucien growled (growl)" | | 4 | "Rory demanded (demand)" |
| | dialogueSentences | 39 | | tagDensity | 0.179 | | leniency | 0.359 | | rawRatio | 0.714 | | effectiveRatio | 0.256 | |