| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 22 | | tagDensity | 0.136 | | leniency | 0.273 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 88.48% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1302 | | totalAiIsmAdverbs | 3 | | found | | 0 | | adverb | "deliberately" | | count | 1 |
| | 1 | | | 2 | |
| | highlights | | 0 | "deliberately" | | 1 | "slightly" | | 2 | "slowly" |
| |
| 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) | |
| 69.28% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1302 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "weight" | | 1 | "perfect" | | 2 | "etched" | | 3 | "quivered" | | 4 | "magnetic" | | 5 | "traced" |
| |
| 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 | 50 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 50 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 69 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 74 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1302 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 24 | | wordCount | 677 | | uniqueNames | 6 | | maxNameDensity | 1.33 | | worstName | "Quinn" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Quinn" | | discoveredNames | | Harlow | 1 | | Quinn | 9 | | Tube | 1 | | Camden | 1 | | Briggs | 7 | | Eva | 5 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Briggs" | | 3 | "Eva" |
| | places | (empty) | | globalScore | 0.835 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 39 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.768 | | wordCount | 1302 | | matches | | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 69 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 27 | | mean | 48.22 | | std | 25.88 | | cv | 0.537 | | sampleLengths | | 0 | 91 | | 1 | 79 | | 2 | 25 | | 3 | 30 | | 4 | 7 | | 5 | 68 | | 6 | 32 | | 7 | 17 | | 8 | 21 | | 9 | 40 | | 10 | 25 | | 11 | 67 | | 12 | 11 | | 13 | 22 | | 14 | 33 | | 15 | 88 | | 16 | 72 | | 17 | 8 | | 18 | 82 | | 19 | 45 | | 20 | 53 | | 21 | 68 | | 22 | 74 | | 23 | 72 | | 24 | 53 | | 25 | 71 | | 26 | 48 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 50 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 100 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 0 | | semicolonCount | 5 | | flaggedSentences | 4 | | totalSentences | 69 | | ratio | 0.058 | | matches | | 0 | "The woman’s curly red hair kept falling forward; she tucked a strand behind her left ear and settled her round glasses higher on freckled cheeks as Quinn approached." | | 1 | "The needle inside did not rest on north; it angled toward the black mouth of the eastbound tunnel and quivered." | | 2 | "Her torch beam snagged tiny details: two scuffs of different sole patterns leading to the site, then only one set leaving; a faint white powder caught in the tile grout that did not match the dusting powder the techs used; the way the coat sleeve rode slightly higher on the right arm as if the wearer had raised it to examine something pressed to his chest in the moments before the blade went in." | | 3 | "The compass bag in her other hand twitched; the needle swung hard against the glass and locked on the same point." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 684 | | adjectiveStacks | 1 | | stackExamples | | 0 | "thin, hard-edged smear" |
| | adverbCount | 19 | | adverbRatio | 0.027777777777777776 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.008771929824561403 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 69 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 69 | | mean | 18.87 | | std | 17.33 | | cv | 0.919 | | sampleLengths | | 0 | 21 | | 1 | 10 | | 2 | 14 | | 3 | 15 | | 4 | 31 | | 5 | 11 | | 6 | 12 | | 7 | 28 | | 8 | 28 | | 9 | 25 | | 10 | 4 | | 11 | 26 | | 12 | 3 | | 13 | 4 | | 14 | 7 | | 15 | 12 | | 16 | 22 | | 17 | 27 | | 18 | 2 | | 19 | 7 | | 20 | 9 | | 21 | 14 | | 22 | 9 | | 23 | 8 | | 24 | 21 | | 25 | 5 | | 26 | 35 | | 27 | 5 | | 28 | 20 | | 29 | 7 | | 30 | 25 | | 31 | 5 | | 32 | 10 | | 33 | 20 | | 34 | 7 | | 35 | 4 | | 36 | 10 | | 37 | 12 | | 38 | 5 | | 39 | 28 | | 40 | 14 | | 41 | 74 | | 42 | 17 | | 43 | 55 | | 44 | 2 | | 45 | 6 | | 46 | 18 | | 47 | 64 | | 48 | 11 | | 49 | 34 |
| |
| 72.46% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 0 | | diversityRatio | 0.43478260869565216 | | totalSentences | 69 | | uniqueOpeners | 30 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 46 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 11 | | totalSentences | 46 | | matches | | 0 | "Her boots struck the descending" | | 1 | "She checked the worn leather" | | 2 | "She tracked the stain’s border" | | 3 | "She lifted the bag containing" | | 4 | "Her torch beam snagged tiny" | | 5 | "She pointed at the scattered" | | 6 | "She tucked hair behind her" | | 7 | "She pressed her palm flat" | | 8 | "She spoke without turning." | | 9 | "She crouched, bagged it herself," | | 10 | "She turned the sealed compass" |
| | ratio | 0.239 | |
| 25.22% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 40 | | totalSentences | 46 | | matches | | 0 | "Detective Harlow Quinn ducked under" | | 1 | "Her boots struck the descending" | | 2 | "Dust and the copper tang" | | 3 | "Work lights cast hard white" | | 4 | "She checked the worn leather" | | 5 | "The body lay midway along" | | 6 | "An array of bagged objects" | | 7 | "The woman’s curly red hair" | | 8 | "Eva shifted her weight." | | 9 | "Quinn cut across." | | 10 | "Briggs lifted the edge of" | | 11 | "A man in a dark" | | 12 | "The knife wound sat high" | | 13 | "Blood soaked the shirt front" | | 14 | "Military posture held even at" | | 15 | "She tracked the stain’s border" | | 16 | "Briggs nodded toward a grated" | | 17 | "Eva spoke from above her." | | 18 | "Briggs exhaled through his nose." | | 19 | "Quinn rose and turned to" |
| | ratio | 0.87 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 46 | | matches | (empty) | | ratio | 0 | |
| 44.33% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 29 | | technicalSentenceCount | 4 | | matches | | 0 | "She checked the worn leather watch on her left wrist, confirmed the time against the last radio update, and stepped past the clusters of white-suited forensic o…" | | 1 | "DI Briggs stood with his hands in his coat pockets, speaking in low tones to a much shorter woman who clutched a worn leather satchel against her side." | | 2 | "Her torch beam snagged tiny details: two scuffs of different sole patterns leading to the site, then only one set leaving; a faint white powder caught in the ti…" | | 3 | "She pressed her palm flat against a section of tile that looked identical to every other." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 22 | | tagDensity | 0.091 | | leniency | 0.182 | | rawRatio | 0 | | effectiveRatio | 0 | |