| 85.71% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 2 | | adverbTags | | 0 | "she said aloud [aloud]" | | 1 | "she said slowly [slowly]" |
| | dialogueSentences | 35 | | tagDensity | 0.429 | | leniency | 0.857 | | rawRatio | 0.133 | | effectiveRatio | 0.114 | |
| 91.25% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1143 | | 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) | |
| 78.13% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1143 | | totalAiIsms | 5 | | found | | | highlights | | 0 | "shattered" | | 1 | "perfect" | | 2 | "database" | | 3 | "etched" |
| |
| 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 | 49 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 49 | | filterMatches | (empty) | | hedgeMatches | | |
| 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 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 55 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1154 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 17 | | wordCount | 851 | | uniqueNames | 7 | | maxNameDensity | 0.59 | | worstName | "Quinn" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rafferty" | | discoveredNames | | Tube | 1 | | Camden | 1 | | Detective | 1 | | Harlow | 1 | | Quinn | 5 | | Rafferty | 4 | | Morris | 4 |
| | persons | | 0 | "Camden" | | 1 | "Harlow" | | 2 | "Quinn" | | 3 | "Rafferty" | | 4 | "Morris" |
| | places | (empty) | | globalScore | 1 | | windowScore | 1 | |
| 2.94% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 34 | | glossingSentenceCount | 2 | | matches | | 0 | "g up, and now, apparently, somebody had used" | | 1 | "spiral that seemed to shift when the torchlight crossed it, the way oil shifts on water" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1154 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 69 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 36 | | mean | 32.06 | | std | 23.84 | | cv | 0.744 | | sampleLengths | | 0 | 33 | | 1 | 51 | | 2 | 30 | | 3 | 58 | | 4 | 43 | | 5 | 41 | | 6 | 7 | | 7 | 4 | | 8 | 56 | | 9 | 26 | | 10 | 40 | | 11 | 6 | | 12 | 11 | | 13 | 11 | | 14 | 66 | | 15 | 34 | | 16 | 36 | | 17 | 45 | | 18 | 5 | | 19 | 3 | | 20 | 2 | | 21 | 44 | | 22 | 12 | | 23 | 18 | | 24 | 12 | | 25 | 92 | | 26 | 63 | | 27 | 6 | | 28 | 12 | | 29 | 50 | | 30 | 84 | | 31 | 7 | | 32 | 50 | | 33 | 25 | | 34 | 14 | | 35 | 57 |
| |
| 90.94% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 49 | | matches | | 0 | "been sealed" | | 1 | "been fired" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 149 | | matches | | 0 | "wasn't looking" | | 1 | "was worrying" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 69 | | ratio | 0.13 | | matches | | 0 | "The body lay in the middle of the platform, arms flung wide, and around him — that was the first wrong thing — a perfect circle scorched into the concrete, black and glassy, like the ground itself had been fired in a kiln." | | 1 | "\"You didn't have to.\" She crouched at the edge of the burn mark, careful not to touch it, and studied the way the black glass caught the torchlight — swirled through with color, blues and violets that had no business being in scorched concrete." | | 2 | "Morris had taught her to read a scene like a sentence — subject, verb, object, and then the words nobody wanted to say out loud." | | 3 | "\"You're reaching,\" he said, but his eyes wouldn't meet hers, and his hand had drifted to his pocket, where she knew — because she'd seen him do it twice already since she arrived — he was worrying at something small and hard through the fabric." | | 4 | "Not currency — she could see that from three feet away." | | 5 | "The token was warm — warmer than skin, warmer than the air around them — and heavier than its size should have allowed." | | 6 | "On the reverse, nearly worn smooth, was a symbol she recognized now only because two years of chasing shadows had taught her to recognize it — a stylized eye inside a broken circle." | | 7 | "\"He wasn't burned,\" she said slowly, working it the way she'd work any other case, refusing — even now, even after everything — to let the strangeness stop her thinking." | | 8 | "\"He wasn't struck. There's no defensive wounding, no petechiae, nothing to suggest suffocation. Which means the mechanism of death isn't in this room at all. It's wherever that thing—\" she held up the token, and it caught the light, and for a half second she could have sworn the etched eye blinked \"—came from.\"" |
| |
| 97.48% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 793 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 34 | | adverbRatio | 0.04287515762925599 | | lyAdverbCount | 14 | | lyAdverbRatio | 0.017654476670870115 | |
| 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 | 16.72 | | std | 13.27 | | cv | 0.793 | | sampleLengths | | 0 | 33 | | 1 | 28 | | 2 | 7 | | 3 | 2 | | 4 | 14 | | 5 | 23 | | 6 | 7 | | 7 | 26 | | 8 | 10 | | 9 | 22 | | 10 | 43 | | 11 | 21 | | 12 | 20 | | 13 | 7 | | 14 | 4 | | 15 | 44 | | 16 | 12 | | 17 | 3 | | 18 | 23 | | 19 | 6 | | 20 | 14 | | 21 | 4 | | 22 | 16 | | 23 | 6 | | 24 | 11 | | 25 | 6 | | 26 | 5 | | 27 | 41 | | 28 | 25 | | 29 | 5 | | 30 | 4 | | 31 | 25 | | 32 | 8 | | 33 | 28 | | 34 | 45 | | 35 | 5 | | 36 | 3 | | 37 | 2 | | 38 | 12 | | 39 | 11 | | 40 | 21 | | 41 | 7 | | 42 | 5 | | 43 | 18 | | 44 | 12 | | 45 | 21 | | 46 | 23 | | 47 | 8 | | 48 | 40 | | 49 | 4 |
| |
| 85.99% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.5507246376811594 | | totalSentences | 69 | | uniqueOpeners | 38 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 42 | | matches | | 0 | "Unofficially, kids used it for" | | 1 | "Just absence, the particular blankness" |
| | ratio | 0.048 | |
| 58.10% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 17 | | totalSentences | 42 | | matches | | 0 | "She ducked under the crime" | | 1 | "It was one of the" | | 2 | "She came down the stairs," | | 3 | "She crouched at the edge" | | 4 | "She'd pressed two fingers to" | | 5 | "He didn't move to feel" | | 6 | "She stood, knees complaining the" | | 7 | "His clothes were unmarked." | | 8 | "she said aloud" | | 9 | "he said, but his eyes" | | 10 | "He hesitated a half second" | | 11 | "She'd seen a token like" | | 12 | "She turned it over." | | 13 | "she said slowly, working it" | | 14 | "she held up the token," | | 15 | "She slipped the token into" | | 16 | "she said, and looked once" |
| | ratio | 0.405 | |
| 67.14% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 33 | | totalSentences | 42 | | matches | | 0 | "The abandoned Tube station beneath" | | 1 | "She ducked under the crime" | | 2 | "That alone should have told" | | 3 | "It was one of the" | | 4 | "DC Rafferty stood near the" | | 5 | "She came down the stairs," | | 6 | "The station had been sealed" | | 7 | "The body lay in the" | | 8 | "Rafferty read from his notes," | | 9 | "She crouched at the edge" | | 10 | "Rafferty's jaw tightened." | | 11 | "She'd pressed two fingers to" | | 12 | "He didn't move to feel" | | 13 | "That told her something too." | | 14 | "She stood, knees complaining the" | | 15 | "Morris had taught her to" | | 16 | "The man's shoes were unmarked." | | 17 | "His clothes were unmarked." | | 18 | "Whatever had made that circle" | | 19 | "she said aloud" |
| | ratio | 0.786 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 42 | | matches | | 0 | "If anything, it was colder" |
| | ratio | 0.024 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 21 | | technicalSentenceCount | 7 | | matches | | 0 | "The abandoned Tube station beneath Camden smelled of ozone and old pennies, and Detective Harlow Quinn had learned, over eighteen years, that smells like that m…" | | 1 | "She ducked under the crime scene tape strung across the shattered turnstiles, her torch beam cutting through dust motes that hung suspended in the air rather th…" | | 2 | "The body lay in the middle of the platform, arms flung wide, and around him — that was the first wrong thing — a perfect circle scorched into the concrete, blac…" | | 3 | "Bone-white, disc-shaped, etched with a spiral that seemed to shift when the torchlight crossed it, the way oil shifts on water." | | 4 | "In an evidence photograph from three years ago, in a file that had been quietly closed, a case with DS Morris's name on the front and a verdict of accidental de…" | | 5 | "Quinn looked back at the body, at the too-still face, the eyes closed as though he'd simply decided, mid-terror, to go to sleep instead." | | 6 | "Just absence, the particular blankness of a man who had been somewhere else entirely when whatever killed him arrived." |
| |
| 91.67% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 1 | | matches | | 0 | "he said, but his eyes wouldn't meet hers, and his hand had drifted to his pocket, where she knew — because she'd seen him do it twice already since she arrived — he was worrying at something small and hard through the fabric" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 35 | | tagDensity | 0.257 | | leniency | 0.514 | | rawRatio | 0.111 | | effectiveRatio | 0.057 | |