| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 32 | | adverbTagCount | 2 | | adverbTags | | 0 | "tabby cat stretched languidly [languidly]" | | 1 | "Lucien gestured around [around]" |
| | dialogueSentences | 70 | | tagDensity | 0.457 | | leniency | 0.914 | | rawRatio | 0.063 | | effectiveRatio | 0.057 | |
| 58.25% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1557 | | totalAiIsmAdverbs | 13 | | found | | | highlights | | 0 | "languidly" | | 1 | "slowly" | | 2 | "slightly" | | 3 | "very" | | 4 | "suddenly" | | 5 | "really" | | 6 | "carefully" | | 7 | "truly" | | 8 | "softly" |
| |
| 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) | |
| 42.20% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1557 | | totalAiIsms | 18 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | word | "sent shivers down" | | count | 1 |
| | 12 | | | 13 | | | 14 | |
| | highlights | | 0 | "comfortable" | | 1 | "echoed" | | 2 | "echoing" | | 3 | "eyebrow" | | 4 | "sentinel" | | 5 | "unspoken" | | 6 | "imposing" | | 7 | "intensity" | | 8 | "tension" | | 9 | "pulse" | | 10 | "constructed" | | 11 | "sent shivers down" | | 12 | "whisper" | | 13 | "gleaming" | | 14 | "shattered" |
| |
| 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 | 0 | | narrationSentences | 85 | | matches | (empty) | |
| 92.44% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 85 | | filterMatches | (empty) | | hedgeMatches | | 0 | "seemed to" | | 1 | "tried to" | | 2 | "try to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 123 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 43 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1553 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 27 | | unquotedAttributions | 0 | | matches | (empty) | |
| 33.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 45 | | wordCount | 954 | | uniqueNames | 5 | | maxNameDensity | 2.1 | | worstName | "Lucien" | | maxWindowNameDensity | 4 | | worstWindowName | "Lucien" | | discoveredNames | | Eva | 3 | | Golden | 1 | | Empress | 1 | | Lucien | 20 | | Rory | 20 |
| | persons | | | places | (empty) | | globalScore | 0.452 | | windowScore | 0.333 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 70 | | glossingSentenceCount | 1 | | matches | | |
| 71.22% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.288 | | wordCount | 1553 | | matches | | 0 | "Not the usual three-patterned tap Eva used, but something more insistent" | | 1 | "not the half-demon who had hurt her, but the man who had cared enough to try to protect her" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 123 | | matches | | |
| 96.63% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 57 | | mean | 27.25 | | std | 13.3 | | cv | 0.488 | | sampleLengths | | 0 | 77 | | 1 | 45 | | 2 | 45 | | 3 | 53 | | 4 | 19 | | 5 | 22 | | 6 | 22 | | 7 | 19 | | 8 | 26 | | 9 | 29 | | 10 | 30 | | 11 | 32 | | 12 | 11 | | 13 | 27 | | 14 | 27 | | 15 | 7 | | 16 | 22 | | 17 | 19 | | 18 | 27 | | 19 | 32 | | 20 | 50 | | 21 | 20 | | 22 | 21 | | 23 | 32 | | 24 | 45 | | 25 | 16 | | 26 | 25 | | 27 | 13 | | 28 | 33 | | 29 | 15 | | 30 | 22 | | 31 | 28 | | 32 | 12 | | 33 | 28 | | 34 | 21 | | 35 | 27 | | 36 | 34 | | 37 | 18 | | 38 | 29 | | 39 | 45 | | 40 | 9 | | 41 | 14 | | 42 | 43 | | 43 | 25 | | 44 | 20 | | 45 | 54 | | 46 | 14 | | 47 | 39 | | 48 | 15 | | 49 | 17 |
| |
| 97.01% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 85 | | matches | | 0 | "was covered" | | 1 | "been shattered" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 169 | | matches | (empty) | |
| 49.94% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 123 | | ratio | 0.033 | | matches | | 0 | "She glanced through the peephole—two mismatched eyes stared back at her." | | 1 | "The memory of his hand on her arm, his voice low and urgent, the way his amber eye had seemed to glow in the dim alleyway—it all came rushing back, along with the fear and the undeniable attraction she'd tried to bury." | | 2 | "Rory could smell his scent—something expensive, like sandalwood and danger." | | 3 | "Couldn't break the spell of his presence, of his eyes, of the memories that flooded back—good and bad." |
| |
| 86.44% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 961 | | adjectiveStacks | 1 | | stackExamples | | 0 | "usual three-patterned tap" |
| | adverbCount | 46 | | adverbRatio | 0.047866805411030174 | | lyAdverbCount | 20 | | lyAdverbRatio | 0.02081165452653486 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 123 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 123 | | mean | 12.63 | | std | 7.17 | | cv | 0.568 | | sampleLengths | | 0 | 13 | | 1 | 21 | | 2 | 20 | | 3 | 23 | | 4 | 8 | | 5 | 11 | | 6 | 10 | | 7 | 11 | | 8 | 4 | | 9 | 1 | | 10 | 3 | | 11 | 33 | | 12 | 9 | | 13 | 13 | | 14 | 21 | | 15 | 19 | | 16 | 14 | | 17 | 5 | | 18 | 9 | | 19 | 13 | | 20 | 11 | | 21 | 11 | | 22 | 10 | | 23 | 9 | | 24 | 18 | | 25 | 8 | | 26 | 18 | | 27 | 11 | | 28 | 7 | | 29 | 21 | | 30 | 2 | | 31 | 18 | | 32 | 14 | | 33 | 11 | | 34 | 4 | | 35 | 23 | | 36 | 10 | | 37 | 17 | | 38 | 2 | | 39 | 5 | | 40 | 9 | | 41 | 13 | | 42 | 13 | | 43 | 6 | | 44 | 8 | | 45 | 19 | | 46 | 16 | | 47 | 16 | | 48 | 8 | | 49 | 42 |
| |
| 52.57% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.34959349593495936 | | totalSentences | 123 | | uniqueOpeners | 43 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 82 | | matches | (empty) | | ratio | 0 | |
| 93.17% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 26 | | totalSentences | 82 | | matches | | 0 | "She glanced through the peephole—two" | | 1 | "Her breath hitched." | | 2 | "She hadn't seen him since" | | 3 | "She turned the three deadbolts" | | 4 | "His cane rested in his" | | 5 | "he said, his voice smooth" | | 6 | "He turned, his heterochromatic eyes" | | 7 | "He gestured with his cane" | | 8 | "he said, cutting straight to" | | 9 | "She stopped, facing him directly" | | 10 | "She could see the intensity" | | 11 | "she whispered, her voice barely" | | 12 | "he said, his voice dropping" | | 13 | "His hand rose, hovering near" | | 14 | "she asked, her voice trembling" | | 15 | "she said, the word catching" | | 16 | "He took another step forward," | | 17 | "he said, the admission hanging" | | 18 | "She wanted to pull away," | | 19 | "she whispered, but the protest" |
| | ratio | 0.317 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 77 | | totalSentences | 82 | | matches | | 0 | "The stack of books teetered" | | 1 | "Rory adjusted her position, trying" | | 2 | "Every surface in the cramped" | | 3 | "Ptolemy, Eva's tabby cat, stretched" | | 4 | "A sharp knock echoed through" | | 5 | "Rory pushed herself up, her" | | 6 | "She glanced through the peephole—two" | | 7 | "Her breath hitched." | | 8 | "She hadn't seen him since" | | 9 | "Something that had scared her" | | 10 | "She turned the three deadbolts" | | 11 | "The door swung open, revealing" | | 12 | "His cane rested in his" | | 13 | "he said, his voice smooth" | | 14 | "Rory raised an eyebrow" | | 15 | "Lucien's lips twitched, the ghost" | | 16 | "Rory stepped aside, her hand" | | 17 | "Lucien entered with the easy" | | 18 | "Rory shut the door behind" | | 19 | "He turned, his heterochromatic eyes" |
| | ratio | 0.939 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 82 | | matches | (empty) | | ratio | 0 | |
| 37.82% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 34 | | technicalSentenceCount | 5 | | matches | | 0 | "Couldn't break the spell of his presence, of his eyes, of the memories that flooded back—good and bad." | | 1 | "Rory leaned into his touch, her eyes closing for a moment before opening again, meeting his gaze." | | 2 | "The amber eye glowed faintly in the dim light of the room, and for a moment, she saw not the half-demon who had hurt her, but the man who had cared enough to tr…" | | 3 | "The cramped flat, with its stacks of books and scrolls, suddenly felt too small for the history between them, for the feelings that had never truly disappeared." | | 4 | "Rory nodded, watching as he moved toward the door, his cane tapping softly on the floorboards." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 32 | | uselessAdditionCount | 18 | | matches | | 0 | "Lucien corrected, his voice dropping" | | 1 | "Lucien said, his voice softer now" | | 2 | "Lucien stood up, his height suddenly more imposing in the cramped space" | | 3 | "Lucien said, his voice hardening" | | 4 | "she whispered, her voice barely audible" | | 5 | "he said, his voice dropping to a near murmur" | | 6 | "she asked, her voice trembling slightly" | | 7 | "Lucien said, his eyes searching hers" | | 8 | "she said, the word catching in her throat" | | 9 | "Lucien said, his voice softening" | | 10 | "he said, the admission hanging in the air between them" | | 11 | "she whispered, but the protest lacked conviction" | | 12 | "Lucien asked, his voice barely audible" | | 13 | "Rory admitted, the words spilling out before she could stop them" | | 14 | "he said, his voice thick with emotion" | | 15 | "she asked, her voice barely a whisper" | | 16 | "Lucien said, his thumb stroking her cheek" | | 17 | "she asked, her voice steady now, the decision made" |
| |
| 64.29% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 21 | | fancyCount | 6 | | fancyTags | | 0 | "Lucien corrected (correct)" | | 1 | "Rory retorted (retort)" | | 2 | "she whispered (whisper)" | | 3 | "she whispered (whisper)" | | 4 | "Rory admitted (admit)" | | 5 | "she whispered (whisper)" |
| | dialogueSentences | 70 | | tagDensity | 0.3 | | leniency | 0.6 | | rawRatio | 0.286 | | effectiveRatio | 0.171 | |