| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 14 | | adverbTagCount | 7 | | adverbTags | | 0 | "she said softly [softly]" | | 1 | "she said simply [simply]" | | 2 | "Silas said softly [softly]" | | 3 | "Her tone wavered just [just]" | | 4 | "she finally said [finally]" | | 5 | "Rory said softly [softly]" | | 6 | "Her voice cracked just [just]" |
| | dialogueSentences | 27 | | tagDensity | 0.519 | | leniency | 1 | | rawRatio | 0.5 | | effectiveRatio | 0.5 | |
| 45.45% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1100 | | totalAiIsmAdverbs | 12 | | found | | | highlights | | 0 | "softly" | | 1 | "slowly" | | 2 | "slightly" | | 3 | "carefully" | | 4 | "truly" | | 5 | "quickly" |
| |
| 100.00% | AI-ism character names | Target: 0 AI-default names (16 tracked, −20% each) | | codexExemptions | | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 0.00% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1100 | | totalAiIsms | 24 | | found | | | highlights | | 0 | "familiar" | | 1 | "flickered" | | 2 | "scanning" | | 3 | "pulse" | | 4 | "unreadable" | | 5 | "whisper" | | 6 | "flicked" | | 7 | "etched" | | 8 | "reminder" | | 9 | "unspoken" | | 10 | "weight" | | 11 | "wavered" | | 12 | "tracing" | | 13 | "silence" | | 14 | "flicker" | | 15 | "fleeting" | | 16 | "echoing" |
| |
| 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 | 59 | | matches | (empty) | |
| 94.43% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 59 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 72 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 40 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1088 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 13 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 15 | | wordCount | 796 | | uniqueNames | 6 | | maxNameDensity | 0.75 | | worstName | "Silas" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Silas" | | discoveredNames | | Carter | 1 | | Raven | 1 | | Nest | 1 | | Silas | 6 | | Necessary | 1 | | Rory | 5 |
| | persons | | 0 | "Carter" | | 1 | "Raven" | | 2 | "Silas" | | 3 | "Rory" |
| | places | (empty) | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 52 | | 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 | 1088 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 72 | | matches | (empty) | |
| 88.69% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 30 | | mean | 36.27 | | std | 16.7 | | cv | 0.46 | | sampleLengths | | 0 | 69 | | 1 | 1 | | 2 | 68 | | 3 | 40 | | 4 | 12 | | 5 | 62 | | 6 | 18 | | 7 | 38 | | 8 | 23 | | 9 | 47 | | 10 | 42 | | 11 | 27 | | 12 | 32 | | 13 | 54 | | 14 | 12 | | 15 | 25 | | 16 | 30 | | 17 | 47 | | 18 | 61 | | 19 | 24 | | 20 | 40 | | 21 | 46 | | 22 | 22 | | 23 | 33 | | 24 | 19 | | 25 | 37 | | 26 | 28 | | 27 | 35 | | 28 | 55 | | 29 | 41 |
| |
| 99.32% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 59 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 140 | | matches | | 0 | "was testing" | | 1 | "was sitting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 72 | | ratio | 0.083 | | matches | | 0 | "Aurora Carter pushed open the heavy door of The Raven’s Nest, the familiar scent of aged whiskey and old paper hitting her immediately—soothing, yet laced with an undercurrent of something darker." | | 1 | "His gaze flicked over her—shoulder-length black hair now slightly more tousled, sharper than she remembered, as if the years had etched their own stories into her face." | | 2 | "“Too long.” Her lips pressed into a thin line, memories rushing back—of shared secrets, of quiet companionship before the world had pulled them in different directions." | | 3 | "She’d come here tonight with a clear purpose, but now that she was sitting here, the purpose blurred—replaced by a need to understand how much had been lost." | | 4 | "Silas looked at her, a flicker of something unreadable in his eyes—regret, maybe, or longing." | | 5 | "A silent acknowledgment of the weight she carried—of all she’d escaped, and all she’d never quite escaped." |
| |
| 74.87% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 804 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small crescent-shaped scar" |
| | adverbCount | 46 | | adverbRatio | 0.05721393034825871 | | lyAdverbCount | 20 | | lyAdverbRatio | 0.024875621890547265 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 72 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 72 | | mean | 15.11 | | std | 8.25 | | cv | 0.546 | | sampleLengths | | 0 | 31 | | 1 | 15 | | 2 | 23 | | 3 | 1 | | 4 | 20 | | 5 | 20 | | 6 | 28 | | 7 | 7 | | 8 | 10 | | 9 | 23 | | 10 | 12 | | 11 | 8 | | 12 | 27 | | 13 | 27 | | 14 | 13 | | 15 | 5 | | 16 | 12 | | 17 | 26 | | 18 | 19 | | 19 | 4 | | 20 | 8 | | 21 | 18 | | 22 | 21 | | 23 | 12 | | 24 | 30 | | 25 | 7 | | 26 | 20 | | 27 | 7 | | 28 | 20 | | 29 | 2 | | 30 | 3 | | 31 | 15 | | 32 | 8 | | 33 | 31 | | 34 | 5 | | 35 | 7 | | 36 | 12 | | 37 | 13 | | 38 | 10 | | 39 | 8 | | 40 | 12 | | 41 | 7 | | 42 | 40 | | 43 | 17 | | 44 | 16 | | 45 | 28 | | 46 | 14 | | 47 | 10 | | 48 | 15 | | 49 | 25 |
| |
| 70.37% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.4305555555555556 | | totalSentences | 72 | | uniqueOpeners | 31 | |
| 59.52% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 56 | | matches | | 0 | "Somewhere upstairs, a clock ticked" |
| | ratio | 0.018 | |
| 5.71% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 30 | | totalSentences | 56 | | matches | | 0 | "She hesitated for a moment," | | 1 | "He sat with his back" | | 2 | "She hadn’t planned to come" | | 3 | "she said softly, her voice" | | 4 | "He turned slowly, hazel eyes" | | 5 | "His gaze flicked over her—shoulder—length" | | 6 | "he greeted, voice gravelly, a" | | 7 | "She took a cautious step" | | 8 | "Her lips pressed into a" | | 9 | "His hair was more streaked" | | 10 | "she said simply, and a" | | 11 | "She fidgeted with the bracelet" | | 12 | "He studied her, silent for" | | 13 | "She nodded never quite meeting" | | 14 | "Her tone wavered, just enough" | | 15 | "He took a long sip" | | 16 | "Her smile was hollow now." | | 17 | "He leaned back slightly, eyeing" | | 18 | "She hesitated, her fingers tracing" | | 19 | "she finally said, voice quieter" |
| | ratio | 0.536 | |
| 4.64% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 51 | | totalSentences | 56 | | matches | | 0 | "Aurora Carter pushed open the" | | 1 | "The neon sign flickered above," | | 2 | "She hesitated for a moment," | | 3 | "He sat with his back" | | 4 | "The limp in his left" | | 5 | "The air around him seemed" | | 6 | "Rory hesitated, then approached, her" | | 7 | "She hadn’t planned to come" | | 8 | "she said softly, her voice" | | 9 | "He turned slowly, hazel eyes" | | 10 | "His gaze flicked over her—shoulder—length" | | 11 | "The small crescent-shaped scar on" | | 12 | "he greeted, voice gravelly, a" | | 13 | "She took a cautious step" | | 14 | "Her lips pressed into a" | | 15 | "Silas pushed aside a mug" | | 16 | "Rory sank into the seat," | | 17 | "His hair was more streaked" | | 18 | "The years had carved deep" | | 19 | "she said simply, and a" |
| | ratio | 0.911 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 56 | | matches | (empty) | | ratio | 0 | |
| 68.97% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 29 | | technicalSentenceCount | 3 | | matches | | 0 | "The limp in his left leg was subtle but noticeable, a ghost of old injury that had never quite vanished." | | 1 | "His gaze flicked over her—shoulder-length black hair now slightly more tousled, sharper than she remembered, as if the years had etched their own stories into h…" | | 2 | "She reached out, her fingers brushing his in a faint, almost trembling grasp." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 14 | | uselessAdditionCount | 4 | | matches | | 0 | "she said softly, her voice breaking the quiet like a whisper" | | 1 | "he greeted, voice gravelly, a hint of surprise lingering beneath the calm" | | 2 | "she finally said, voice quieter" | | 3 | "He paused, lips pressing into a thin line" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 1 | | fancyTags | | 0 | "Her lips pressed (press)" |
| | dialogueSentences | 27 | | tagDensity | 0.259 | | leniency | 0.519 | | rawRatio | 0.143 | | effectiveRatio | 0.074 | |