| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 2 | | adverbTags | | 0 | "She stepped back [back]" | | 1 | "he said finally [finally]" |
| | dialogueSentences | 98 | | tagDensity | 0.204 | | leniency | 0.408 | | rawRatio | 0.1 | | effectiveRatio | 0.041 | |
| 81.14% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1591 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "suddenly" | | 1 | "very" | | 2 | "softly" | | 3 | "slowly" |
| |
| 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) | |
| 37.15% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1591 | | totalAiIsms | 20 | | found | | | highlights | | 0 | "pulse" | | 1 | "silence" | | 2 | "flicked" | | 3 | "oppressive" | | 4 | "calculated" | | 5 | "perfect" | | 6 | "unspoken" | | 7 | "could feel" | | 8 | "weight" | | 9 | "tension" | | 10 | "roaring" | | 11 | "unreadable" | | 12 | "stomach" | | 13 | "trembled" |
| |
| 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 | 109 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 109 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 184 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 55 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 20 | | markdownWords | 21 | | totalWords | 1580 | | ratio | 0.013 | | matches | | 0 | "you" | | 1 | "Ptolemy" | | 2 | "chérie" | | 3 | "is" | | 4 | "employer" | | 5 | "chérie" | | 6 | "everything" | | 7 | "clink" | | 8 | "left" | | 9 | "Evan." | | 10 | "do" | | 11 | "promised" | | 12 | "fragile" | | 13 | "survive" | | 14 | "Evan Whitlock." | | 15 | "chérie" | | 16 | "anything" | | 17 | "want" | | 18 | "should" | | 19 | "Shit." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 12.43% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 54 | | wordCount | 945 | | uniqueNames | 5 | | maxNameDensity | 2.75 | | worstName | "Rory" | | maxWindowNameDensity | 4.5 | | worstWindowName | "Rory" | | discoveredNames | | Moreau | 1 | | Rory | 26 | | Lucien | 22 | | Eva | 2 | | Evan | 3 |
| | persons | | 0 | "Moreau" | | 1 | "Rory" | | 2 | "Lucien" | | 3 | "Eva" | | 4 | "Evan" |
| | places | (empty) | | globalScore | 0.124 | | windowScore | 0.167 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 70 | | glossingSentenceCount | 1 | | matches | | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1580 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 184 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 92 | | mean | 17.17 | | std | 15.55 | | cv | 0.905 | | sampleLengths | | 0 | 6 | | 1 | 61 | | 2 | 42 | | 3 | 5 | | 4 | 9 | | 5 | 39 | | 6 | 8 | | 7 | 46 | | 8 | 6 | | 9 | 40 | | 10 | 18 | | 11 | 10 | | 12 | 18 | | 13 | 27 | | 14 | 27 | | 15 | 64 | | 16 | 19 | | 17 | 12 | | 18 | 18 | | 19 | 4 | | 20 | 12 | | 21 | 11 | | 22 | 41 | | 23 | 3 | | 24 | 2 | | 25 | 3 | | 26 | 13 | | 27 | 41 | | 28 | 7 | | 29 | 2 | | 30 | 6 | | 31 | 14 | | 32 | 11 | | 33 | 3 | | 34 | 22 | | 35 | 12 | | 36 | 29 | | 37 | 32 | | 38 | 5 | | 39 | 8 | | 40 | 44 | | 41 | 10 | | 42 | 29 | | 43 | 4 | | 44 | 11 | | 45 | 21 | | 46 | 9 | | 47 | 3 | | 48 | 3 | | 49 | 12 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 109 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 173 | | matches | (empty) | |
| 49.69% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 184 | | ratio | 0.033 | | matches | | 0 | "Something dark and expensive—bergamot, leather, a hint of smoke." | | 1 | "\"Clearly.\" He adjusted his cufflinks—silver, engraved with something she couldn’t make out." | | 2 | "The cat—*Ptolemy*, she remembered—rubbed against Lucien’s leg again, tail flicking." | | 3 | "Instead, he wandered to the nearest bookshelf, running a finger along the spines of Eva’s research—tomes on folklore, demonology, obscure historical texts." | | 4 | "The memory slammed into her—Lucien’s hands gentle as he wiped blood from her split lip, his voice low and furious as he swore he’d kill Evan if he ever came near her again." | | 5 | "The words blurred at first, then sharpened into focus—a name." |
| |
| 94.69% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 955 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 44 | | adverbRatio | 0.04607329842931937 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.008376963350785341 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 184 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 184 | | mean | 8.59 | | std | 7.76 | | cv | 0.903 | | sampleLengths | | 0 | 6 | | 1 | 20 | | 2 | 30 | | 3 | 9 | | 4 | 2 | | 5 | 24 | | 6 | 18 | | 7 | 5 | | 8 | 6 | | 9 | 3 | | 10 | 4 | | 11 | 13 | | 12 | 14 | | 13 | 8 | | 14 | 3 | | 15 | 5 | | 16 | 36 | | 17 | 10 | | 18 | 3 | | 19 | 3 | | 20 | 12 | | 21 | 28 | | 22 | 10 | | 23 | 1 | | 24 | 4 | | 25 | 3 | | 26 | 8 | | 27 | 2 | | 28 | 18 | | 29 | 4 | | 30 | 14 | | 31 | 9 | | 32 | 22 | | 33 | 5 | | 34 | 11 | | 35 | 15 | | 36 | 18 | | 37 | 20 | | 38 | 19 | | 39 | 7 | | 40 | 5 | | 41 | 8 | | 42 | 10 | | 43 | 4 | | 44 | 3 | | 45 | 9 | | 46 | 11 | | 47 | 9 | | 48 | 15 | | 49 | 16 |
| |
| 47.10% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.31521739130434784 | | totalSentences | 184 | | uniqueOpeners | 58 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 99 | | matches | | 0 | "Then Lucien exhaled, slow and" | | 1 | "Instead, he wandered to the" | | 2 | "Then, slowly, he reached into" |
| | ratio | 0.03 | |
| 90.71% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 32 | | totalSentences | 99 | | matches | | 0 | "His platinum hair was slicked" | | 1 | "She didn’t move." | | 2 | "His gaze flicked past her," | | 3 | "He adjusted his cufflinks—silver, engraved" | | 4 | "His heterochromatic eyes gleamed, the" | | 5 | "She stepped back, just enough" | | 6 | "He moved with the kind" | | 7 | "he asked, though the way" | | 8 | "He tapped the cane against" | | 9 | "She turned away, busying herself" | | 10 | "She set the kettle down" | | 11 | "He didn’t answer right away." | | 12 | "His touch was light, almost" | | 13 | "he said finally" | | 14 | "He stepped closer, the scent" | | 15 | "His voice dropped, low and" | | 16 | "He reached out, brushing a" | | 17 | "His hand dropped, but his" | | 18 | "She didn’t flinch." | | 19 | "She set the mug down" |
| | ratio | 0.323 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 94 | | totalSentences | 99 | | matches | | 0 | "The deadbolt clicked like a" | | 1 | "Rory stood in the doorway," | | 2 | "The scent of curry from" | | 3 | "Something dark and expensive—bergamot, leather," | | 4 | "His platinum hair was slicked" | | 5 | "The ivory-handled cane in his" | | 6 | "Rory’s pulse hammered in her" | | 7 | "A beat of silence." | | 8 | "The kind that stretched too" | | 9 | "She didn’t move." | | 10 | "His gaze flicked past her," | | 11 | "Rory’s jaw tightened." | | 12 | "He adjusted his cufflinks—silver, engraved" | | 13 | "The cat—*Ptolemy*, she remembered—rubbed against" | | 14 | "Rory crossed her arms." | | 15 | "Lucien’s mouth twisted, not quite" | | 16 | "That got a reaction." | | 17 | "His heterochromatic eyes gleamed, the" | | 18 | "She stepped back, just enough" | | 19 | "Lucien inclined his head, the" |
| | ratio | 0.949 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 99 | | matches | (empty) | | ratio | 0 | |
| 91.84% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 28 | | technicalSentenceCount | 2 | | matches | | 0 | "His platinum hair was slicked back, just as she remembered, but the amber-and-black eyes that met hers were sharper than she’d ever seen them." | | 1 | "She snatched the paper from his fingers, unfolding it with shaking hands." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 5 | | matches | | 0 | "Lucien’s mouth twisted, not quite a smile" | | 1 | "His hand dropped, but his gaze burned" | | 2 | "She cut, her breath coming too fast" | | 3 | "He stepped, his voice a low rumble" | | 4 | "His hand cupped, his thumb brushing over her bottom lip" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 1 | | fancyTags | | 0 | "His thumb pressed (press)" |
| | dialogueSentences | 98 | | tagDensity | 0.041 | | leniency | 0.082 | | rawRatio | 0.25 | | effectiveRatio | 0.02 | |