| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 23 | | adverbTagCount | 1 | | adverbTags | | 0 | "she finally asked [finally]" |
| | dialogueSentences | 57 | | tagDensity | 0.404 | | leniency | 0.807 | | rawRatio | 0.043 | | effectiveRatio | 0.035 | |
| 79.95% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1496 | | totalAiIsmAdverbs | 6 | | found | | 0 | | | 1 | | | 2 | | | 3 | | adverb | "barely above a whisper" | | count | 1 |
| | 4 | |
| | highlights | | 0 | "perfectly" | | 1 | "lightly" | | 2 | "carefully" | | 3 | "barely above a whisper" | | 4 | "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) | |
| 16.44% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1496 | | totalAiIsms | 25 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | | | 19 | | | 20 | | | 21 | |
| | highlights | | 0 | "familiar" | | 1 | "gleaming" | | 2 | "unreadable" | | 3 | "racing" | | 4 | "echoing" | | 5 | "implication" | | 6 | "silence" | | 7 | "flickered" | | 8 | "constructed" | | 9 | "complex" | | 10 | "tracing" | | 11 | "whisper" | | 12 | "flicker" | | 13 | "navigate" | | 14 | "unspoken" | | 15 | "stark" | | 16 | "tension" | | 17 | "trembled" | | 18 | "reminder" | | 19 | "potential" | | 20 | "warmth" | | 21 | "charged" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 2 | | found | | 0 | | label | "couldn't help but" | | count | 1 |
| | 1 | | label | "sent a shiver through" | | count | 1 |
|
| | highlights | | 0 | "couldn't help but smile" | | 1 | "sent a jolt through" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 75 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 75 | | filterMatches | (empty) | | hedgeMatches | | 0 | "happened to" | | 1 | "seemed to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 107 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 48 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1481 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 24 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 28 | | wordCount | 1060 | | uniqueNames | 10 | | maxNameDensity | 0.85 | | worstName | "Aurora" | | maxWindowNameDensity | 2 | | worstWindowName | "Aurora" | | discoveredNames | | Aurora | 9 | | Eva | 2 | | Ptolemy | 2 | | Lucien | 9 | | Moreau | 1 | | London | 1 | | British | 1 | | Museum | 1 | | Golden | 1 | | Empress | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Eva" | | 2 | "Ptolemy" | | 3 | "Lucien" | | 4 | "Moreau" | | 5 | "Empress" |
| | places | | 0 | "London" | | 1 | "British" | | 2 | "Golden" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 62 | | glossingSentenceCount | 1 | | matches | | 0 | "felt like a lifetime since their last c" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1481 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 107 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 48 | | mean | 30.85 | | std | 16.61 | | cv | 0.538 | | sampleLengths | | 0 | 64 | | 1 | 76 | | 2 | 25 | | 3 | 47 | | 4 | 38 | | 5 | 55 | | 6 | 17 | | 7 | 15 | | 8 | 47 | | 9 | 26 | | 10 | 20 | | 11 | 24 | | 12 | 25 | | 13 | 19 | | 14 | 22 | | 15 | 50 | | 16 | 14 | | 17 | 21 | | 18 | 29 | | 19 | 23 | | 20 | 69 | | 21 | 28 | | 22 | 30 | | 23 | 22 | | 24 | 70 | | 25 | 13 | | 26 | 30 | | 27 | 7 | | 28 | 20 | | 29 | 37 | | 30 | 10 | | 31 | 28 | | 32 | 31 | | 33 | 26 | | 34 | 28 | | 35 | 36 | | 36 | 23 | | 37 | 8 | | 38 | 25 | | 39 | 30 | | 40 | 36 | | 41 | 13 | | 42 | 7 | | 43 | 23 | | 44 | 27 | | 45 | 50 | | 46 | 49 | | 47 | 48 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 75 | | matches | (empty) | |
| 52.67% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 181 | | matches | | 0 | "was doing" | | 1 | "wasn't just delivering" | | 2 | "was delivering" | | 3 | "was like coming" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 107 | | ratio | 0.084 | | matches | | 0 | "But it was his eyes that arrested her—the amber one wide with something unreadable, the black one as bottomless as ever." | | 1 | "Books and scrolls covered every surface—her research materials from her university days, mixed with various occult texts and notebooks filled with her careful handwriting." | | 2 | "After everything—after the lies, after the dangers he'd dragged her into, after the way he'd disappeared without a word when she'd needed him most—he had the audacity to show up after all this time and ask for a favor." | | 3 | "The memory of those nights spent with him surfaced unbidden—the way his demon half had flickered beneath his skin during moments of heightened emotion, the way she'd felt both terrified and exhilarated by the power radiating from him." | | 4 | "The contact sent a jolt through her, a cascade of memories flooding back—their first kiss in the rain, the way he'd held her when she'd had nightmares about her abusive ex, the way his eyes had lit up when she'd solved a particularly complex puzzle for him." | | 5 | "Part of her—the part that had spent countless nights wondering what happened to him, what he was doing, whether he ever thought of her—wanted to throw herself into his arms." | | 6 | "Her part-time job at Golden Empress had always been just that—a job." | | 7 | "The past hurt, the danger ahead—it all faded into the background as they looked into each other's eyes, seeing the same recognition, the same longing, the same hope for something more." | | 8 | "The kiss was tentative at first, a question hanging in the air, then deepened into something more—something that spoke of forgiveness, of second chances, of a future that might yet be possible, despite the obstacles in their way." |
| |
| 88.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1074 | | adjectiveStacks | 2 | | stackExamples | | 0 | "small crescent-shaped scar" | | 1 | "small, leather-bound notebook." |
| | adverbCount | 35 | | adverbRatio | 0.032588454376163874 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.0111731843575419 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 107 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 107 | | mean | 13.84 | | std | 8.29 | | cv | 0.599 | | sampleLengths | | 0 | 31 | | 1 | 21 | | 2 | 10 | | 3 | 2 | | 4 | 11 | | 5 | 14 | | 6 | 19 | | 7 | 11 | | 8 | 21 | | 9 | 18 | | 10 | 7 | | 11 | 20 | | 12 | 27 | | 13 | 21 | | 14 | 17 | | 15 | 16 | | 16 | 24 | | 17 | 13 | | 18 | 2 | | 19 | 11 | | 20 | 6 | | 21 | 11 | | 22 | 4 | | 23 | 8 | | 24 | 39 | | 25 | 7 | | 26 | 19 | | 27 | 10 | | 28 | 10 | | 29 | 15 | | 30 | 9 | | 31 | 13 | | 32 | 12 | | 33 | 4 | | 34 | 15 | | 35 | 10 | | 36 | 12 | | 37 | 38 | | 38 | 12 | | 39 | 9 | | 40 | 5 | | 41 | 10 | | 42 | 11 | | 43 | 13 | | 44 | 16 | | 45 | 14 | | 46 | 9 | | 47 | 22 | | 48 | 47 | | 49 | 21 |
| |
| 55.14% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.3644859813084112 | | totalSentences | 107 | | uniqueOpeners | 39 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 71 | | matches | (empty) | | ratio | 0 | |
| 56.62% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 29 | | totalSentences | 71 | | matches | | 0 | "she murmured, scratching behind his" | | 1 | "His platinum blond hair was" | | 2 | "His cane rested lightly in" | | 3 | "he said, his voice smooth" | | 4 | "she finally managed, her voice" | | 5 | "She stepped back, gestating for" | | 6 | "He stepped inside, his movements" | | 7 | "he remarked, his cane tapping" | | 8 | "Her laugh was brittle, humorless" | | 9 | "he began, ignoring her outburst" | | 10 | "he said, taking a step" | | 11 | "His voice was low, intimate" | | 12 | "she asked, her voice softer" | | 13 | "he said, his gaze intense" | | 14 | "she countered, her eyes stinging" | | 15 | "He reached out, his fingers" | | 16 | "he whispered, his thumb tracing" | | 17 | "She pulled back, though not" | | 18 | "he admitted, his voice rough" | | 19 | "she finally asked, her voice" |
| | ratio | 0.408 | |
| 65.63% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 56 | | totalSentences | 71 | | matches | | 0 | "The three deadbolts clattered against" | | 1 | "The cat, Ptolemy, rubbed against" | | 2 | "she murmured, scratching behind his" | | 3 | "The door swung inward, and" | | 4 | "His platinum blond hair was" | | 5 | "His cane rested lightly in" | | 6 | "he said, his voice smooth" | | 7 | "she finally managed, her voice" | | 8 | "She stepped back, gestating for" | | 9 | "He stepped inside, his movements" | | 10 | "Books and scrolls covered every" | | 11 | "he remarked, his cane tapping" | | 12 | "Aurora shut the door, the" | | 13 | "Lucien turned to face her," | | 14 | "The words hung between them," | | 15 | "Her laugh was brittle, humorless" | | 16 | "he began, ignoring her outburst" | | 17 | "Aurora crossed her arms, the" | | 18 | "he said, taking a step" | | 19 | "His voice was low, intimate" |
| | ratio | 0.789 | |
| 70.42% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 71 | | matches | | 0 | "Because with Lucien by her" |
| | ratio | 0.014 | |
| 26.58% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 43 | | technicalSentenceCount | 7 | | matches | | 0 | "The three deadbolts clattered against the doorframe as Aurora pulled them back one by one, the familiar ritual of security that had become second nature since s…" | | 1 | "But it was his eyes that arrested her—the amber one wide with something unreadable, the black one as bottomless as ever." | | 2 | "Part of her—the part that had spent countless nights wondering what happened to him, what he was doing, whether he ever thought of her—wanted to throw herself i…" | | 3 | "It was delivering messages, packages, sometimes things that went far beyond the ordinary." | | 4 | "Ptolemy the cat rubbed against Lucien's leg, purring loudly, a stark contrast to the tension radiating from the two humans." | | 5 | "A jolt of electricity passed between them, a reminder of the chemistry that had always existed between them, regardless of the circumstances." | | 6 | "The kiss was tentative at first, a question hanging in the air, then deepened into something more—something that spoke of forgiveness, of second chances, of a f…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 23 | | uselessAdditionCount | 12 | | matches | | 0 | "he remarked, his cane tapping lightly against the floor" | | 1 | "she asked, her voice softer this time" | | 2 | "he said, his gaze intense" | | 3 | "she countered, her eyes stinging with unshed tears" | | 4 | "he whispered, his thumb tracing the delicate skin of her wrist" | | 5 | "he admitted, his voice rough with emotion" | | 6 | "she finally asked, her voice barely above a whisper" | | 7 | "Lucien explained, his professional demeanor returning" | | 8 | "Lucien said, his gaze intense" | | 9 | "he said, his voice dropping to an intimate whisper" | | 10 | "he replied, his eyes hopeful" | | 11 | "she said, her voice steady" |
| |
| 62.28% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 18 | | fancyCount | 5 | | fancyTags | | 0 | "she murmured (murmur)" | | 1 | "he whispered (whisper)" | | 2 | "he admitted (admit)" | | 3 | "Lucien explained (explain)" | | 4 | "he agreed (agree)" |
| | dialogueSentences | 57 | | tagDensity | 0.316 | | leniency | 0.632 | | rawRatio | 0.278 | | effectiveRatio | 0.175 | |