| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 13 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 50 | | tagDensity | 0.26 | | leniency | 0.52 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 92.33% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1304 | | totalAiIsmAdverbs | 2 | | found | | | highlights | | |
| 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) | |
| 88.50% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1304 | | totalAiIsms | 3 | | found | | | highlights | | 0 | "etched" | | 1 | "database" | | 2 | "stomach" |
| |
| 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 | 73 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 73 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 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 | 50 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 22 | | totalWords | 1291 | | ratio | 0.017 | | matches | | 0 | "coming, don't let them bag the coat yet" | | 1 | "odd, no residue of anything in his stomach, like the last day just... wiped." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 17 | | unquotedAttributions | 0 | | matches | (empty) | |
| 32.66% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 37 | | wordCount | 767 | | uniqueNames | 9 | | maxNameDensity | 2.35 | | worstName | "Quinn" | | maxWindowNameDensity | 4 | | worstWindowName | "Quinn" | | discoveredNames | | King | 1 | | Cross | 1 | | Detective | 1 | | Harlow | 1 | | Quinn | 18 | | Kowalski | 1 | | Eva | 12 | | Shah | 1 | | Morris | 1 |
| | persons | | 0 | "King" | | 1 | "Cross" | | 2 | "Harlow" | | 3 | "Quinn" | | 4 | "Kowalski" | | 5 | "Eva" | | 6 | "Shah" | | 7 | "Morris" |
| | places | (empty) | | globalScore | 0.327 | | windowScore | 0.333 | |
| 97.92% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 48 | | glossingSentenceCount | 1 | | matches | | 0 | "felt like a jar lifted from a refrigera" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1291 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 106 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 47 | | mean | 27.47 | | std | 23.01 | | cv | 0.838 | | sampleLengths | | 0 | 35 | | 1 | 38 | | 2 | 29 | | 3 | 34 | | 4 | 7 | | 5 | 7 | | 6 | 67 | | 7 | 6 | | 8 | 1 | | 9 | 39 | | 10 | 1 | | 11 | 53 | | 12 | 11 | | 13 | 43 | | 14 | 27 | | 15 | 34 | | 16 | 3 | | 17 | 51 | | 18 | 3 | | 19 | 3 | | 20 | 20 | | 21 | 13 | | 22 | 2 | | 23 | 38 | | 24 | 43 | | 25 | 84 | | 26 | 9 | | 27 | 17 | | 28 | 88 | | 29 | 45 | | 30 | 6 | | 31 | 16 | | 32 | 5 | | 33 | 48 | | 34 | 4 | | 35 | 59 | | 36 | 5 | | 37 | 42 | | 38 | 46 | | 39 | 11 | | 40 | 6 | | 41 | 50 | | 42 | 12 | | 43 | 67 | | 44 | 13 | | 45 | 40 | | 46 | 10 |
| |
| 86.04% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 73 | | matches | | 0 | "was unblemished" | | 1 | "been stitched" | | 2 | "was etched" | | 3 | "was frightened" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 139 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 106 | | ratio | 0.094 | | matches | | 0 | "The victim—male, mid-thirties, no wallet, no phone, no identification—lay on his back between rusted mail sorters, arms at his sides like a man who had simply laid down and stopped." | | 1 | "The skin there was unblemished—and faintly cold in a way that six hours dead shouldn't account for." | | 2 | "She'd texted Quinn twenty minutes ago—*coming, don't let them bag the coat yet*—and Quinn had no good explanation for why she'd obeyed." | | 3 | "\"I'm a consultant when you let me be, which is tonight, apparently.\" Eva stopped at the edge of the light and looked at the body the way she looked at artifacts—head tilted, hands clasped behind her to keep them off." | | 4 | "The face was etched with lines too fine to read at a glance—sigils, if you believed in that sort of thing." | | 5 | "\"—within a closed system, yes.\" Quinn heard herself say it before she understood why." | | 6 | "\"Because I've read three archival references to it and you've read none. That's the difference between us tonight.\" Eva tucked hair behind her ear—a tell Quinn had learned meant she was frightened and hiding it." | | 7 | "A decade of pigeon droppings, cobwebs thick as rope—and a swept corridor through the middle of it, three feet wide, leading from the loading dock to the body." | | 8 | "But a single depression in the dust beside the body—a circle, four inches across, edged with verdigris she recognized from a thousand park benches." | | 9 | "Somewhere down the dark end of the depot, a door Quinn had checked twice—locked, chained, rusted shut—shifted on its hinges and swung open one inch, exhaling air that smelled of ozone and river water and nothing else." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 656 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 10 | | adverbRatio | 0.01524390243902439 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.007621951219512195 | |
| 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.18 | | std | 10.44 | | cv | 0.857 | | sampleLengths | | 0 | 35 | | 1 | 30 | | 2 | 4 | | 3 | 4 | | 4 | 12 | | 5 | 17 | | 6 | 2 | | 7 | 20 | | 8 | 3 | | 9 | 4 | | 10 | 3 | | 11 | 2 | | 12 | 7 | | 13 | 7 | | 14 | 14 | | 15 | 3 | | 16 | 6 | | 17 | 6 | | 18 | 17 | | 19 | 11 | | 20 | 10 | | 21 | 6 | | 22 | 1 | | 23 | 20 | | 24 | 13 | | 25 | 4 | | 26 | 2 | | 27 | 1 | | 28 | 8 | | 29 | 23 | | 30 | 22 | | 31 | 7 | | 32 | 4 | | 33 | 40 | | 34 | 3 | | 35 | 10 | | 36 | 17 | | 37 | 21 | | 38 | 11 | | 39 | 2 | | 40 | 3 | | 41 | 10 | | 42 | 21 | | 43 | 2 | | 44 | 1 | | 45 | 17 | | 46 | 3 | | 47 | 3 | | 48 | 6 | | 49 | 14 |
| |
| 78.93% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.49056603773584906 | | totalSentences | 106 | | uniqueOpeners | 52 | |
| 52.91% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 63 | | matches | | 0 | "Somewhere down the dark end" |
| | ratio | 0.016 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 10 | | totalSentences | 63 | | matches | | 0 | "His coat was dry." | | 1 | "She leaned closer." | | 2 | "His shoes were clean." | | 3 | "She pulled a penlight from" | | 4 | "She lifted his wrist, turned" | | 5 | "She'd held enough corpses to" | | 6 | "She'd never seen it." | | 7 | "She'd texted Quinn twenty minutes" | | 8 | "She moved the magnifier to" | | 9 | "She crouched at the end" |
| | ratio | 0.159 | |
| 47.30% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 52 | | totalSentences | 63 | | matches | | 0 | "Rain slicked the roof of" | | 1 | "The victim—male, mid-thirties, no wallet," | | 2 | "His coat was dry." | | 3 | "Everything else was wrong." | | 4 | "The concrete beneath the body" | | 5 | "She leaned closer." | | 6 | "His shoes were clean." | | 7 | "She pulled a penlight from" | | 8 | "She lifted his wrist, turned" | | 9 | "The skin there was unblemished—and" | | 10 | "She'd held enough corpses to" | | 11 | "This one felt like a" | | 12 | "Quinn tilted his hand toward" | | 13 | "A fine grey powder dusted" | | 14 | "She'd never seen it." | | 15 | "The voice came from the" | | 16 | "Eva Kowalski descended with her" | | 17 | "She'd texted Quinn twenty minutes" | | 18 | "Eva stopped at the edge" | | 19 | "Quinn nodded to the tech," |
| | ratio | 0.825 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 63 | | matches | (empty) | | ratio | 0 | |
| 60.44% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 26 | | technicalSentenceCount | 3 | | matches | | 0 | "Rain slicked the roof of the abandoned mail depot behind King's Cross, and Detective Harlow Quinn stood in a pool of light from a portable lamp, staring at a bo…" | | 1 | "The victim—male, mid-thirties, no wallet, no phone, no identification—lay on his back between rusted mail sorters, arms at his sides like a man who had simply l…" | | 2 | "Somewhere down the dark end of the depot, a door Quinn had checked twice—locked, chained, rusted shut—shifted on its hinges and swung open one inch, exhaling ai…" |
| |
| 48.08% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 13 | | uselessAdditionCount | 2 | | matches | | 0 | "Eva stopped, hands clasped behind her to keep them off" | | 1 | "Eva crouched, voice dropping" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 50 | | tagDensity | 0.08 | | leniency | 0.16 | | rawRatio | 0.25 | | effectiveRatio | 0.04 | |