| 82.35% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 1 | | adverbTags | | 0 | "He stepped aside [aside]" |
| | dialogueSentences | 17 | | tagDensity | 0.294 | | leniency | 0.588 | | rawRatio | 0.2 | | effectiveRatio | 0.118 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 888 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 77.48% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 888 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "flicked" | | 1 | "warmth" | | 2 | "gleaming" | | 3 | "throbbed" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 52 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 52 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 64 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 41 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 1 | | totalWords | 888 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 94.52% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 20 | | wordCount | 721 | | uniqueNames | 12 | | maxNameDensity | 1.11 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Quinn | 8 | | Tomás | 1 | | Herrera | 2 | | Chalk | 1 | | Farm | 1 | | Road | 1 | | Camden | 1 | | High | 1 | | Street | 1 | | Nest | 1 | | Silas | 1 | | Morris | 1 |
| | persons | | 0 | "Quinn" | | 1 | "Tomás" | | 2 | "Herrera" | | 3 | "Silas" | | 4 | "Morris" |
| | places | | 0 | "Chalk" | | 1 | "Farm" | | 2 | "Road" | | 3 | "Camden" | | 4 | "High" | | 5 | "Street" |
| | globalScore | 0.945 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 38 | | 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 | 888 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 64 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 26 | | mean | 34.15 | | std | 24.82 | | cv | 0.727 | | sampleLengths | | 0 | 70 | | 1 | 30 | | 2 | 54 | | 3 | 14 | | 4 | 58 | | 5 | 68 | | 6 | 46 | | 7 | 2 | | 8 | 9 | | 9 | 36 | | 10 | 4 | | 11 | 1 | | 12 | 62 | | 13 | 51 | | 14 | 3 | | 15 | 25 | | 16 | 91 | | 17 | 29 | | 18 | 24 | | 19 | 6 | | 20 | 32 | | 21 | 4 | | 22 | 22 | | 23 | 59 | | 24 | 55 | | 25 | 33 |
| |
| 91.77% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 52 | | matches | | 0 | "been peeled" | | 1 | "been paid" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 111 | | matches | (empty) | |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 0 | | semicolonCount | 0 | | flaggedSentences | 0 | | totalSentences | 64 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 721 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 20 | | adverbRatio | 0.027739251040221916 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.0013869625520110957 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 64 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 64 | | mean | 13.88 | | std | 9.45 | | cv | 0.681 | | sampleLengths | | 0 | 25 | | 1 | 23 | | 2 | 22 | | 3 | 16 | | 4 | 14 | | 5 | 3 | | 6 | 20 | | 7 | 31 | | 8 | 8 | | 9 | 6 | | 10 | 3 | | 11 | 33 | | 12 | 3 | | 13 | 19 | | 14 | 9 | | 15 | 14 | | 16 | 23 | | 17 | 22 | | 18 | 5 | | 19 | 15 | | 20 | 12 | | 21 | 14 | | 22 | 2 | | 23 | 9 | | 24 | 15 | | 25 | 4 | | 26 | 17 | | 27 | 4 | | 28 | 1 | | 29 | 15 | | 30 | 6 | | 31 | 41 | | 32 | 4 | | 33 | 21 | | 34 | 26 | | 35 | 3 | | 36 | 6 | | 37 | 19 | | 38 | 5 | | 39 | 13 | | 40 | 13 | | 41 | 37 | | 42 | 23 | | 43 | 6 | | 44 | 23 | | 45 | 6 | | 46 | 18 | | 47 | 6 | | 48 | 3 | | 49 | 16 |
| |
| 85.42% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.53125 | | totalSentences | 64 | | uniqueOpeners | 34 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 51 | | matches | | 0 | "Then a bus pulled out" | | 1 | "Somewhere to the north a" | | 2 | "Then she ducked her head," |
| | ratio | 0.059 | |
| 70.98% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 51 | | matches | | 0 | "She had him on the" | | 1 | "Her left wrist ached where" | | 2 | "Her voice bounced off the" | | 3 | "He glanced back." | | 4 | "He didn't answer." | | 5 | "He turned left, into a" | | 6 | "She stepped into the lane." | | 7 | "Her shoes slapped on the" | | 8 | "He grinned without warmth." | | 9 | "She did not raise her" | | 10 | "He glanced at the gap" | | 11 | "He stepped aside" | | 12 | "She thought about the Nest," | | 13 | "She thought about DS Morris," | | 14 | "Her wrist throbbed under the" | | 15 | "She set her jaw and" | | 16 | "He nodded at the fence" | | 17 | "It was cold and slick," | | 18 | "She could call it in." |
| | ratio | 0.373 | |
| 77.65% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 39 | | totalSentences | 51 | | matches | | 0 | "The rain had soaked through" | | 1 | "The green neon of a" | | 2 | "She had him on the" | | 3 | "Quinn pushed harder." | | 4 | "Her left wrist ached where" | | 5 | "Her voice bounced off the" | | 6 | "He glanced back." | | 7 | "He didn't answer." | | 8 | "He turned left, into a" | | 9 | "Quinn reached the mouth of" | | 10 | "Water pooled in the cracked" | | 11 | "A gap in the metal," | | 12 | "She stepped into the lane." | | 13 | "Her shoes slapped on the" | | 14 | "Halfway along, a shape detached" | | 15 | "Quinn said, and held up" | | 16 | "The boy's eyes flicked to" | | 17 | "He grinned without warmth." | | 18 | "Quinn took two steps closer" | | 19 | "She did not raise her" |
| | ratio | 0.765 | |
| 98.04% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 51 | | matches | | 0 | "Even in the sodium light" |
| | ratio | 0.02 | |
| 95.24% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 30 | | technicalSentenceCount | 2 | | matches | | 0 | "Even in the sodium light she caught the flash of his face, the sharp cut of his cheekbones, and the thin white scar that ran from wrist to elbow on his left arm…" | | 1 | "She thought about the Nest, the locked back room with its bookshelf door, and the three nights she'd spent watching Silas's regulars file in and out with that s…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 17 | | tagDensity | 0.118 | | leniency | 0.235 | | rawRatio | 0 | | effectiveRatio | 0 | |