| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 41 | | tagDensity | 0.366 | | leniency | 0.732 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1464 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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.09% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1464 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "pulse" | | 1 | "charm" | | 2 | "etched" | | 3 | "whisper" | | 4 | "unwavering" |
| |
| 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 | 80 | | matches | (empty) | |
| 89.29% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 0 | | narrationSentences | 80 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 105 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 52 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 4 | | markdownWords | 17 | | totalWords | 1468 | | ratio | 0.012 | | matches | | 0 | "misadventure" | | 1 | "British Museum — Restricted Archives" | | 2 | "A Survey of Thresholds and Hidden Markets, MS. 1147" | | 3 | "E. Kowalski" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 37 | | wordCount | 936 | | uniqueNames | 18 | | maxNameDensity | 1.07 | | worstName | "Quinn" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Quinn" | | discoveredNames | | Quinn | 10 | | Kentish | 1 | | Town | 1 | | Metropolitan | 1 | | Police | 1 | | Whitfield | 9 | | Dr | 1 | | Sen | 2 | | Morris | 1 | | Peckham | 1 | | Folded | 1 | | Museum | 1 | | Restricted | 1 | | Survey | 1 | | Thresholds | 1 | | Hidden | 1 | | Markets | 1 | | Kowalski | 2 |
| | persons | | 0 | "Quinn" | | 1 | "Whitfield" | | 2 | "Dr" | | 3 | "Sen" | | 4 | "Morris" | | 5 | "Museum" | | 6 | "Kowalski" |
| | places | | 0 | "Kentish" | | 1 | "Town" | | 2 | "Peckham" |
| | globalScore | 0.966 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 56 | | 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 | 1468 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 105 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 48 | | mean | 30.58 | | std | 24.14 | | cv | 0.789 | | sampleLengths | | 0 | 77 | | 1 | 26 | | 2 | 40 | | 3 | 1 | | 4 | 38 | | 5 | 71 | | 6 | 27 | | 7 | 24 | | 8 | 5 | | 9 | 5 | | 10 | 69 | | 11 | 7 | | 12 | 4 | | 13 | 23 | | 14 | 7 | | 15 | 41 | | 16 | 52 | | 17 | 4 | | 18 | 18 | | 19 | 52 | | 20 | 45 | | 21 | 7 | | 22 | 45 | | 23 | 33 | | 24 | 8 | | 25 | 17 | | 26 | 46 | | 27 | 18 | | 28 | 59 | | 29 | 6 | | 30 | 38 | | 31 | 72 | | 32 | 21 | | 33 | 38 | | 34 | 52 | | 35 | 4 | | 36 | 58 | | 37 | 22 | | 38 | 10 | | 39 | 26 | | 40 | 102 | | 41 | 18 | | 42 | 1 | | 43 | 1 | | 44 | 21 | | 45 | 22 | | 46 | 19 | | 47 | 68 |
| |
| 92.11% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 80 | | matches | | 0 | "been sealed" | | 1 | "was inked" | | 2 | "been sealed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 149 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 1 | | flaggedSentences | 6 | | totalSentences | 105 | | ratio | 0.057 | | matches | | 0 | "\"Overdose, near as I can read it. Belt off, works laid out next to him, spoon, lighter. Broke in, cooked up, died in the dark. And—\" Whitfield's torch beam swung across the platform, \"—he had company, sort of.\"" | | 1 | "That was the first thing eighteen years had taught her: the dead keep; the scene doesn't." | | 2 | "Wax had run from each one in long pale ropes, and every rope leaned the same way — north, down the platform, toward the bricked arch where the old lift shaft had been sealed in 1940." | | 3 | "Small, brass, its casing furred with verdigris, the face etched with marks that weren't decoration — interlocking signs cut by a patient hand." | | 4 | "Folded into the lid's lining, a slip of paper, cream stock, stamped: *British Museum — Restricted Archives*." | | 5 | "London stock brick, eighty years of soot, mortar hard as the day it cured — except at the base, where a smear of wax had crawled under the bottom course and stopped, as if it had found somewhere to go." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 510 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 9 | | adverbRatio | 0.01764705882352941 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.00196078431372549 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 105 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 105 | | mean | 13.98 | | std | 11.34 | | cv | 0.811 | | sampleLengths | | 0 | 19 | | 1 | 4 | | 2 | 24 | | 3 | 17 | | 4 | 1 | | 5 | 12 | | 6 | 26 | | 7 | 40 | | 8 | 1 | | 9 | 38 | | 10 | 15 | | 11 | 29 | | 12 | 5 | | 13 | 17 | | 14 | 5 | | 15 | 8 | | 16 | 3 | | 17 | 16 | | 18 | 7 | | 19 | 17 | | 20 | 5 | | 21 | 5 | | 22 | 6 | | 23 | 36 | | 24 | 15 | | 25 | 12 | | 26 | 7 | | 27 | 4 | | 28 | 12 | | 29 | 11 | | 30 | 7 | | 31 | 9 | | 32 | 15 | | 33 | 13 | | 34 | 4 | | 35 | 52 | | 36 | 4 | | 37 | 18 | | 38 | 13 | | 39 | 39 | | 40 | 3 | | 41 | 11 | | 42 | 8 | | 43 | 15 | | 44 | 8 | | 45 | 7 | | 46 | 8 | | 47 | 37 | | 48 | 5 | | 49 | 28 |
| |
| 87.70% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.5436893203883495 | | totalSentences | 103 | | uniqueOpeners | 56 | |
| 49.02% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 68 | | matches | | 0 | "Then her own pulse, and" |
| | ratio | 0.015 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 18 | | totalSentences | 68 | | matches | | 0 | "She checked the worn leather" | | 1 | "She didn't touch." | | 2 | "She crouched at the nearest" | | 3 | "She took a biro from" | | 4 | "It rolled south, gentle and" | | 5 | "She walked the body's length" | | 6 | "She lifted the dead man's" | | 7 | "She glanced at her own," | | 8 | "She bagged it herself and" | | 9 | "She had written *misadventure* and" | | 10 | "Her jaw set until the" | | 11 | "She crossed to the far" | | 12 | "She held it above the" | | 13 | "She turned the bag over" | | 14 | "she said, and handed it" | | 15 | "She read the slip once" | | 16 | "She walked to the bricked" | | 17 | "She didn't step back." |
| | ratio | 0.265 | |
| 55.59% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 55 | | totalSentences | 68 | | matches | | 0 | "The cordon tape at the" | | 1 | "South Kentish Town station." | | 2 | "She checked the worn leather" | | 3 | "The clock said ten past" | | 4 | "DC Whitfield waited at the" | | 5 | "Whitfield's torch beam swung across" | | 6 | "A ring of church candles" | | 7 | "Oxblood tiles sweated behind him." | | 8 | "The air smelled of wet" | | 9 | "Quinn stood at the yellow" | | 10 | "She didn't touch." | | 11 | "That was the first thing" | | 12 | "She crouched at the nearest" | | 13 | "Wax had run from each" | | 14 | "She took a biro from" | | 15 | "It rolled south, gentle and" | | 16 | "Whitfield laughed, then stopped when" | | 17 | "She walked the body's length" | | 18 | "The kid in the paper" | | 19 | "Quinn read them twice." |
| | ratio | 0.809 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 68 | | matches | (empty) | | ratio | 0 | |
| 56.28% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 33 | | technicalSentenceCount | 4 | | matches | | 0 | "Three years since Morris, and the smell of it came back uninvited: a windowless basement in Peckham, that same after-lightning taste on the tongue, a scene that…" | | 1 | "Small, brass, its casing furred with verdigris, the face etched with marks that weren't decoration — interlocking signs cut by a patient hand." | | 2 | "London stock brick, eighty years of soot, mortar hard as the day it cured — except at the base, where a smear of wax had crawled under the bottom course and sto…" | | 3 | "For the space of one breath she heard it: a crowd compressed into a whisper, the murmur of haggling, coin on stone, a market in full voice behind a wall that ha…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 41 | | tagDensity | 0.171 | | leniency | 0.341 | | rawRatio | 0 | | effectiveRatio | 0 | |