| 82.35% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 8 | | adverbTagCount | 1 | | adverbTags | | 0 | "she says finally [finally]" |
| | dialogueSentences | 17 | | tagDensity | 0.471 | | leniency | 0.941 | | rawRatio | 0.125 | | effectiveRatio | 0.118 | |
| 84.68% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 979 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "lightly" | | 1 | "slightly" | | 2 | "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) | |
| 38.71% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 979 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "silence" | | 1 | "footsteps" | | 2 | "pulse" | | 3 | "weight" | | 4 | "reminder" | | 5 | "tension" | | 6 | "flicker" |
| |
| 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 | 75 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 75 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 84 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 41 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 969 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 5 | | wordCount | 889 | | uniqueNames | 2 | | maxNameDensity | 0.34 | | worstName | "Aurora" | | maxWindowNameDensity | 0.5 | | worstWindowName | "Ptolemy" | | discoveredNames | | | persons | | | places | (empty) | | globalScore | 1 | | windowScore | 1 | |
| 60.71% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 56 | | glossingSentenceCount | 2 | | matches | | 0 | "as if testing whether the memory of pain still burns there" | | 1 | "as if accepting a truth he’d feared would never come" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 2.064 | | wordCount | 969 | | matches | | 0 | "not a kiss, not yet, but the promise of one" | | 1 | "not yet, but the promise of one" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 84 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 27 | | mean | 35.89 | | std | 24.38 | | cv | 0.679 | | sampleLengths | | 0 | 92 | | 1 | 52 | | 2 | 78 | | 3 | 10 | | 4 | 79 | | 5 | 42 | | 6 | 38 | | 7 | 64 | | 8 | 7 | | 9 | 43 | | 10 | 56 | | 11 | 16 | | 12 | 26 | | 13 | 8 | | 14 | 16 | | 15 | 35 | | 16 | 52 | | 17 | 10 | | 18 | 7 | | 19 | 11 | | 20 | 48 | | 21 | 44 | | 22 | 6 | | 23 | 5 | | 24 | 40 | | 25 | 45 | | 26 | 39 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 75 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 147 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 1 | | flaggedSentences | 8 | | totalSentences | 84 | | ratio | 0.095 | | matches | | 0 | "She hasn’t moved from the spot where she waited—shoulders squared, eyes sharp, the small crescent scar on her left wrist catching the glow like a secret." | | 1 | "She knows the sound; she’s heard it in dreams." | | 2 | "His hair is slicked back, platinum strands catching the gold of the sun, and his eyes—one amber, one black—find hers instantly." | | 3 | "“I had time to think.” His gaze drifts past her to the cluttered room—the stacks of parchment, the map pinned to the wall with pins that bleed red ink into the paper, the single chair pushed neatly beneath the desk." | | 4 | "His cologne—something dark, smoky, foreign—brushes her cheek." | | 5 | "The cat—Ptolemy—stirs on the windowsill, tail flicking, eyes narrowing at the tension coiling between them." | | 6 | "She studies him—the way his hair catches the light, the faint scar along his jawline, the way his eyes flicker to the map pinned to the wall." | | 7 | "His forehead presses against hers—not a kiss, not yet, but the promise of one." |
| |
| 99.03% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 900 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 37 | | adverbRatio | 0.04111111111111111 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.006666666666666667 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 84 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 84 | | mean | 11.54 | | std | 7.66 | | cv | 0.664 | | sampleLengths | | 0 | 19 | | 1 | 25 | | 2 | 22 | | 3 | 26 | | 4 | 9 | | 5 | 11 | | 6 | 17 | | 7 | 6 | | 8 | 9 | | 9 | 6 | | 10 | 24 | | 11 | 21 | | 12 | 27 | | 13 | 10 | | 14 | 3 | | 15 | 11 | | 16 | 40 | | 17 | 25 | | 18 | 13 | | 19 | 18 | | 20 | 7 | | 21 | 4 | | 22 | 21 | | 23 | 17 | | 24 | 6 | | 25 | 20 | | 26 | 11 | | 27 | 12 | | 28 | 15 | | 29 | 7 | | 30 | 20 | | 31 | 16 | | 32 | 7 | | 33 | 5 | | 34 | 15 | | 35 | 3 | | 36 | 22 | | 37 | 11 | | 38 | 11 | | 39 | 5 | | 40 | 14 | | 41 | 12 | | 42 | 3 | | 43 | 5 | | 44 | 7 | | 45 | 9 | | 46 | 5 | | 47 | 3 | | 48 | 8 | | 49 | 10 |
| |
| 47.62% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.2976190476190476 | | totalSentences | 84 | | uniqueOpeners | 25 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 73 | | matches | | 0 | "Instead, he tilts his head," | | 1 | "Instead, she reaches out, touches" | | 2 | "Somewhere below, a child laughs," | | 3 | "Then, slowly, he leans forward." | | 4 | "Somewhere in the distance, a" |
| | ratio | 0.068 | |
| 17.26% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 37 | | totalSentences | 73 | | matches | | 0 | "She hasn’t moved from the" | | 1 | "She hears the soft click" | | 2 | "Her pulse thrums once, then" | | 3 | "She knows the sound; she’s" | | 4 | "His hair is slicked back," | | 5 | "They hold the weight of" | | 6 | "she says, voice steady, though" | | 7 | "He doesn’t smile." | | 8 | "His gaze drifts past her" | | 9 | "It’s the same space where" | | 10 | "She closes the distance between" | | 11 | "His cologne—something dark, smoky, foreign—brushes" | | 12 | "She doesn’t move away." | | 13 | "he says, but the words" | | 14 | "His cane rests against the" | | 15 | "Her fingers twitch at her" | | 16 | "She wants to ask why" | | 17 | "She traces the seam where" | | 18 | "His thumb brushes the edge" | | 19 | "She remembers the way he" |
| | ratio | 0.507 | |
| 42.19% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 61 | | totalSentences | 73 | | matches | | 0 | "The door creaks open on" | | 1 | "Aurora stands in the threshold," | | 2 | "The late-morning light slants through" | | 3 | "She hasn’t moved from the" | | 4 | "The kettle hums somewhere down" | | 5 | "She hears the soft click" | | 6 | "Her pulse thrums once, then" | | 7 | "She knows the sound; she’s" | | 8 | "The door swings inward without" | | 9 | "Lucien steps through, coat brushing" | | 10 | "His hair is slicked back," | | 11 | "They hold the weight of" | | 12 | "she says, voice steady, though" | | 13 | "He doesn’t smile." | | 14 | "His gaze drifts past her" | | 15 | "It’s the same space where" | | 16 | "She closes the distance between" | | 17 | "The air smells of bergamot" | | 18 | "His cologne—something dark, smoky, foreign—brushes" | | 19 | "She doesn’t move away." |
| | ratio | 0.836 | |
| 68.49% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 73 | | matches | | 0 | "Now, the same eyes hold" |
| | ratio | 0.014 | |
| 86.47% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 38 | | technicalSentenceCount | 3 | | matches | | 0 | "The late-morning light slants through the narrow window above the sink, catching dust motes that drift like tiny planets around her head." | | 1 | "Lucien steps through, coat brushing the doorframe, the ivory handle of his cane catching the light like a promise he never meant to keep." | | 2 | "The touch is deliberate, careful, as if testing whether the memory of pain still burns there." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 8 | | uselessAdditionCount | 2 | | matches | | 0 | "she says, voice steady, though her throat tightens" | | 1 | "he says, but the words are already slipping away, replaced by the need to see her" |
| |
| 32.35% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 2 | | fancyTags | | 0 | "she murmurs (murmur)" | | 1 | "he whispers (whisper)" |
| | dialogueSentences | 17 | | tagDensity | 0.294 | | leniency | 0.588 | | rawRatio | 0.4 | | effectiveRatio | 0.235 | |