| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 4 | | tagDensity | 0.25 | | leniency | 0.5 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 86.74% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1131 | | totalAiIsmAdverbs | 3 | | 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) | |
| 73.47% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1131 | | totalAiIsms | 6 | | found | | | highlights | | 0 | "glistening" | | 1 | "footsteps" | | 2 | "silence" | | 3 | "pulse" | | 4 | "electric" | | 5 | "weight" |
| |
| 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 | 78 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 78 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 80 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 69 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1147 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 3 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 20 | | wordCount | 1114 | | uniqueNames | 12 | | maxNameDensity | 0.45 | | worstName | "Quinn" | | maxWindowNameDensity | 1 | | worstWindowName | "Quinn" | | discoveredNames | | Camden | 1 | | Raven | 2 | | Nest | 2 | | Quinn | 5 | | Static | 1 | | Eight | 2 | | Ashworth | 1 | | Bermondsey | 1 | | Morris | 1 | | Herrera | 2 | | Saint | 1 | | Christopher | 1 |
| | persons | | 0 | "Raven" | | 1 | "Quinn" | | 2 | "Morris" | | 3 | "Herrera" | | 4 | "Saint" | | 5 | "Christopher" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 47 | | glossingSentenceCount | 4 | | matches | | 0 | "quite fit together, and then tonight he'd come out through the side door — not the main entrance, the side door, the one she hadn't put on her original sketch of the building — and moved north with his head down and his pace deliberate, and every instinct she had told her to follow" | | 1 | "quite silence — a low murmur, the suggestion of voices, something that might have been music or might have been something else entirely, resonating through the concrete and iron like a pulse" | | 2 | "looked like fabric but moved when no one" | | 3 | "felt like the wrong word for some of th" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1147 | | matches | (empty) | |
| 83.33% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 80 | | matches | | 0 | "cages that she" | | 1 | "exit that she" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 30 | | mean | 38.23 | | std | 33.99 | | cv | 0.889 | | sampleLengths | | 0 | 56 | | 1 | 119 | | 2 | 2 | | 3 | 8 | | 4 | 73 | | 5 | 50 | | 6 | 31 | | 7 | 11 | | 8 | 6 | | 9 | 3 | | 10 | 96 | | 11 | 14 | | 12 | 70 | | 13 | 15 | | 14 | 9 | | 15 | 66 | | 16 | 5 | | 17 | 36 | | 18 | 15 | | 19 | 94 | | 20 | 20 | | 21 | 6 | | 22 | 12 | | 23 | 120 | | 24 | 23 | | 25 | 29 | | 26 | 52 | | 27 | 40 | | 28 | 32 | | 29 | 34 |
| |
| 96.27% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 78 | | matches | | 0 | "been pulled" | | 1 | "been transformed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 177 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 16 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 80 | | ratio | 0.15 | | matches | | 0 | "Younger than she'd expected when she'd first clocked him outside the Raven's Nest — early twenties, hooded, carrying a satchel strapped tight across his chest as though whatever was inside it mattered more than his own ribs." | | 1 | "Six days of cold takeaway coffee and a notebook that was getting fat with observations that didn't quite fit together, and then tonight he'd come out through the side door — not the main entrance, the side door, the one she hadn't put on her original sketch of the building — and moved north with his head down and his pace deliberate, and every instinct she had told her to follow." | | 2 | "He ducked down a staircase she almost missed entirely — it sat behind a chain-link fence that had been pulled back just enough for a body to squeeze through, the metal glistening under the rain and folded aside with the familiarity of regular use." | | 3 | "A sign on the gate was half-eaten by rust, but she could make out the words: ENGINEERING ACCESS — LONDON UNDERGROUND — AUTHORISED PERSONNEL ONLY." | | 4 | "From somewhere below came a sound that wasn't quite silence — a low murmur, the suggestion of voices, something that might have been music or might have been something else entirely, resonating through the concrete and iron like a pulse." | | 5 | "She tried the radio again — just hiss." | | 6 | "Literally and figuratively — during the Ashworth case, during the mess in Bermondsey two years back that had cost her three weeks of sleep and a formal complaint from her superintendent." | | 7 | "It separated itself out as she went deeper — voices, real ones, dozens of them layered over each other, and beneath them a persistent low hum she felt more in her sternum than her ears." | | 8 | "Not electric light — or not entirely." | | 9 | "Stalls ran the length of them on both sides, crammed against the curved tiled walls, overflowing with objects she couldn't immediately categorise — bottles and jars in colours that had no business being that saturated, rolls of something that looked like fabric but moved when no one touched it, cages that she initially thought were empty until she looked more carefully." | | 10 | "He looked up — not at her, at the stall holder — and said something she couldn't hear from this distance." | | 11 | "One exit that she knew of, and eighty-odd people — at least — between her and whatever her suspect had just handed over in that satchel." |
| |
| 95.26% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1101 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 50 | | adverbRatio | 0.045413260672116255 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.013623978201634877 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 80 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 80 | | mean | 14.34 | | std | 13.94 | | cv | 0.972 | | sampleLengths | | 0 | 22 | | 1 | 2 | | 2 | 32 | | 3 | 3 | | 4 | 37 | | 5 | 8 | | 6 | 71 | | 7 | 2 | | 8 | 3 | | 9 | 5 | | 10 | 24 | | 11 | 19 | | 12 | 7 | | 13 | 23 | | 14 | 8 | | 15 | 36 | | 16 | 6 | | 17 | 24 | | 18 | 7 | | 19 | 1 | | 20 | 10 | | 21 | 2 | | 22 | 4 | | 23 | 3 | | 24 | 44 | | 25 | 16 | | 26 | 2 | | 27 | 9 | | 28 | 25 | | 29 | 5 | | 30 | 2 | | 31 | 7 | | 32 | 28 | | 33 | 2 | | 34 | 40 | | 35 | 5 | | 36 | 2 | | 37 | 8 | | 38 | 6 | | 39 | 3 | | 40 | 6 | | 41 | 31 | | 42 | 15 | | 43 | 14 | | 44 | 5 | | 45 | 5 | | 46 | 23 | | 47 | 3 | | 48 | 5 | | 49 | 15 |
| |
| 47.08% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.35 | | totalSentences | 80 | | uniqueOpeners | 28 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 68 | | matches | | 0 | "Of course he didn't stop." | | 1 | "Literally and figuratively — during" | | 2 | "Then someone else moved at" |
| | ratio | 0.044 | |
| 43.53% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 30 | | totalSentences | 68 | | matches | | 0 | "Her boots hit standing water" | | 1 | "He was fast." | | 2 | "She'd been watching the bar" | | 3 | "He didn't stop." | | 4 | "He cut left down a" | | 5 | "Her torch beam slashed across" | | 6 | "He was already at the" | | 7 | "She gained on him crossing" | | 8 | "Her radio crackled against her" | | 9 | "She glanced up at a" | | 10 | "He'd be long gone." | | 11 | "She ran harder." | | 12 | "He ducked down a staircase" | | 13 | "She registered it in her" | | 14 | "Her torch swept the steps." | | 15 | "She pulled out her phone." | | 16 | "She tried the radio again" | | 17 | "She'd been down rabbit holes" | | 18 | "She knew the shape of" | | 19 | "She pushed the thought away." |
| | ratio | 0.441 | |
| 26.18% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 59 | | totalSentences | 68 | | matches | | 0 | "The rain came down in" | | 1 | "Her boots hit standing water" | | 2 | "He was fast." | | 3 | "She'd been watching the bar" | | 4 | "He didn't stop." | | 5 | "He cut left down a" | | 6 | "The alley stank of wet" | | 7 | "Her torch beam slashed across" | | 8 | "He was already at the" | | 9 | "She gained on him crossing" | | 10 | "A taxi blared its horn" | | 11 | "Her radio crackled against her" | | 12 | "She glanced up at a" | | 13 | "He'd be long gone." | | 14 | "She ran harder." | | 15 | "He ducked down a staircase" | | 16 | "She registered it in her" | | 17 | "The staircase beyond it, descending" | | 18 | "A sign on the gate" | | 19 | "Her torch swept the steps." |
| | ratio | 0.868 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 68 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 35 | | technicalSentenceCount | 8 | | matches | | 0 | "The rain came down in sheets, hammering the Camden pavements into a slick black mirror that threw the streetlights back at everything." | | 1 | "Younger than she'd expected when she'd first clocked him outside the Raven's Nest — early twenties, hooded, carrying a satchel strapped tight across his chest a…" | | 2 | "Six days of cold takeaway coffee and a notebook that was getting fat with observations that didn't quite fit together, and then tonight he'd come out through th…" | | 3 | "He was already at the far end, vaulting a low bollard with the kind of ease that suggested he'd run this route before." | | 4 | "He ducked down a staircase she almost missed entirely — it sat behind a chain-link fence that had been pulled back just enough for a body to squeeze through, th…" | | 5 | "From somewhere below came a sound that wasn't quite silence — a low murmur, the suggestion of voices, something that might have been music or might have been so…" | | 6 | "Stalls ran the length of them on both sides, crammed against the curved tiled walls, overflowing with objects she couldn't immediately categorise — bottles and …" | | 7 | "He stood at a stall halfway down the platform, examining something small in his palm, the Saint Christopher medallion at his throat catching the lantern light." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 1 | | matches | | 0 | "She glanced, chest heaving" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |