| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 12 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said instead [instead]" |
| | dialogueSentences | 42 | | tagDensity | 0.286 | | leniency | 0.571 | | rawRatio | 0.083 | | effectiveRatio | 0.048 | |
| 89.02% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 911 | | 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) | |
| 72.56% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 911 | | totalAiIsms | 5 | | found | | | highlights | | 0 | "scanning" | | 1 | "familiar" | | 2 | "pulse" | | 3 | "silence" |
| |
| 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 | 26 | | matches | (empty) | |
| 87.91% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 26 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 56 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 39 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 909 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 17 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 7 | | wordCount | 530 | | uniqueNames | 4 | | maxNameDensity | 0.75 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Rory" | | discoveredNames | | | persons | | 0 | "Lucien" | | 1 | "Ptolemy" | | 2 | "Rory" | | 3 | "Eva" |
| | places | (empty) | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 25 | | 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 | 909 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 56 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 37 | | mean | 24.57 | | std | 17.38 | | cv | 0.707 | | sampleLengths | | 0 | 23 | | 1 | 36 | | 2 | 12 | | 3 | 28 | | 4 | 12 | | 5 | 5 | | 6 | 36 | | 7 | 30 | | 8 | 3 | | 9 | 15 | | 10 | 32 | | 11 | 45 | | 12 | 2 | | 13 | 4 | | 14 | 67 | | 15 | 7 | | 16 | 17 | | 17 | 44 | | 18 | 6 | | 19 | 19 | | 20 | 45 | | 21 | 22 | | 22 | 19 | | 23 | 1 | | 24 | 39 | | 25 | 15 | | 26 | 51 | | 27 | 5 | | 28 | 2 | | 29 | 35 | | 30 | 32 | | 31 | 36 | | 32 | 5 | | 33 | 20 | | 34 | 33 | | 35 | 53 | | 36 | 53 |
| |
| 91.77% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 26 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 93 | | matches | (empty) | |
| 40.82% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 2 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 56 | | ratio | 0.036 | | matches | | 0 | "Rory undid the first deadbolt, then the second, and paused with her hand on the third when she saw him through the gap—platinum hair catching the hallway light, cane resting against his leg like an afterthought." | | 1 | "\"Tell me about the break-in. But this—\" she gestured between them, sharp and final \"—we're not fixing this tonight.\"" |
| |
| 85.51% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 444 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 25 | | adverbRatio | 0.05630630630630631 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.02027027027027027 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 56 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 56 | | mean | 16.23 | | std | 10.71 | | cv | 0.66 | | sampleLengths | | 0 | 23 | | 1 | 36 | | 2 | 12 | | 3 | 28 | | 4 | 12 | | 5 | 5 | | 6 | 33 | | 7 | 3 | | 8 | 24 | | 9 | 6 | | 10 | 3 | | 11 | 15 | | 12 | 22 | | 13 | 10 | | 14 | 27 | | 15 | 18 | | 16 | 2 | | 17 | 4 | | 18 | 39 | | 19 | 28 | | 20 | 7 | | 21 | 13 | | 22 | 4 | | 23 | 16 | | 24 | 28 | | 25 | 6 | | 26 | 19 | | 27 | 28 | | 28 | 17 | | 29 | 14 | | 30 | 8 | | 31 | 19 | | 32 | 1 | | 33 | 29 | | 34 | 10 | | 35 | 10 | | 36 | 5 | | 37 | 29 | | 38 | 22 | | 39 | 5 | | 40 | 2 | | 41 | 35 | | 42 | 13 | | 43 | 19 | | 44 | 25 | | 45 | 11 | | 46 | 5 | | 47 | 16 | | 48 | 4 | | 49 | 31 |
| |
| 90.48% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.5535714285714286 | | totalSentences | 56 | | uniqueOpeners | 31 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 26 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 17 | | totalSentences | 26 | | matches | | 0 | "she said, but the bolt" | | 1 | "He set the cane against" | | 2 | "His jaw tightened, just barely," | | 3 | "She stopped herself, throat tight," | | 4 | "He took a step closer," | | 5 | "His voice dropped, quieter now," | | 6 | "She held his gaze, refusing" | | 7 | "He glanced past her, toward" | | 8 | "His eyes didn't waver from" | | 9 | "He reached up, slow, and" | | 10 | "She didn't answer that, because" | | 11 | "she said instead, stepping back" | | 12 | "she gestured between them, sharp" | | 13 | "He picked his cane back" | | 14 | "He allowed himself a small," | | 15 | "He settled into the chair" | | 16 | "She sat across from him," |
| | ratio | 0.654 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 26 | | totalSentences | 26 | | matches | | 0 | "The knock came three times," | | 1 | "Rory undid the first deadbolt," | | 2 | "she said, but the bolt" | | 3 | "Lucien stepped in without waiting" | | 4 | "He set the cane against" | | 5 | "Rory crossed her arms, hip" | | 6 | "His jaw tightened, just barely," | | 7 | "She stopped herself, throat tight," | | 8 | "He took a step closer," | | 9 | "His voice dropped, quieter now," | | 10 | "She held his gaze, refusing" | | 11 | "He glanced past her, toward" | | 12 | "The anger in her chest" | | 13 | "His eyes didn't waver from" | | 14 | "Rory's arms loosened slightly, though" | | 15 | "He reached up, slow, and" | | 16 | "She didn't answer that, because" | | 17 | "she said instead, stepping back" | | 18 | "she gestured between them, sharp" | | 19 | "He picked his cane back" |
| | ratio | 1 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 26 | | matches | (empty) | | ratio | 0 | |
| 87.91% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 13 | | technicalSentenceCount | 1 | | matches | | 0 | "She sat across from him, pulling the case file closer, aware of his eyes on her in that way that made her want to simultaneously throw him out and ask him to st…" |
| |
| 41.67% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 12 | | uselessAdditionCount | 2 | | matches | | 0 | "she said, but the bolt slid free anyway" | | 1 | "He set, and the cat gave him a look of deep betrayal before slinking under the sofa" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 42 | | tagDensity | 0.048 | | leniency | 0.095 | | rawRatio | 0 | | effectiveRatio | 0 | |