| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 12 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 91.93% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1239 | | 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) | |
| 31.40% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1239 | | totalAiIsms | 17 | | found | | | highlights | | 0 | "loomed" | | 1 | "pulsed" | | 2 | "familiar" | | 3 | "traced" | | 4 | "footsteps" | | 5 | "sanctuary" | | 6 | "perfect" | | 7 | "pulse" | | 8 | "quickened" | | 9 | "warmth" | | 10 | "could feel" | | 11 | "weight" |
| |
| 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 | 103 | | matches | (empty) | |
| 87.38% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 4 | | narrationSentences | 103 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 111 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 36 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1237 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 19 | | wordCount | 1188 | | uniqueNames | 7 | | maxNameDensity | 0.84 | | worstName | "Aurora" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Aurora" | | discoveredNames | | Richmond | 2 | | Park | 2 | | Heartstone | 1 | | Isolde | 1 | | Eva | 2 | | Yu-Fei | 1 | | Aurora | 10 |
| | persons | | | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Isolde" |
| | globalScore | 1 | | windowScore | 1 | |
| 79.58% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 71 | | glossingSentenceCount | 2 | | matches | | 0 | "quite hear" | | 1 | "felt like minutes and emerging to find" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1237 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 111 | | matches | | 0 | "learned that the" | | 1 | "knew that name" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 45 | | mean | 27.49 | | std | 21.15 | | cv | 0.77 | | sampleLengths | | 0 | 38 | | 1 | 5 | | 2 | 51 | | 3 | 16 | | 4 | 46 | | 5 | 60 | | 6 | 48 | | 7 | 7 | | 8 | 34 | | 9 | 7 | | 10 | 50 | | 11 | 6 | | 12 | 50 | | 13 | 18 | | 14 | 3 | | 15 | 23 | | 16 | 9 | | 17 | 41 | | 18 | 1 | | 19 | 42 | | 20 | 8 | | 21 | 51 | | 22 | 1 | | 23 | 40 | | 24 | 2 | | 25 | 43 | | 26 | 4 | | 27 | 11 | | 28 | 64 | | 29 | 6 | | 30 | 22 | | 31 | 10 | | 32 | 45 | | 33 | 24 | | 34 | 2 | | 35 | 59 | | 36 | 48 | | 37 | 8 | | 38 | 38 | | 39 | 61 | | 40 | 9 | | 41 | 1 | | 42 | 57 | | 43 | 55 | | 44 | 13 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 103 | | matches | (empty) | |
| 95.29% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 191 | | matches | | 0 | "was going" | | 1 | "were bending" | | 2 | "was bleeding" |
| |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 0 | | semicolonCount | 0 | | flaggedSentences | 0 | | totalSentences | 111 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1190 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 47 | | adverbRatio | 0.03949579831932773 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.005042016806722689 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 111 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 111 | | mean | 11.14 | | std | 8.49 | | cv | 0.761 | | sampleLengths | | 0 | 19 | | 1 | 19 | | 2 | 5 | | 3 | 14 | | 4 | 3 | | 5 | 3 | | 6 | 31 | | 7 | 11 | | 8 | 5 | | 9 | 6 | | 10 | 25 | | 11 | 15 | | 12 | 4 | | 13 | 28 | | 14 | 9 | | 15 | 1 | | 16 | 1 | | 17 | 17 | | 18 | 8 | | 19 | 36 | | 20 | 4 | | 21 | 7 | | 22 | 3 | | 23 | 13 | | 24 | 2 | | 25 | 1 | | 26 | 15 | | 27 | 7 | | 28 | 3 | | 29 | 14 | | 30 | 11 | | 31 | 22 | | 32 | 6 | | 33 | 9 | | 34 | 4 | | 35 | 20 | | 36 | 17 | | 37 | 5 | | 38 | 2 | | 39 | 2 | | 40 | 9 | | 41 | 3 | | 42 | 13 | | 43 | 10 | | 44 | 6 | | 45 | 3 | | 46 | 3 | | 47 | 24 | | 48 | 3 | | 49 | 11 |
| |
| 66.07% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.45045045045045046 | | totalSentences | 111 | | uniqueOpeners | 50 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 91 | | matches | | 0 | "Away from her." | | 1 | "Away from whatever had stepped" | | 2 | "Slowly, with the grinding reluctance" | | 3 | "Somewhere in the distance, an" |
| | ratio | 0.044 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 17 | | totalSentences | 91 | | matches | | 0 | "She shouldn't have come alone." | | 1 | "she muttered, stepping between the" | | 2 | "Their petals caught impossible light," | | 3 | "She'd learned that the hard" | | 4 | "She should leave." | | 5 | "Her feet carried her forward" | | 6 | "She spun around." | | 7 | "Her voice came out wrong." | | 8 | "She didn't turn." | | 9 | "Her body had locked itself" | | 10 | "She could feel its attention" | | 11 | "It wore darkness like a" | | 12 | "It didn't need to." | | 13 | "She could feel it everywhere" | | 14 | "She burst through the grove's" | | 15 | "Its hollow trunk now gaped" | | 16 | "She made it to the" |
| | ratio | 0.187 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 64 | | totalSentences | 91 | | matches | | 0 | "The standing stones loomed darker" | | 1 | "Aurora pressed her palm against" | | 2 | "She shouldn't have come alone." | | 3 | "The Heartstone pendant pulsed against" | | 4 | "Something else entirely, something that" | | 5 | "she muttered, stepping between the" | | 6 | "The wildflowers should have been" | | 7 | "February frost had crusted the" | | 8 | "Their petals caught impossible light," | | 9 | "Time moved differently here." | | 10 | "She'd learned that the hard" | | 11 | "Tonight she'd told no one" | | 12 | "The grove stretched before her," | | 13 | "The same circle of standing" | | 14 | "The flowers were bending the" | | 15 | "Aurora froze mid-step." | | 16 | "Every stem, every petal, every" | | 17 | "The pendant burned cold against" | | 18 | "She should leave." | | 19 | "Her feet carried her forward" |
| | ratio | 0.703 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 91 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 10 | | matches | | 0 | "The Heartstone pendant pulsed against her collarbone, a rhythm that matched nothing in nature." | | 1 | "Something else entirely, something that had been calling to her for three nights straight, dragging her from fitful sleep with dreams of crimson light and whisp…" | | 2 | "But the pendant's pull had grown unbearable, a hook beneath her ribs that wouldn't let her rest." | | 3 | "The same circle of standing stones she'd visited a dozen times, the same carpet of impossible blooms, the same ancient oak at the centre with its hollow trunk t…" | | 4 | "Make deliveries for Yu-Fei, eat too much leftover char siu, sleep in a bed that didn't smell of lavender and old magic." | | 5 | "Thin and distant, as if the grove had stretched itself around her, pushing the air itself further away." | | 6 | "She could feel its attention like a physical weight, a pressure against her skull that made her vision swim at the edges." | | 7 | "The words slithered past her ear, carried on breath that smelled of copper and cold earth." | | 8 | "It wore darkness like a cloak, vaguely human in shape but wrong in proportion, limbs too long, joints bending in directions that made her eyes water." | | 9 | "She could feel it everywhere now, in the shadows between the stones, in the darkness pooling at her feet, in the cold weight of the pendant that had led her her…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 66.67% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 12 | | tagDensity | 0.083 | | leniency | 0.167 | | rawRatio | 1 | | effectiveRatio | 0.167 | |