| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 1 | | adverbTags | | 0 | "Kowalski said quietly [quietly]" |
| | dialogueSentences | 34 | | tagDensity | 0.441 | | leniency | 0.882 | | rawRatio | 0.067 | | effectiveRatio | 0.059 | |
| 72.33% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1265 | | totalAiIsmAdverbs | 7 | | found | | | highlights | | 0 | "precisely" | | 1 | "quickly" | | 2 | "carefully" | | 3 | "slowly" | | 4 | "very" |
| |
| 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) | |
| 76.28% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1265 | | totalAiIsms | 6 | | 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 | 68 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 68 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 85 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 57 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1256 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 99.66% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 26 | | wordCount | 894 | | uniqueNames | 9 | | maxNameDensity | 1.01 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Tube | 1 | | Camden | 1 | | Harlow | 1 | | Quinn | 9 | | Thames | 1 | | Reyes | 4 | | Kowalski | 6 | | Morris | 2 | | Eva | 1 |
| | persons | | 0 | "Camden" | | 1 | "Harlow" | | 2 | "Quinn" | | 3 | "Reyes" | | 4 | "Kowalski" | | 5 | "Morris" | | 6 | "Eva" |
| | places | | | globalScore | 0.997 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 36 | | 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 | 1256 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 85 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 35 | | mean | 35.89 | | std | 31.43 | | cv | 0.876 | | sampleLengths | | 0 | 12 | | 1 | 78 | | 2 | 9 | | 3 | 26 | | 4 | 43 | | 5 | 103 | | 6 | 3 | | 7 | 59 | | 8 | 3 | | 9 | 24 | | 10 | 76 | | 11 | 24 | | 12 | 65 | | 13 | 10 | | 14 | 19 | | 15 | 81 | | 16 | 9 | | 17 | 59 | | 18 | 2 | | 19 | 60 | | 20 | 83 | | 21 | 43 | | 22 | 6 | | 23 | 105 | | 24 | 5 | | 25 | 69 | | 26 | 3 | | 27 | 50 | | 28 | 8 | | 29 | 11 | | 30 | 4 | | 31 | 35 | | 32 | 8 | | 33 | 52 | | 34 | 9 |
| |
| 89.78% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 68 | | matches | | 0 | "was arranged" | | 1 | "been dipped" | | 2 | "been lied" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 152 | | matches | | 0 | "was watching" | | 1 | "was still growing" |
| |
| 8.40% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 85 | | ratio | 0.047 | | matches | | 0 | "She filed the detail away the way she filed everything—precisely, without comment—and let the beam continue its descent." | | 1 | "The salt smell was strongest here, rising off him, and there—on the lapel, near the throat—a faint white crust she'd taken for lint." | | 2 | "She thought, unbidden, of Morris—of DS Morris three years gone, of a case file that ended in a room that smelled wrong and a partner who walked through a door and did not walk back, and of the report she'd written that had explained none of it because the truth had no box on the form." | | 3 | "No pooling at all, front or back—which meant the lividity she'd seen through the coat was not lividity, was not blood settling under gravity, was something else entirely, painted on or seeped in, a pattern that mimicked death's chemistry without obeying its rules." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 905 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 35 | | adverbRatio | 0.03867403314917127 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.009944751381215469 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 85 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 85 | | mean | 14.78 | | std | 13.98 | | cv | 0.946 | | sampleLengths | | 0 | 12 | | 1 | 30 | | 2 | 1 | | 3 | 29 | | 4 | 18 | | 5 | 9 | | 6 | 17 | | 7 | 9 | | 8 | 32 | | 9 | 11 | | 10 | 2 | | 11 | 13 | | 12 | 5 | | 13 | 37 | | 14 | 35 | | 15 | 3 | | 16 | 6 | | 17 | 2 | | 18 | 3 | | 19 | 10 | | 20 | 49 | | 21 | 3 | | 22 | 24 | | 23 | 3 | | 24 | 9 | | 25 | 1 | | 26 | 23 | | 27 | 5 | | 28 | 2 | | 29 | 1 | | 30 | 32 | | 31 | 16 | | 32 | 8 | | 33 | 19 | | 34 | 2 | | 35 | 24 | | 36 | 20 | | 37 | 7 | | 38 | 3 | | 39 | 11 | | 40 | 8 | | 41 | 24 | | 42 | 44 | | 43 | 2 | | 44 | 1 | | 45 | 4 | | 46 | 6 | | 47 | 9 | | 48 | 11 | | 49 | 35 |
| |
| 88.24% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.5647058823529412 | | totalSentences | 85 | | uniqueOpeners | 48 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 52 | | matches | | 0 | "Then she leaned in past" | | 1 | "Slowly, in the cold torchlight," |
| | ratio | 0.038 | |
| 81.54% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 18 | | totalSentences | 52 | | matches | | 0 | "She filed the detail away" | | 1 | "He lay on his back" | | 2 | "It was fear." | | 3 | "She let her torch travel" | | 4 | "She leaned in without touching." | | 5 | "She rose and turned in" | | 6 | "She looked at the dead" | | 7 | "She tilted her head" | | 8 | "She pointed, not touching, at" | | 9 | "She thought, unbidden, of Morris—of" | | 10 | "She had spent three years" | | 11 | "It had smelled like salt." | | 12 | "Her hand had gone to" | | 13 | "She made herself stop." | | 14 | "She made herself breathe." | | 15 | "She was watching the salt" | | 16 | "It was still growing." | | 17 | "She straightened her coat, squared" |
| | ratio | 0.346 | |
| 75.38% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 40 | | totalSentences | 52 | | matches | | 0 | "The abandoned Tube station beneath" | | 1 | "Detective Harlow Quinn stood at" | | 2 | "Brine, almost, the way the" | | 3 | "She filed the detail away" | | 4 | "The body lay at the" | | 5 | "Constable Reyes hovered two treads" | | 6 | "Quinn went down anyway, her" | | 7 | "He lay on his back" | | 8 | "It was fear." | | 9 | "Quinn said nothing." | | 10 | "She let her torch travel" | | 11 | "The salt smell was strongest" | | 12 | "She leaned in without touching." | | 13 | "A bloom of it, fine" | | 14 | "A different voice now, behind" | | 15 | "She rose and turned in" | | 16 | "The woman pushed a curl" | | 17 | "Reyes had the grace to" | | 18 | "The woman descended the last" | | 19 | "She looked at the dead" |
| | ratio | 0.769 | |
| 96.15% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 52 | | matches | | 0 | "Because the lividity said hours" |
| | ratio | 0.019 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 23 | | technicalSentenceCount | 5 | | matches | | 0 | "Mid-forties, expensive coat, the soft hands of someone who had never worked them." | | 1 | "No blood, which was the first thing wrong, because the body was arranged at the foot of a thirty-step iron staircase and a fall like that left a man broken and …" | | 2 | "She thought, unbidden, of Morris—of DS Morris three years gone, of a case file that ended in a room that smelled wrong and a partner who walked through a door a…" | | 3 | "No pooling at all, front or back—which meant the lividity she'd seen through the coat was not lividity, was not blood settling under gravity, was something else…" | | 4 | "She straightened her coat, squared her shoulders the way the army had taught her, and looked at the impossible thing on the floor with the flat, furious patienc…" |
| |
| 58.33% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 2 | | matches | | 0 | "The woman descended, her eyes going to it and then quickly away" | | 1 | "She pointed, not touching, at the crystalline bloom" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 1 | | fancyTags | | 0 | "Kowalski whispered (whisper)" |
| | dialogueSentences | 34 | | tagDensity | 0.176 | | leniency | 0.353 | | rawRatio | 0.167 | | effectiveRatio | 0.059 | |