| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 10 | | adverbTagCount | 3 | | adverbTags | | 0 | "own torch trembling slightly [slightly]" | | 1 | "she said slowly [slowly]" | | 2 | "Quinn crouched again [again]" |
| | dialogueSentences | 23 | | tagDensity | 0.435 | | leniency | 0.87 | | rawRatio | 0.3 | | effectiveRatio | 0.261 | |
| 77.68% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1120 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "slightly" | | 1 | "gently" | | 2 | "slowly" | | 3 | "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) | |
| 86.61% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1120 | | totalAiIsms | 3 | | found | | | highlights | | 0 | "perfect" | | 1 | "etched" | | 2 | "absolutely" |
| |
| 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 | 48 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 48 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 60 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 83 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1126 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 17 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.43% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 28 | | wordCount | 718 | | uniqueNames | 12 | | maxNameDensity | 1.67 | | worstName | "Quinn" | | maxWindowNameDensity | 3 | | worstWindowName | "Quinn" | | discoveredNames | | Tube | 1 | | Quinn | 12 | | Town | 1 | | Morris | 2 | | Denholm | 1 | | Priya | 1 | | Nandframed | 5 | | Bloomsbury | 1 | | Police | 1 | | Criminal | 1 | | Evidence | 1 | | Act | 1 |
| | persons | | 0 | "Quinn" | | 1 | "Morris" | | 2 | "Nandframed" |
| | places | | 0 | "Town" | | 1 | "Bloomsbury" | | 2 | "Police" | | 3 | "Evidence" |
| | globalScore | 0.664 | | windowScore | 0.667 | |
| 11.11% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 36 | | glossingSentenceCount | 2 | | matches | | 0 | "looked like that" | | 1 | "looked like bone gone the color of old iv" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.888 | | wordCount | 1126 | | matches | | 0 | "not in the loose slackness of death but gripped tight around something" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 60 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 25 | | mean | 45.04 | | std | 31.91 | | cv | 0.708 | | sampleLengths | | 0 | 47 | | 1 | 69 | | 2 | 35 | | 3 | 2 | | 4 | 9 | | 5 | 82 | | 6 | 34 | | 7 | 31 | | 8 | 24 | | 9 | 68 | | 10 | 3 | | 11 | 78 | | 12 | 38 | | 13 | 84 | | 14 | 10 | | 15 | 70 | | 16 | 6 | | 17 | 54 | | 18 | 5 | | 19 | 110 | | 20 | 29 | | 21 | 86 | | 22 | 5 | | 23 | 81 | | 24 | 66 |
| |
| 68.71% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 48 | | matches | | 0 | "been closed" | | 1 | "been scorched" | | 2 | "been fired" | | 3 | "were curled" | | 4 | "been solved" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 133 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 60 | | ratio | 0.067 | | matches | | 0 | "Except it wasn't a coin — too light, the wrong color, carved from something that looked like bone gone the color of old ivory, etched with symbols she didn't recognize but had absolutely, unmistakably seen before." | | 1 | "She'd seen that mark once before too — scratched into the doorframe of the flat where Morris had died." | | 2 | "\"No drag marks. No disturbance to the char pattern at the edges, which you'd expect if a body had been moved across it after the tile cooled. He arrived already dead, and something opened right where he's lying and put him down gently enough not to disturb the burn.\" Quinn crouched again, this time examining the air above the body, though there was nothing to see — only the faint dizzy wrongness she'd learned, against every instinct her training had given her, to trust." | | 3 | "She looked once more at the dead man's face, at that terrible, luminous wonder frozen into his features, and thought — not for the first time, and not, she suspected, for the last — of a redheaded woman she'd seen twice now near two separate scenes just like this one, always at the edge of the tape, always gone before anyone thought to ask her name." |
| |
| 87.83% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 716 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 37 | | adverbRatio | 0.051675977653631286 | | lyAdverbCount | 16 | | lyAdverbRatio | 0.0223463687150838 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 60 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 60 | | mean | 18.77 | | std | 18.16 | | cv | 0.968 | | sampleLengths | | 0 | 18 | | 1 | 29 | | 2 | 20 | | 3 | 29 | | 4 | 6 | | 5 | 14 | | 6 | 18 | | 7 | 17 | | 8 | 2 | | 9 | 3 | | 10 | 6 | | 11 | 31 | | 12 | 3 | | 13 | 1 | | 14 | 18 | | 15 | 29 | | 16 | 7 | | 17 | 13 | | 18 | 14 | | 19 | 6 | | 20 | 25 | | 21 | 24 | | 22 | 6 | | 23 | 15 | | 24 | 3 | | 25 | 2 | | 26 | 17 | | 27 | 5 | | 28 | 11 | | 29 | 9 | | 30 | 3 | | 31 | 45 | | 32 | 33 | | 33 | 12 | | 34 | 16 | | 35 | 10 | | 36 | 2 | | 37 | 36 | | 38 | 3 | | 39 | 43 | | 40 | 10 | | 41 | 8 | | 42 | 16 | | 43 | 19 | | 44 | 9 | | 45 | 1 | | 46 | 17 | | 47 | 6 | | 48 | 10 | | 49 | 44 |
| |
| 93.33% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.6 | | totalSentences | 60 | | uniqueOpeners | 36 | |
| 75.76% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 44 | | matches | | 0 | "Unofficially, Quinn had learned over" |
| | ratio | 0.023 | |
| 74.55% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 16 | | totalSentences | 44 | | matches | | 0 | "She ducked under the crime" | | 1 | "She'd stopped saying that thought" | | 2 | "It made people look at" | | 3 | "He didn't answer." | | 4 | "He just gestured toward the" | | 5 | "She moved closer to the" | | 6 | "His eyes were open, fixed" | | 7 | "It was closer to wonder." | | 8 | "She had never seen one" | | 9 | "His fingers were curled, not" | | 10 | "She snapped on a glove," | | 11 | "She'd seen that mark once" | | 12 | "She'd spent three years telling" | | 13 | "She was done telling herself" | | 14 | "she said slowly, standing, joints" | | 15 | "She looked once more at" |
| | ratio | 0.364 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 31 | | totalSentences | 44 | | matches | | 0 | "The abandoned Tube station smelled" | | 1 | "She ducked under the crime" | | 2 | "Camden Town station had been" | | 3 | "She'd stopped saying that thought" | | 4 | "It made people look at" | | 5 | "PC Denholm was waiting at" | | 6 | "He didn't answer." | | 7 | "He just gestured toward the" | | 8 | "The body lay in the" | | 9 | "Quinn crouched at the edge" | | 10 | "DS Priya Nandframed herself in" | | 11 | "Quinn didn't look up" | | 12 | "She moved closer to the" | | 13 | "His eyes were open, fixed" | | 14 | "It was closer to wonder." | | 15 | "Quinn had seen a lot" | | 16 | "She had never seen one" | | 17 | "Quinn nodded toward the man's" | | 18 | "His fingers were curled, not" | | 19 | "She snapped on a glove," |
| | ratio | 0.705 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 44 | | matches | | | ratio | 0.023 | |
| 40.82% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 21 | | technicalSentenceCount | 3 | | matches | | 0 | "Unofficially, Quinn had learned over the last three years, closed stations like this one had a habit of hosting things that had no business existing in a ration…" | | 1 | "Male, mid-thirties, dressed in a suit that had probably cost more than her monthly salary." | | 2 | "Except it wasn't a coin — too light, the wrong color, carved from something that looked like bone gone the color of old ivory, etched with symbols she didn't re…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 10 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 1 | | fancyTags | | 0 | "Nandframed said (nandframe say)" |
| | dialogueSentences | 23 | | tagDensity | 0.13 | | leniency | 0.261 | | rawRatio | 0.333 | | effectiveRatio | 0.087 | |