| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 21 | | adverbTagCount | 1 | | adverbTags | | 0 | "Lucien whispered softly [softly]" |
| | dialogueSentences | 46 | | tagDensity | 0.457 | | leniency | 0.913 | | rawRatio | 0.048 | | effectiveRatio | 0.043 | |
| 86.50% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1482 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "softly" | | 1 | "slowly" | | 2 | "gently" |
| |
| 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) | |
| 56.14% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1482 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "echoed" | | 1 | "weight" | | 2 | "throbbed" | | 3 | "chaotic" | | 4 | "facade" | | 5 | "silence" | | 6 | "unreadable" | | 7 | "velvet" | | 8 | "unspoken" | | 9 | "vibrated" | | 10 | "etched" | | 11 | "silk" |
| |
| 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 | 71 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 71 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 96 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 42 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 1 | | totalWords | 1481 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 19 | | unquotedAttributions | 1 | | matches | | 0 | "As the linen fell away, it revealed a jagged, shallow tear across his collarbone, the edges black with traces of low-lev…" |
| |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 32 | | wordCount | 1059 | | uniqueNames | 9 | | maxNameDensity | 1.32 | | worstName | "Lucien" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Lucien" | | discoveredNames | | Moreau | 1 | | Paris | 1 | | Brick | 1 | | Lane | 1 | | Lucien | 14 | | Cardiff | 1 | | University | 1 | | Mayfair | 1 | | Aurora | 11 |
| | persons | | 0 | "Moreau" | | 1 | "Lucien" | | 2 | "Aurora" |
| | places | | 0 | "Paris" | | 1 | "Brick" | | 2 | "Lane" | | 3 | "Cardiff" | | 4 | "Mayfair" |
| | globalScore | 0.839 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 67 | | 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 | 1481 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 96 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 46 | | mean | 32.2 | | std | 21.39 | | cv | 0.664 | | sampleLengths | | 0 | 17 | | 1 | 35 | | 2 | 5 | | 3 | 60 | | 4 | 37 | | 5 | 22 | | 6 | 74 | | 7 | 32 | | 8 | 35 | | 9 | 36 | | 10 | 45 | | 11 | 14 | | 12 | 35 | | 13 | 8 | | 14 | 21 | | 15 | 103 | | 16 | 17 | | 17 | 4 | | 18 | 37 | | 19 | 47 | | 20 | 22 | | 21 | 47 | | 22 | 2 | | 23 | 3 | | 24 | 31 | | 25 | 56 | | 26 | 9 | | 27 | 30 | | 28 | 1 | | 29 | 34 | | 30 | 44 | | 31 | 64 | | 32 | 23 | | 33 | 27 | | 34 | 40 | | 35 | 61 | | 36 | 50 | | 37 | 29 | | 38 | 26 | | 39 | 60 | | 40 | 16 | | 41 | 52 | | 42 | 38 | | 43 | 5 | | 44 | 1 | | 45 | 26 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 71 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 172 | | matches | | 0 | "was stifling" | | 1 | "were actively avoiding" |
| |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 1 | | semicolonCount | 0 | | flaggedSentences | 1 | | totalSentences | 96 | | ratio | 0.01 | | matches | | 0 | "\"You vanished for seven months,\" she whispered, her anger dissolving into something far more dangerous—a hollow, aching vulnerability." |
| |
| 76.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1072 | | adjectiveStacks | 4 | | stackExamples | | 0 | "pressing white against her" | | 1 | "ancient leather-bound lexicons" | | 2 | "faint, razor-thin smile" | | 3 | "wet, silk-soft strands" |
| | adverbCount | 27 | | adverbRatio | 0.025186567164179104 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.010261194029850746 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 96 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 96 | | mean | 15.43 | | std | 7.85 | | cv | 0.509 | | sampleLengths | | 0 | 17 | | 1 | 19 | | 2 | 16 | | 3 | 5 | | 4 | 29 | | 5 | 16 | | 6 | 15 | | 7 | 15 | | 8 | 13 | | 9 | 9 | | 10 | 22 | | 11 | 7 | | 12 | 17 | | 13 | 30 | | 14 | 20 | | 15 | 10 | | 16 | 16 | | 17 | 6 | | 18 | 20 | | 19 | 6 | | 20 | 9 | | 21 | 17 | | 22 | 19 | | 23 | 27 | | 24 | 18 | | 25 | 6 | | 26 | 8 | | 27 | 15 | | 28 | 14 | | 29 | 6 | | 30 | 8 | | 31 | 15 | | 32 | 6 | | 33 | 16 | | 34 | 25 | | 35 | 41 | | 36 | 21 | | 37 | 17 | | 38 | 4 | | 39 | 8 | | 40 | 29 | | 41 | 11 | | 42 | 23 | | 43 | 13 | | 44 | 14 | | 45 | 8 | | 46 | 22 | | 47 | 25 | | 48 | 2 | | 49 | 3 |
| |
| 50.69% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.3541666666666667 | | totalSentences | 96 | | uniqueOpeners | 34 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 69 | | matches | (empty) | | ratio | 0 | |
| 57.68% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 28 | | totalSentences | 69 | | matches | | 0 | "He smelled of ozone, cheap" | | 1 | "He stepped forward, forcing her" | | 2 | "She retreated two steps into" | | 3 | "She crossed her arms, tucking" | | 4 | "His knuckles bore fresh, darkening" | | 5 | "Her voice cracked, a tiny" | | 6 | "He slid the coat off" | | 7 | "He watched her through half-lidded" | | 8 | "He obeyed without his usual" | | 9 | "She snatched a clean rag," | | 10 | "She returned to the main" | | 11 | "She dipped the cloth into" | | 12 | "She dabbed the black residue" | | 13 | "he corrected, a faint, razor-thin" | | 14 | "She kept her focus locked" | | 15 | "Her hand froze against his" | | 16 | "She stared at the black" | | 17 | "He didn't bother with his" | | 18 | "Her voice rose, laced with" | | 19 | "he said, using the nickname" |
| | ratio | 0.406 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 64 | | totalSentences | 69 | | matches | | 0 | "The three deadbolts disengaged with" | | 1 | "Aurora pulled the heavy oak" | | 2 | "Rain dripped from the brim" | | 3 | "Lucien Moreau leaned his weight" | | 4 | "Rain slicked his platinum hair" | | 5 | "He smelled of ozone, cheap" | | 6 | "Aurora gripped the edge of" | | 7 | "The crescent scar on her" | | 8 | "He stepped forward, forcing her" | | 9 | "She retreated two steps into" | | 10 | "Lucien slipped inside, sweeping his" | | 11 | "A ginger tabby cat leaped" | | 12 | "Aurora snapped, though her voice" | | 13 | "She crossed her arms, tucking" | | 14 | "Lucien set his cane against" | | 15 | "His knuckles bore fresh, darkening" | | 16 | "Her voice cracked, a tiny" | | 17 | "He slid the coat off" | | 18 | "Aurora stepped closer, her eyes" | | 19 | "Lucien's hand twitched toward his" |
| | ratio | 0.928 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 69 | | matches | (empty) | | ratio | 0 | |
| 73.17% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 41 | | technicalSentenceCount | 4 | | matches | | 0 | "The three deadbolts disengaged with a series of sharp, metallic thuds that echoed through the narrow entryway." | | 1 | "Yet here he sat, occupying her space, breathing her air, reducing all her hard-won distance to dust with a single glance." | | 2 | "As the linen fell away, it revealed a jagged, shallow tear across his collarbone, the edges black with traces of low-level hellfire that sizzled faintly against…" | | 3 | "She kept her focus locked on the slice near his collarbone, refusing to lift her eyes to the dark stubble dusting his jaw, or the way his chest heaved with shal…" |
| |
| 53.57% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 21 | | uselessAdditionCount | 3 | | matches | | 0 | "Aurora snapped, though her voice lacked real bite" | | 1 | "she retorted, though her voice lacked conviction" | | 2 | "Lucien leaned down, his forehead coming to rest gently against hers" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 12 | | fancyCount | 8 | | fancyTags | | 0 | "Aurora snapped (snap)" | | 1 | "he corrected (correct)" | | 2 | "Lucien whispered softly (whisper)" | | 3 | "Lucien continued (continue)" | | 4 | "she whispered (whisper)" | | 5 | "Lucien admitted (admit)" | | 6 | "she retorted (retort)" | | 7 | "she whispered (whisper)" |
| | dialogueSentences | 46 | | tagDensity | 0.261 | | leniency | 0.522 | | rawRatio | 0.667 | | effectiveRatio | 0.348 | |