| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 79.34% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 242 | | totalAiIsmAdverbs | 1 | | found | | | highlights | | |
| 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) | |
| 58.68% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 242 | | totalAiIsms | 2 | | found | | | highlights | | |
| 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 | 11 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 11 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 11 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 47 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 240 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 1 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 7 | | wordCount | 240 | | uniqueNames | 6 | | maxNameDensity | 0.83 | | worstName | "Silas" | | maxWindowNameDensity | 1 | | worstWindowName | "Silas" | | discoveredNames | | London | 1 | | Raven | 1 | | Nest | 1 | | Silas | 2 | | Kennington | 1 | | Thursday | 1 |
| | persons | | | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 11 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 4.167 | | wordCount | 240 | | matches | | 0 | "neither committed to downpour nor" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 11 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 4 | | mean | 0 | | std | 0 | | cv | 0 | | sampleLengths | | |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 11 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 34 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 2 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 11 | | ratio | 0.182 | | matches | | 0 | "The green neon sign buzzed overhead, casting its familiar glow across the wet pavement, and for the hundredth time she felt the odd comfort of this place—its dim corners and smoke-stained walls, the old maps that Silas had collected from estate sales and forgotten attics." | | 1 | "Silas wasn't behind the bar—probably in the back, maybe in the hidden room she'd discovered three months into living upstairs, maybe just doing inventory." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 245 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 7 | | adverbRatio | 0.02857142857142857 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.012244897959183673 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 11 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 11 | | mean | 21.82 | | std | 12.79 | | cv | 0.586 | | sampleLengths | | 0 | 18 | | 1 | 26 | | 2 | 45 | | 3 | 6 | | 4 | 37 | | 5 | 12 | | 6 | 7 | | 7 | 24 | | 8 | 24 | | 9 | 6 | | 10 | 35 |
| |
| 90.91% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.6363636363636364 | | totalSentences | 11 | | uniqueOpeners | 7 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 11 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 3 | | totalSentences | 11 | | matches | | 0 | "She was early for her" | | 1 | "She knew better than to" | | 2 | "She ordered a tea from" |
| | ratio | 0.273 | |
| 50.91% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 9 | | totalSentences | 11 | | matches | | 0 | "The rain had been falling" | | 1 | "Rory wiped her hands on" | | 2 | "The green neon sign buzzed" | | 3 | "She was early for her" | | 4 | "Yu-Fei had cut her deliveries" | | 5 | "The bar was quiet for" | | 6 | "Silas wasn't behind the bar—probably" | | 7 | "She knew better than to" | | 8 | "She ordered a tea from" |
| | ratio | 0.818 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 11 | | matches | | 0 | "Now she just wanted to" |
| | ratio | 0.091 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 8 | | technicalSentenceCount | 0 | | matches | (empty) | |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |