| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 1 | | adverbTags | | 0 | "She stepped back [back]" |
| | dialogueSentences | 48 | | tagDensity | 0.104 | | leniency | 0.208 | | rawRatio | 0.2 | | effectiveRatio | 0.042 | |
| 88.38% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1291 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | |
| 80.00% | AI-ism character names | Target: 0 AI-default names (17 tracked, −20% each) | | codexExemptions | (empty) | | found | | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 92.25% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1291 | | 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 | 63 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 63 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 106 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 66 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1295 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 21 | | wordCount | 769 | | uniqueNames | 7 | | maxNameDensity | 0.91 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Tube | 1 | | Harlow | 1 | | Quinn | 7 | | Patel | 4 | | Ben | 1 | | Okonkwo | 6 | | Morris | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Patel" | | 3 | "Ben" | | 4 | "Okonkwo" | | 5 | "Morris" |
| | places | (empty) | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 41 | | 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 | 1295 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 106 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 62 | | mean | 20.89 | | std | 21.37 | | cv | 1.023 | | sampleLengths | | 0 | 67 | | 1 | 7 | | 2 | 34 | | 3 | 3 | | 4 | 19 | | 5 | 7 | | 6 | 75 | | 7 | 12 | | 8 | 31 | | 9 | 7 | | 10 | 12 | | 11 | 18 | | 12 | 17 | | 13 | 39 | | 14 | 20 | | 15 | 36 | | 16 | 22 | | 17 | 26 | | 18 | 11 | | 19 | 40 | | 20 | 7 | | 21 | 1 | | 22 | 37 | | 23 | 14 | | 24 | 5 | | 25 | 27 | | 26 | 1 | | 27 | 1 | | 28 | 4 | | 29 | 64 | | 30 | 8 | | 31 | 7 | | 32 | 43 | | 33 | 37 | | 34 | 6 | | 35 | 10 | | 36 | 14 | | 37 | 64 | | 38 | 6 | | 39 | 11 | | 40 | 6 | | 41 | 2 | | 42 | 3 | | 43 | 3 | | 44 | 13 | | 45 | 9 | | 46 | 21 | | 47 | 4 | | 48 | 1 | | 49 | 3 |
| |
| 88.55% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 63 | | matches | | 0 | "were threaded" | | 1 | "was meant" | | 2 | "was, crouched" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 126 | | matches | (empty) | |
| 35.04% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 106 | | ratio | 0.038 | | matches | | 0 | "Footprints cut through it — hers, Patel's, the forensics team's, the explorer's tread from earlier in the night." | | 1 | "The impressions in the dust were narrow, long-toed, and the weight distribution was strange — as though whoever made them walked on the balls of their feet without ever letting their heel come down." | | 2 | "Not blood — too dark, almost oily, and it drank the light instead of reflecting it." | | 3 | "The dead man stared up at the curved ceiling with his burst-capillary eyes, and Quinn crouched one more time and really looked at him — at the way his coat lay too flat across his chest, at the faint powder on his lips that wasn't drug residue, at the small mark on the inside of his left wrist that she'd mistaken, at first, for a birthmark." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 771 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 27 | | adverbRatio | 0.03501945525291829 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.00648508430609598 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 106 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 106 | | mean | 12.22 | | std | 11.42 | | cv | 0.935 | | sampleLengths | | 0 | 19 | | 1 | 17 | | 2 | 2 | | 3 | 11 | | 4 | 18 | | 5 | 7 | | 6 | 16 | | 7 | 18 | | 8 | 3 | | 9 | 19 | | 10 | 7 | | 11 | 6 | | 12 | 25 | | 13 | 13 | | 14 | 3 | | 15 | 28 | | 16 | 12 | | 17 | 5 | | 18 | 3 | | 19 | 23 | | 20 | 7 | | 21 | 12 | | 22 | 18 | | 23 | 17 | | 24 | 2 | | 25 | 8 | | 26 | 12 | | 27 | 17 | | 28 | 10 | | 29 | 10 | | 30 | 36 | | 31 | 22 | | 32 | 26 | | 33 | 11 | | 34 | 9 | | 35 | 31 | | 36 | 7 | | 37 | 1 | | 38 | 37 | | 39 | 5 | | 40 | 2 | | 41 | 7 | | 42 | 5 | | 43 | 2 | | 44 | 15 | | 45 | 10 | | 46 | 1 | | 47 | 1 | | 48 | 4 | | 49 | 12 |
| |
| 88.68% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.5660377358490566 | | totalSentences | 106 | | uniqueOpeners | 60 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 57 | | matches | | 0 | "Then he nodded, just once," | | 1 | "Then she stood up, and" |
| | ratio | 0.035 | |
| 37.54% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 26 | | totalSentences | 57 | | matches | | 0 | "She hadn't known the station" | | 1 | "His eyes were open and" | | 2 | "Her knees complained." | | 3 | "She pressed the back of" | | 4 | "She moved her torch slowly" | | 5 | "She paced a slow circle" | | 6 | "She paused at the dead" | | 7 | "They didn't lead out again." | | 8 | "She shone the torch at" | | 9 | "She stood and moved to" | | 10 | "Her torch caught something at" | | 11 | "She didn't touch it." | | 12 | "She didn't want to touch" | | 13 | "He joined her." | | 14 | "He saw the smear." | | 15 | "He saw nothing unusual." | | 16 | "He bent closer and drew" | | 17 | "His face did something complicated." | | 18 | "She stepped back" | | 19 | "Her voice didn't rise" |
| | ratio | 0.456 | |
| 56.49% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 46 | | totalSentences | 57 | | matches | | 0 | "The abandoned Tube station stank" | | 1 | "Detective Harlow Quinn ducked beneath" | | 2 | "A platform sign half-buried under" | | 3 | "She hadn't known the station" | | 4 | "DC Patel stood at the" | | 5 | "Patel led her along the" | | 6 | "The body lay just beyond" | | 7 | "His eyes were open and" | | 8 | "Quinn crouched beside the body." | | 9 | "Her knees complained." | | 10 | "She pressed the back of" | | 11 | "She moved her torch slowly" | | 12 | "Something snagged at her, a" | | 13 | "DS Ben Okonkwo came up" | | 14 | "Okonkwo crouched on the opposite" | | 15 | "Okonkwo looked at the corpse." | | 16 | "She paced a slow circle" | | 17 | "She paused at the dead" | | 18 | "Footprints cut through it —" | | 19 | "They didn't lead out again." |
| | ratio | 0.807 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 57 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 30 | | technicalSentenceCount | 6 | | matches | | 0 | "Behind him, the forensics team worked under portable floodlights that turned the curved ceiling into a bone-white dome." | | 1 | "Male, mid-thirties, expensive shoes, a coat that cost more than Quinn's monthly rent." | | 2 | "His eyes were open and fixed on the tiled ceiling, and the whites were threaded through with tiny red branches, as though every capillary had burst at once." | | 3 | "The impressions in the dust were narrow, long-toed, and the weight distribution was strange — as though whoever made them walked on the balls of their feet with…" | | 4 | "The dead man stared up at the curved ceiling with his burst-capillary eyes, and Quinn crouched one more time and really looked at him — at the way his coat lay …" | | 5 | "She turned her torch off and let the floodlights do their work from twenty feet away, and in the dimness she thought she saw, for half a second, the dust near t…" |
| |
| 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 | |