| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 2 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 6 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 90.23% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1024 | | 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) | |
| 80.47% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1024 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "footsteps" | | 1 | "electric" | | 2 | "warmth" | | 3 | "scanned" |
| |
| 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 | 65 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 65 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 69 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 45 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1016 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 1 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 15 | | wordCount | 986 | | uniqueNames | 10 | | maxNameDensity | 0.51 | | worstName | "Quinn" | | maxWindowNameDensity | 1 | | worstWindowName | "Morris" | | discoveredNames | | Soho | 1 | | Raven | 1 | | Nest | 1 | | Victorian | 1 | | Morris | 2 | | Quinn | 5 | | Herrera | 1 | | Sevillian | 1 | | Saint | 1 | | Christopher | 1 |
| | persons | | 0 | "Morris" | | 1 | "Quinn" | | 2 | "Herrera" | | 3 | "Saint" | | 4 | "Christopher" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 50.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 50 | | glossingSentenceCount | 2 | | matches | | 0 | "looked like" | | 1 | "quite identify, orange and amber and uneven" |
| |
| 3.15% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.969 | | wordCount | 1016 | | matches | | 0 | "not conversation but commerce" | | 1 | "not large but it was dense with intention" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 69 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 30 | | mean | 33.87 | | std | 28.8 | | cv | 0.85 | | sampleLengths | | 0 | 42 | | 1 | 76 | | 2 | 5 | | 3 | 3 | | 4 | 50 | | 5 | 3 | | 6 | 8 | | 7 | 31 | | 8 | 8 | | 9 | 61 | | 10 | 17 | | 11 | 56 | | 12 | 76 | | 13 | 11 | | 14 | 16 | | 15 | 47 | | 16 | 83 | | 17 | 12 | | 18 | 35 | | 19 | 3 | | 20 | 57 | | 21 | 52 | | 22 | 49 | | 23 | 8 | | 24 | 117 | | 25 | 5 | | 26 | 12 | | 27 | 16 | | 28 | 19 | | 29 | 38 |
| |
| 78.27% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 65 | | matches | | 0 | "been widened" | | 1 | "was gone" | | 2 | "being negotiated" | | 3 | "been consumed" | | 4 | "were dressed" |
| |
| 76.54% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 162 | | matches | | 0 | "was going" | | 1 | "was losing" | | 2 | "was measuring" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 69 | | ratio | 0.087 | | matches | | 0 | "He'd bolted the moment she'd stepped into the Raven's Nest and clocked her warrant card on the bar—hadn't even finished his drink." | | 1 | "Up close, the iron was old and pitted with rust, but the hinges had been recently oiled—they moved without protest when she tested them, lifting the hatch an inch, and a smell rolled up out of the dark below." | | 2 | "Then Morris was gone—gone in a way the inquest report hadn't come close to explaining, in circumstances that Quinn had turned over in her mind so many times that the edges were worn smooth—and she'd learned to pause where she'd once moved." | | 3 | "Warmer than it had any right to be underground, and carrying those layered smells more strongly now—the wax and herbs, something sharper beneath, something she associated with chemistry sets and hospital corridors." | | 4 | "Voices, not conversation but commerce—the specific rhythm of haggling, of transactions being negotiated, of a dozen separate exchanges happening in parallel." | | 5 | "The people moving between stalls were dressed in no consistent register—some in ordinary street clothes, some in things that suggested other eras or other sensibilities." |
| |
| 98.03% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 994 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 42 | | adverbRatio | 0.04225352112676056 | | lyAdverbCount | 17 | | lyAdverbRatio | 0.01710261569416499 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 69 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 69 | | mean | 14.72 | | std | 10.16 | | cv | 0.69 | | sampleLengths | | 0 | 17 | | 1 | 25 | | 2 | 6 | | 3 | 18 | | 4 | 22 | | 5 | 30 | | 6 | 5 | | 7 | 3 | | 8 | 27 | | 9 | 11 | | 10 | 12 | | 11 | 3 | | 12 | 8 | | 13 | 23 | | 14 | 8 | | 15 | 8 | | 16 | 12 | | 17 | 3 | | 18 | 1 | | 19 | 45 | | 20 | 13 | | 21 | 4 | | 22 | 21 | | 23 | 2 | | 24 | 16 | | 25 | 17 | | 26 | 24 | | 27 | 39 | | 28 | 13 | | 29 | 4 | | 30 | 4 | | 31 | 3 | | 32 | 13 | | 33 | 3 | | 34 | 17 | | 35 | 6 | | 36 | 24 | | 37 | 24 | | 38 | 17 | | 39 | 42 | | 40 | 12 | | 41 | 6 | | 42 | 29 | | 43 | 3 | | 44 | 22 | | 45 | 3 | | 46 | 32 | | 47 | 14 | | 48 | 25 | | 49 | 13 |
| |
| 67.63% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.4492753623188406 | | totalSentences | 69 | | uniqueOpeners | 31 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 63 | | matches | | 0 | "Somewhere below, she could hear" | | 1 | "Then Morris was gone—gone in" | | 2 | "Then a hand closed around" |
| | ratio | 0.048 | |
| 80.32% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 22 | | totalSentences | 63 | | matches | | 0 | "He was quick, whoever he" | | 1 | "He'd bolted the moment she'd" | | 2 | "He ducked left around a" | | 3 | "Her radio crackled." | | 4 | "She vaulted a fold-up table" | | 5 | "She cut the radio before" | | 6 | "He was measuring the gap" | | 7 | "She blinked it away." | | 8 | "He was at the far" | | 9 | "He hauled it open and" | | 10 | "She reached the hatch in" | | 11 | "She'd worked enough of this" | | 12 | "She lifted the hatch fully" | | 13 | "She went down." | | 14 | "They were small glass vessels" | | 15 | "She kept her torch high" | | 16 | "She came around a final" | | 17 | "She registered glass jars and" | | 18 | "She scanned for her suspect," | | 19 | "He was in there, somewhere." |
| | ratio | 0.349 | |
| 79.05% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 48 | | totalSentences | 63 | | matches | | 0 | "The rain came sideways, driven" | | 1 | "Quinn turned up her collar" | | 2 | "He was quick, whoever he" | | 3 | "He'd bolted the moment she'd" | | 4 | "The green neon of the" | | 5 | "He ducked left around a" | | 6 | "A couple pressed themselves against" | | 7 | "Quinn flashed her badge at" | | 8 | "Her radio crackled." | | 9 | "She vaulted a fold-up table" | | 10 | "She cut the radio before" | | 11 | "The man glanced back once," | | 12 | "He was measuring the gap" | | 13 | "Quinn rounded the corner and" | | 14 | "She blinked it away." | | 15 | "He was at the far" | | 16 | "He hauled it open and" | | 17 | "The clang of it rang" | | 18 | "She reached the hatch in" | | 19 | "Candle wax, sawdust, something herbal" |
| | ratio | 0.762 | |
| 79.37% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 63 | | matches | | 0 | "Now she was losing ground." |
| | ratio | 0.016 | |
| 55.75% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 41 | | technicalSentenceCount | 5 | | matches | | 0 | "Quinn turned up her collar and kept moving, her boots finding the wet pavement with each stride, eyes fixed on the figure forty metres ahead." | | 1 | "He was measuring the gap between them, running some kind of equation in his head, and whatever the answer was it made him turn sharply right, off the main road …" | | 2 | "Quinn sat on her heels for a moment, rain driving against the back of her neck, listening." | | 3 | "And beneath that, music from no instrument she could identify, a low and modal sound that settled into the bones differently than sound usually did." | | 4 | "She registered glass jars and leather parcels, racks of clothing and stacked crates, items behind glass cases that caught the amber light strangely." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 2 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |