| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 23 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 39 | | tagDensity | 0.59 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 77.15% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1094 | | totalAiIsmAdverbs | 5 | | found | | 0 | | | 1 | | | 2 | | adverb | "barely above a whisper" | | count | 1 |
|
| | highlights | | 0 | "slightly" | | 1 | "suddenly" | | 2 | "barely above a whisper" |
| |
| 80.00% | AI-ism character names | Target: 0 AI-default names (17 tracked, −20% each) | | codexExemptions | (empty) | | found | | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 49.73% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1094 | | totalAiIsms | 11 | | found | | | highlights | | 0 | "intensity" | | 1 | "pulse" | | 2 | "velvet" | | 3 | "stomach" | | 4 | "glint" | | 5 | "footsteps" | | 6 | "measured" | | 7 | "tension" | | 8 | "silence" | | 9 | "raced" | | 10 | "whisper" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 2 | | found | | 0 | | label | "blood ran cold" | | count | 1 |
| | 1 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | 0 | "blood ran cold" | | 1 | "eyes narrowed" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 69 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 69 | | filterMatches | (empty) | | hedgeMatches | | |
| 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 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 55 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 7 | | totalWords | 1084 | | ratio | 0.006 | | matches | | 0 | "I’ll come back when you need me." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 20 | | unquotedAttributions | 0 | | matches | (empty) | |
| 50.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 32 | | wordCount | 861 | | uniqueNames | 7 | | maxNameDensity | 1.28 | | worstName | "Lucien" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Lucien" | | discoveredNames | | Aurora | 8 | | Silas | 1 | | Camden | 1 | | London | 2 | | Eva | 2 | | Lucien | 11 | | Marcus | 7 |
| | persons | | 0 | "Aurora" | | 1 | "Silas" | | 2 | "Eva" | | 3 | "Lucien" | | 4 | "Marcus" |
| | places | | | globalScore | 0.861 | | windowScore | 0.5 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 53 | | glossingSentenceCount | 1 | | matches | | 0 | "as if reading her thoughts" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1084 | | matches | (empty) | |
| 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 | 34 | | mean | 31.88 | | std | 19.74 | | cv | 0.619 | | sampleLengths | | 0 | 88 | | 1 | 12 | | 2 | 54 | | 3 | 56 | | 4 | 44 | | 5 | 59 | | 6 | 23 | | 7 | 62 | | 8 | 46 | | 9 | 25 | | 10 | 17 | | 11 | 47 | | 12 | 17 | | 13 | 22 | | 14 | 27 | | 15 | 15 | | 16 | 40 | | 17 | 6 | | 18 | 33 | | 19 | 22 | | 20 | 37 | | 21 | 9 | | 22 | 31 | | 23 | 67 | | 24 | 9 | | 25 | 52 | | 26 | 38 | | 27 | 36 | | 28 | 12 | | 29 | 19 | | 30 | 19 | | 31 | 16 | | 32 | 18 | | 33 | 6 |
| |
| 95.09% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 69 | | matches | | 0 | "was slicked" | | 1 | "were fixed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 147 | | matches | | 0 | "was already spiralling" | | 1 | "was already moving" |
| |
| 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 | "His platinum blond hair was slicked back, and those impossible eyes—one amber, one black—locked onto hers with an intensity that made her pulse hammer in her throat." | | 1 | "The scent of sandalwood and something darker—something wicked—trailed behind him." | | 2 | "The scar on her left wrist—faded but ever-present—felt suddenly tender." | | 3 | "Even through the reinforced deadbolts, she could hear the distinctive rap—three quick, one long." | | 4 | "She could hear footsteps in the hallway—steady, purposeful." | | 5 | "Marcus’s eyes narrowed as he took in the scene—the ivory cane, the way Aurora’s shoulders were rigid with tension, the faint scent of ozone still clinging to her." | | 6 | "The words she’d tried to forget since that night in the warehouse, since he’d pressed something cold and metallic into her palm—a contract signed in blood, in ink that tasted of copper." | | 7 | "Aurora’s mind raced, trying to piece together the fragments of memory she’d buried—the night she’d woken up in an alley with no recollection of how she’d gotten there, the strange mark on her wrist that hadn’t been there before, the way Marcus had looked at her that night with eyes full of something dangerous." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 876 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 29 | | adverbRatio | 0.033105022831050226 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.0091324200913242 | |
| 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 | 12.75 | | std | 8.86 | | cv | 0.695 | | sampleLengths | | 0 | 12 | | 1 | 27 | | 2 | 22 | | 3 | 27 | | 4 | 12 | | 5 | 17 | | 6 | 10 | | 7 | 19 | | 8 | 8 | | 9 | 6 | | 10 | 14 | | 11 | 23 | | 12 | 13 | | 13 | 11 | | 14 | 16 | | 15 | 17 | | 16 | 12 | | 17 | 28 | | 18 | 19 | | 19 | 12 | | 20 | 11 | | 21 | 19 | | 22 | 17 | | 23 | 14 | | 24 | 12 | | 25 | 3 | | 26 | 4 | | 27 | 23 | | 28 | 16 | | 29 | 15 | | 30 | 10 | | 31 | 9 | | 32 | 8 | | 33 | 9 | | 34 | 14 | | 35 | 3 | | 36 | 21 | | 37 | 11 | | 38 | 6 | | 39 | 9 | | 40 | 8 | | 41 | 5 | | 42 | 17 | | 43 | 8 | | 44 | 2 | | 45 | 9 | | 46 | 6 | | 47 | 8 | | 48 | 16 | | 49 | 12 |
| |
| 56.08% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.36470588235294116 | | totalSentences | 85 | | uniqueOpeners | 31 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 65 | | matches | (empty) | | ratio | 0 | |
| 47.69% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 28 | | totalSentences | 65 | | matches | | 0 | "She stood frozen in the" | | 1 | "His platinum blond hair was" | | 2 | "she breathed, the name catching" | | 3 | "He stepped inside without invitation," | | 4 | "he said, his voice a" | | 5 | "She stopped, the word choked" | | 6 | "His lips curved into something" | | 7 | "He closed the distance between" | | 8 | "She stepped back, the edge" | | 9 | "she asked, her voice sharper" | | 10 | "he murmured, his other hand" | | 11 | "His thumb lingered a fraction" | | 12 | "Her breath hitched." | | 13 | "she whispered, her gaze dropping" | | 14 | "He inclined his head, the" | | 15 | "Her heart stuttered." | | 16 | "she called, though Eva’s flat" | | 17 | "She could hear footsteps in" | | 18 | "she said to Lucien, but" | | 19 | "he said, disbelief warring with" |
| | ratio | 0.431 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 62 | | totalSentences | 65 | | matches | | 0 | "The door swung inward with" | | 1 | "She stood frozen in the" | | 2 | "The man before her was" | | 3 | "His platinum blond hair was" | | 4 | "she breathed, the name catching" | | 5 | "He stepped inside without invitation," | | 6 | "The scent of sandalwood and" | | 7 | "he said, his voice a" | | 8 | "Aurora’s fingers unclenched from the" | | 9 | "She stopped, the word choked" | | 10 | "The incident with the cult" | | 11 | "His lips curved into something" | | 12 | "He closed the distance between" | | 13 | "She stepped back, the edge" | | 14 | "The flat was a mess" | | 15 | "Ptolemy, Eva’s tabby, watched from" | | 16 | "she asked, her voice sharper" | | 17 | "Lucien’s gloved hand drifted to" | | 18 | "he murmured, his other hand" | | 19 | "His thumb lingered a fraction" |
| | ratio | 0.954 | |
| 76.92% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 65 | | matches | | 0 | "Even through the reinforced deadbolts," |
| | ratio | 0.015 | |
| 23.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 24 | | technicalSentenceCount | 4 | | matches | | 0 | "His platinum blond hair was slicked back, and those impossible eyes—one amber, one black—locked onto hers with an intensity that made her pulse hammer in her th…" | | 1 | "The flat was a mess of secondhand furniture and books stacked haphazardly on every surface, the kind of clutter that spoke of someone who preferred words to peo…" | | 2 | "The words she’d tried to forget since that night in the warehouse, since he’d pressed something cold and metallic into her palm—a contract signed in blood, in i…" | | 3 | "Aurora’s mind raced, trying to piece together the fragments of memory she’d buried—the night she’d woken up in an alley with no recollection of how she’d gotten…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 23 | | uselessAdditionCount | 12 | | matches | | 0 | "she breathed, the name catching in her throat like a prayer" | | 1 | "She stopped, the word choked on her tongue" | | 2 | "she asked, her voice sharper than she intended" | | 3 | "He inclined, the movement fluid, predatory" | | 4 | "Lucien said, his voice dropping to a low growl" | | 5 | "she said, but her eyes were fixed on the door" | | 6 | "Lucien said, as if reading her thoughts" | | 7 | "he said, disbelief warring with relief in his voice" | | 8 | "Lucien replied, his cane tapping once against the floor" | | 9 | "she said, but her voice lacked conviction" | | 10 | "she lied, but her mind was already spiralling back to that night, to the way his hands had felt on her skin, to the promise he’d made before vanishing into the London fog" | | 11 | "she asked, her voice barely above a whisper" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 17 | | fancyCount | 6 | | fancyTags | | 0 | "she breathed (breathe)" | | 1 | "he murmured (murmur)" | | 2 | "she whispered (whisper)" | | 3 | "she demanded (demand)" | | 4 | "she lied (lie)" | | 5 | "Aurora demanded (demand)" |
| | dialogueSentences | 39 | | tagDensity | 0.436 | | leniency | 0.872 | | rawRatio | 0.353 | | effectiveRatio | 0.308 | |