| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 8 | | tagDensity | 0.375 | | leniency | 0.75 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 88.79% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 892 | | totalAiIsmAdverbs | 2 | | found | | | highlights | | |
| 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) | |
| 10.31% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 892 | | totalAiIsms | 16 | | found | | | highlights | | 0 | "flicker" | | 1 | "chill" | | 2 | "tracing" | | 3 | "weight" | | 4 | "glint" | | 5 | "potential" | | 6 | "flicked" | | 7 | "familiar" | | 8 | "echoed" | | 9 | "etched" | | 10 | "reminder" | | 11 | "pulse" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 2 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
| | 1 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | 0 | "eyes narrowed" | | 1 | "hung thick in the air" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 52 | | matches | (empty) | |
| 32.97% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 1 | | narrationSentences | 52 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 57 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 31 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 890 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 94.24% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 21 | | wordCount | 807 | | uniqueNames | 7 | | maxNameDensity | 1.12 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Tomás | 7 | | Herrera | 1 | | Saint | 1 | | Christopher | 1 | | Raven | 1 | | Nest | 1 | | Quinn | 9 |
| | persons | | 0 | "Tomás" | | 1 | "Herrera" | | 2 | "Saint" | | 3 | "Christopher" | | 4 | "Quinn" |
| | places | | | globalScore | 0.942 | | windowScore | 1 | |
| 47.96% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 49 | | glossingSentenceCount | 2 | | matches | | 0 | "felt like a chess board, each move a po" | | 1 | "as if seeking comfort" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 890 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 57 | | matches | (empty) | |
| 96.74% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 22 | | mean | 40.45 | | std | 19.77 | | cv | 0.489 | | sampleLengths | | 0 | 79 | | 1 | 66 | | 2 | 90 | | 3 | 37 | | 4 | 9 | | 5 | 42 | | 6 | 13 | | 7 | 27 | | 8 | 41 | | 9 | 49 | | 10 | 57 | | 11 | 37 | | 12 | 18 | | 13 | 28 | | 14 | 26 | | 15 | 31 | | 16 | 55 | | 17 | 45 | | 18 | 34 | | 19 | 50 | | 20 | 34 | | 21 | 22 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 52 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 142 | | matches | (empty) | |
| 42.61% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 2 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 57 | | ratio | 0.035 | | matches | | 0 | "The clique’s whispers had reached her desk for months—rumors of off‑the‑books treatments, of patients who vanished after a night’s care." | | 1 | "A sudden clatter echoed from the far end of the alley—a metal lid rolling away, a distant shout muffled by the rain." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 809 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 16 | | adverbRatio | 0.019777503090234856 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.004944375772558714 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 57 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 57 | | mean | 15.61 | | std | 6.3 | | cv | 0.404 | | sampleLengths | | 0 | 12 | | 1 | 18 | | 2 | 20 | | 3 | 11 | | 4 | 18 | | 5 | 12 | | 6 | 16 | | 7 | 19 | | 8 | 19 | | 9 | 3 | | 10 | 25 | | 11 | 20 | | 12 | 29 | | 13 | 13 | | 14 | 11 | | 15 | 26 | | 16 | 9 | | 17 | 6 | | 18 | 19 | | 19 | 17 | | 20 | 13 | | 21 | 12 | | 22 | 15 | | 23 | 10 | | 24 | 31 | | 25 | 18 | | 26 | 18 | | 27 | 13 | | 28 | 17 | | 29 | 14 | | 30 | 26 | | 31 | 3 | | 32 | 12 | | 33 | 14 | | 34 | 8 | | 35 | 13 | | 36 | 5 | | 37 | 13 | | 38 | 15 | | 39 | 7 | | 40 | 19 | | 41 | 22 | | 42 | 9 | | 43 | 26 | | 44 | 29 | | 45 | 9 | | 46 | 17 | | 47 | 19 | | 48 | 16 | | 49 | 18 |
| |
| 42.98% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.2631578947368421 | | totalSentences | 57 | | uniqueOpeners | 15 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 52 | | matches | (empty) | | ratio | 0 | |
| 81.54% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 18 | | totalSentences | 52 | | matches | | 0 | "Her leather watch caught a" | | 1 | "Her jaw tightened, the sharp" | | 2 | "She had watched him slip" | | 3 | "She had lost her partner" | | 4 | "She pushed forward, her stride" | | 5 | "she called, voice low but" | | 6 | "He glanced over his shoulder," | | 7 | "She could see the rise" | | 8 | "They turned a corner onto" | | 9 | "He paused, listening." | | 10 | "She could hear his breathing," | | 11 | "He let out a short," | | 12 | "He lifted it, the bone" | | 13 | "He glanced back at her" | | 14 | "Her breath came in short" | | 15 | "She lifted her foot, the" | | 16 | "She did not look back." | | 17 | "She descended, the door sighing" |
| | ratio | 0.346 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 50 | | totalSentences | 52 | | matches | | 0 | "Quinn’s boots splashed through puddles" | | 1 | "The rain hammered the pavement" | | 2 | "Her leather watch caught a" | | 3 | "Salt‑and‑pepper hair clung to her" | | 4 | "Her jaw tightened, the sharp" | | 5 | "The dark curls of his" | | 6 | "The scar on his left" | | 7 | "The Saint Christopher medallion bounced" | | 8 | "Quinn’s eyes narrowed." | | 9 | "She had watched him slip" | | 10 | "The clique’s whispers had reached" | | 11 | "She had lost her partner" | | 12 | "She pushed forward, her stride" | | 13 | "The wind tugged at her" | | 14 | "she called, voice low but" | | 15 | "Tomás did not break his" | | 16 | "He glanced over his shoulder," | | 17 | "The rain blurred the space" | | 18 | "Quinn said, the words snapping" | | 19 | "Tomás’s lips curled, a humorless" |
| | ratio | 0.962 | |
| 96.15% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 52 | | matches | | 0 | "Now the city felt like" |
| | ratio | 0.019 | |
| 3.48% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 41 | | technicalSentenceCount | 8 | | matches | | 0 | "Her jaw tightened, the sharp line of it a mask against the chill that seeped into her coat." | | 1 | "She had watched him slip from the Raven’s Nest earlier, his steps hurried, his gaze darting to the alleys that coiled off the main thoroughfare." | | 2 | "The clique’s whispers had reached her desk for months—rumors of off‑the‑books treatments, of patients who vanished after a night’s care." | | 3 | "The wind tugged at her coat, threatening to unbalance her, but her bearing stayed rigid, each step planted with the precision of a soldier on patrol." | | 4 | "She could see the rise and fall of his chest, the way his breath came in short bursts, the way his hand slipped instinctively to the medallion as if seeking com…" | | 5 | "A flickering neon sign buzzed overhead, casting a jaundiced glow that made the rain look like molten metal." | | 6 | "Tomás ducked beneath a low archway, his boot splashing in a gutter that ran black with oil." | | 7 | "The mechanism gave a soft click, and the hidden door swung inward, revealing a stairwell that descended into darkness." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 3 | | matches | | 0 | "she called, voice low but edged with steel" | | 1 | "Quinn said, the words snapping like a whip" | | 2 | "Tomás said, voice barely audible over the storm" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 8 | | tagDensity | 0.375 | | leniency | 0.75 | | rawRatio | 0 | | effectiveRatio | 0 | |