| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 29 | | adverbTagCount | 2 | | adverbTags | | 0 | "she said quietly [quietly]" | | 1 | "she said finally [finally]" |
| | dialogueSentences | 72 | | tagDensity | 0.403 | | leniency | 0.806 | | rawRatio | 0.069 | | effectiveRatio | 0.056 | |
| 78.93% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1661 | | totalAiIsmAdverbs | 7 | | found | | | highlights | | 0 | "very" | | 1 | "really" | | 2 | "carefully" | | 3 | "perfectly" | | 4 | "slowly" | | 5 | "sharply" |
| |
| 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) | |
| 54.85% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1661 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "familiar" | | 1 | "reminder" | | 2 | "measured" | | 3 | "traced" | | 4 | "tension" | | 5 | "velvet" | | 6 | "etched" | | 7 | "tracing" | | 8 | "wavered" | | 9 | "weight" | | 10 | "silence" | | 11 | "charm" | | 12 | "flickered" | | 13 | "glinting" |
| |
| 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 | 96 | | matches | | |
| 83.33% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 3 | | narrationSentences | 96 | | filterMatches | | | hedgeMatches | | 0 | "started to" | | 1 | "seemed to" | | 2 | "tried to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 137 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 51 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1651 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 27 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 27 | | wordCount | 1131 | | uniqueNames | 7 | | maxNameDensity | 0.71 | | worstName | "Ptolemy" | | maxWindowNameDensity | 2 | | worstWindowName | "Lucien" | | discoveredNames | | Rory | 5 | | Moreau | 3 | | Thames | 1 | | Lucien | 7 | | Eva | 2 | | Cardiff | 1 | | Ptolemy | 8 |
| | persons | | 0 | "Rory" | | 1 | "Moreau" | | 2 | "Lucien" | | 3 | "Eva" | | 4 | "Ptolemy" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 72 | | glossingSentenceCount | 5 | | matches | | 0 | "looked like something that had crawled ou" | | 1 | "ls, tail high, apparently having decided Luci" | | 2 | "looked like he hadn't slept in days, and" | | 3 | "d into a ball, apparently deciding the human" | | 4 | "smelled like old paper and the curry house" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1651 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 137 | | matches | | 0 | "chose that moment" | | 1 | "remembered that smile" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 74 | | mean | 22.31 | | std | 18.84 | | cv | 0.844 | | sampleLengths | | 0 | 49 | | 1 | 47 | | 2 | 17 | | 3 | 48 | | 4 | 4 | | 5 | 1 | | 6 | 17 | | 7 | 8 | | 8 | 17 | | 9 | 12 | | 10 | 50 | | 11 | 8 | | 12 | 4 | | 13 | 23 | | 14 | 1 | | 15 | 53 | | 16 | 3 | | 17 | 44 | | 18 | 15 | | 19 | 21 | | 20 | 46 | | 21 | 8 | | 22 | 25 | | 23 | 4 | | 24 | 64 | | 25 | 37 | | 26 | 3 | | 27 | 9 | | 28 | 5 | | 29 | 14 | | 30 | 42 | | 31 | 48 | | 32 | 10 | | 33 | 3 | | 34 | 26 | | 35 | 37 | | 36 | 29 | | 37 | 48 | | 38 | 29 | | 39 | 1 | | 40 | 45 | | 41 | 20 | | 42 | 24 | | 43 | 7 | | 44 | 91 | | 45 | 45 | | 46 | 6 | | 47 | 2 | | 48 | 4 | | 49 | 2 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 96 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 216 | | matches | | 0 | "was counting" | | 1 | "was still standing" | | 2 | "was watching" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 137 | | ratio | 0.066 | | matches | | 0 | "He looked like something that had crawled out of the Thames—not that she was about to say so." | | 1 | "He lifted his gaze to meet hers, and she caught that familiar flash of mismatched color—one amber eye, one black." | | 2 | "She could see the outline of old scars beneath it—marks she'd traced with her fingers in another life, it seemed." | | 3 | "\"We really don't.\" She started to close the door, but his hand came up—not to stop her, just a gesture, palm out, pleading." | | 4 | "\"—ten o'clock at night and expect me to help you.\"" | | 5 | "\"I'm telling you now because there's still time to help the others. The ones Cortez is still using.\" He met her gaze directly, and she saw something raw in his expression—something he usually kept hidden beneath all that polished charm." | | 6 | "But she looked at him standing there in his ruined suit, water still dripping from his hair, and she remembered the way he'd looked at her that last night—like she was something precious he was afraid to break." | | 7 | "\"I have a way with creatures.\" A faint smile touched his mouth, and she remembered that smile—remembered the way it felt against her skin." | | 8 | "Something flickered across his face—something that looked almost like pain—but he inclined his head in acknowledgment." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 756 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 19 | | adverbRatio | 0.02513227513227513 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.011904761904761904 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 137 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 137 | | mean | 12.05 | | std | 9.01 | | cv | 0.748 | | sampleLengths | | 0 | 15 | | 1 | 14 | | 2 | 20 | | 3 | 29 | | 4 | 18 | | 5 | 17 | | 6 | 20 | | 7 | 6 | | 8 | 17 | | 9 | 5 | | 10 | 4 | | 11 | 1 | | 12 | 16 | | 13 | 1 | | 14 | 8 | | 15 | 13 | | 16 | 4 | | 17 | 7 | | 18 | 5 | | 19 | 18 | | 20 | 20 | | 21 | 12 | | 22 | 8 | | 23 | 4 | | 24 | 23 | | 25 | 1 | | 26 | 10 | | 27 | 13 | | 28 | 2 | | 29 | 28 | | 30 | 3 | | 31 | 28 | | 32 | 16 | | 33 | 15 | | 34 | 11 | | 35 | 5 | | 36 | 5 | | 37 | 14 | | 38 | 9 | | 39 | 5 | | 40 | 18 | | 41 | 8 | | 42 | 13 | | 43 | 12 | | 44 | 4 | | 45 | 26 | | 46 | 28 | | 47 | 10 | | 48 | 17 | | 49 | 20 |
| |
| 46.96% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 14 | | diversityRatio | 0.34306569343065696 | | totalSentences | 137 | | uniqueOpeners | 47 | |
| 73.26% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 91 | | matches | | 0 | "Then he reached into his" | | 1 | "Instead, she crossed to the" |
| | ratio | 0.022 | |
| 9.01% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 48 | | totalSentences | 91 | | matches | | 0 | "She finally shoved the bolt" | | 1 | "He looked like something that" | | 2 | "He lifted his gaze to" | | 3 | "She could see the outline" | | 4 | "She started to close the" | | 5 | "He was still standing there," | | 6 | "She stepped aside." | | 7 | "He entered the flat with" | | 8 | "He asked it mildly, but" | | 9 | "She didn't elaborate" | | 10 | "He didn't deserve her explanations." | | 11 | "He turned to face her," | | 12 | "He looked like he hadn't" | | 13 | "She crossed her arms over" | | 14 | "She heard the bitterness in" | | 15 | "She glanced at the clock" | | 16 | "He was quiet for a" | | 17 | "She shouldn't have." | | 18 | "She should have thrown him" | | 19 | "It was heavier than she" |
| | ratio | 0.527 | |
| 31.43% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 78 | | totalSentences | 91 | | matches | | 0 | "The third deadbolt stuck, and" | | 1 | "Ptolemy wound between her ankles," | | 2 | "She finally shoved the bolt" | | 3 | "Lucien Moreau stood in the" | | 4 | "He looked like something that" | | 5 | "The words came out sharper" | | 6 | "He lifted his gaze to" | | 7 | "A reminder of what he" | | 8 | "Ptolemy chose that moment to" | | 9 | "Rory tightened her grip on" | | 10 | "Lucien's voice was low, measured" | | 11 | "The rain had soaked through" | | 12 | "She could see the outline" | | 13 | "The ivory handle of his" | | 14 | "She started to close the" | | 15 | "The word hit her like" | | 16 | "He was still standing there," | | 17 | "She stepped aside." | | 18 | "He entered the flat with" | | 19 | "Ptolemy followed at his heels," |
| | ratio | 0.857 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 91 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 43 | | technicalSentenceCount | 1 | | matches | | 0 | "Something flickered across his face—something that looked almost like pain—but he inclined his head in acknowledgment." |
| |
| 73.28% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 29 | | uselessAdditionCount | 3 | | matches | | 0 | "She started, but his hand came up—not to stop her, just a gesture, palm out, pleading" | | 1 | "she said, not turning around" | | 2 | "she said, turning to face him," |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 2 | | fancyTags | | 0 | "he continued (continue)" | | 1 | "he agreed (agree)" |
| | dialogueSentences | 72 | | tagDensity | 0.139 | | leniency | 0.278 | | rawRatio | 0.2 | | effectiveRatio | 0.056 | |