| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 10 | | adverbTagCount | 1 | | adverbTags | | 0 | "Quinn said quietly [quietly]" |
| | dialogueSentences | 31 | | tagDensity | 0.323 | | leniency | 0.645 | | rawRatio | 0.1 | | effectiveRatio | 0.065 | |
| 88.80% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1786 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "gently" | | 1 | "slowly" | | 2 | "carefully" |
| |
| 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) | |
| 83.20% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1786 | | totalAiIsms | 6 | | found | | | highlights | | 0 | "database" | | 1 | "etched" | | 2 | "chaotic" | | 3 | "intricate" | | 4 | "pulse" | | 5 | "clenching" |
| |
| 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 | 105 | | matches | (empty) | |
| 88.44% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 3 | | narrationSentences | 105 | | filterMatches | | | hedgeMatches | | 0 | "seemed to" | | 1 | "appeared to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 126 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 57 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1756 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 40 | | wordCount | 1235 | | uniqueNames | 11 | | maxNameDensity | 1.46 | | worstName | "Quinn" | | maxWindowNameDensity | 3 | | worstWindowName | "Quinn" | | discoveredNames | | Priya | 1 | | Mehta | 7 | | Transport | 1 | | London | 1 | | Camden | 1 | | Quinn | 18 | | Bundles | 2 | | Mixed | 1 | | Morris | 6 | | Hawley | 1 | | Crescent | 1 |
| | persons | | 0 | "Mehta" | | 1 | "Quinn" | | 2 | "Morris" |
| | places | | 0 | "London" | | 1 | "Hawley" | | 2 | "Crescent" |
| | globalScore | 0.771 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 76 | | glossingSentenceCount | 1 | | matches | | 0 | "looked like human rib—she'd need forensic" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1756 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 126 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 42 | | mean | 41.81 | | std | 33.8 | | cv | 0.808 | | sampleLengths | | 0 | 72 | | 1 | 3 | | 2 | 66 | | 3 | 128 | | 4 | 16 | | 5 | 41 | | 6 | 67 | | 7 | 23 | | 8 | 4 | | 9 | 38 | | 10 | 94 | | 11 | 65 | | 12 | 46 | | 13 | 14 | | 14 | 5 | | 15 | 9 | | 16 | 68 | | 17 | 4 | | 18 | 85 | | 19 | 46 | | 20 | 4 | | 21 | 4 | | 22 | 86 | | 23 | 4 | | 24 | 72 | | 25 | 83 | | 26 | 42 | | 27 | 9 | | 28 | 78 | | 29 | 89 | | 30 | 14 | | 31 | 2 | | 32 | 72 | | 33 | 15 | | 34 | 65 | | 35 | 1 | | 36 | 81 | | 37 | 23 | | 38 | 66 | | 39 | 23 | | 40 | 14 | | 41 | 15 |
| |
| 91.90% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 105 | | matches | | 0 | "been cleared" | | 1 | "been converted" | | 2 | "been dumped" | | 3 | "were closed" | | 4 | "were blackened" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 202 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 16 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 126 | | ratio | 0.079 | | matches | | 0 | "Carved from what looked like human rib—she'd need forensics to confirm—it bore a symbol she didn't recognize." | | 1 | "The abandoned station—she'd pulled up the Transport for London decommission records on her phone during the drive over, Camden deep level shelter, sealed 1952—had been converted into something out of a fever dream." | | 2 | "His eyes were closed, his expression almost peaceful, but the skin around his mouth and nostrils had a faint grey discoloration, and his fingertips—she lifted his right hand gently—were blackened, as if dipped in ink." | | 3 | "The stall to his left sold—or had sold, or displayed—what appeared to be compasses." | | 4 | "The dust on the platform—and there was a thick layer of it everywhere except the walkways between stalls—showed foot traffic in the aisles but nothing chaotic." | | 5 | "Six compasses, six different materials, all with needles pointing in roughly the same direction—toward the body." | | 6 | "\"The death might have. But scared vendors still grab their cashbox.\" Quinn pointed to a metal tin sitting open on the counter, half-full of currency she didn't immediately recognize—coins of irregular shape, dull metal, stamped with symbols." | | 7 | "A third stall—larger than the others, more like a permanent kiosk—had its canvas front pulled down and tied shut." | | 8 | "She'd noticed the foot traffic patterns before—clear pathways between stalls where dozens of feet had worn the dust thin." | | 9 | "Three years of sleepless nights pressed at the back of her skull—Morris's face, Morris lying in a different impossible position, Morris with the same grey discoloration around his mouth that pathology had waved away as inconclusive, Morris whose case file sat in her desk drawer because she couldn't let it go and couldn't explain it either." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1255 | | adjectiveStacks | 1 | | stackExamples | | 0 | "whole improbable underground bazaar." |
| | adverbCount | 35 | | adverbRatio | 0.027888446215139442 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.008764940239043825 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 126 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 126 | | mean | 13.94 | | std | 11.68 | | cv | 0.838 | | sampleLengths | | 0 | 13 | | 1 | 29 | | 2 | 17 | | 3 | 13 | | 4 | 3 | | 5 | 24 | | 6 | 22 | | 7 | 20 | | 8 | 17 | | 9 | 5 | | 10 | 9 | | 11 | 33 | | 12 | 8 | | 13 | 7 | | 14 | 7 | | 15 | 42 | | 16 | 11 | | 17 | 5 | | 18 | 9 | | 19 | 32 | | 20 | 5 | | 21 | 11 | | 22 | 1 | | 23 | 10 | | 24 | 35 | | 25 | 5 | | 26 | 10 | | 27 | 6 | | 28 | 7 | | 29 | 4 | | 30 | 34 | | 31 | 4 | | 32 | 3 | | 33 | 10 | | 34 | 10 | | 35 | 14 | | 36 | 9 | | 37 | 8 | | 38 | 7 | | 39 | 23 | | 40 | 5 | | 41 | 5 | | 42 | 10 | | 43 | 10 | | 44 | 9 | | 45 | 26 | | 46 | 10 | | 47 | 36 | | 48 | 10 | | 49 | 14 |
| |
| 58.73% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 11 | | diversityRatio | 0.40476190476190477 | | totalSentences | 126 | | uniqueOpeners | 51 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 99 | | matches | | 0 | "Possibly a hundred." | | 1 | "Then at the body." | | 2 | "Then back at the dust." | | 3 | "Then she took out a" |
| | ratio | 0.04 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 24 | | totalSentences | 99 | | matches | | 0 | "He lay on his back," | | 1 | "His eyes were closed, his" | | 2 | "She checked the worn leather" | | 3 | "She'd been in bed forty" | | 4 | "She studied the body's position" | | 5 | "He lay in a clear" | | 6 | "It pointed at the body." | | 7 | "She stood, knees protesting, and" | | 8 | "She moved to the compass" | | 9 | "She took out her phone" | | 10 | "Its face markings were more" | | 11 | "She photographed the compass from" | | 12 | "She continued down the row" | | 13 | "She'd noticed the foot traffic" | | 14 | "She pointed her torch at" | | 15 | "Her knees ached." | | 16 | "Her jaw ached from clenching" | | 17 | "She pulled the evidence bag" | | 18 | "She turned it in the" | | 19 | "She sealed the evidence bag" |
| | ratio | 0.242 | |
| 81.21% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 75 | | totalSentences | 99 | | matches | | 0 | "The bone token felt heavier" | | 1 | "Quinn held it up to" | | 2 | "A circle bisected by a" | | 3 | "DC Priya Mehta stood at" | | 4 | "Quinn pocketed the evidence bag" | | 5 | "The air smelled of damp" | | 6 | "The body lay on the" | | 7 | "That in itself was wrong." | | 8 | "Quinn's gaze swept the space" | | 9 | "The abandoned station—she'd pulled up" | | 10 | "Glass jars lined shelves, their" | | 11 | "A table near the body" | | 12 | "None of it was in" | | 13 | "None of it made sense." | | 14 | "Mehta read from her notes" | | 15 | "Quinn crouched beside the body." | | 16 | "He lay on his back," | | 17 | "His eyes were closed, his" | | 18 | "She checked the worn leather" | | 19 | "She'd been in bed forty" |
| | ratio | 0.758 | |
| 50.51% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 99 | | matches | | 0 | "Whoever had been here had" |
| | ratio | 0.01 | |
| 89.95% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 54 | | technicalSentenceCount | 4 | | matches | | 0 | "A table near the body held rows of small bottles filled with liquids in colors she'd never seen in nature: a violet so deep it seemed to pull light into itself,…" | | 1 | "His eyes were closed, his expression almost peaceful, but the skin around his mouth and nostrils had a faint grey discoloration, and his fingertips—she lifted h…" | | 2 | "Small, its casing covered in a green patina of verdigris, its face etched with symbols that reminded her of the bone token's markings." | | 3 | "She thought about the grey around this dead man's mouth, and the grey that had been around Morris's mouth, and the three years she'd spent telling herself there…" |
| |
| 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 | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 31 | | tagDensity | 0.032 | | leniency | 0.065 | | rawRatio | 0 | | effectiveRatio | 0 | |