| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 8 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 14 | | tagDensity | 0.571 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1776 | | 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) | |
| 80.29% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1776 | | totalAiIsms | 7 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | word | "the last thing" | | count | 1 |
| | 5 | |
| | highlights | | 0 | "weight" | | 1 | "electric" | | 2 | "database" | | 3 | "resolved" | | 4 | "the last thing" | | 5 | "fluttered" |
| |
| 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 | 1 | | narrationSentences | 100 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 0 | | narrationSentences | 100 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 106 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 67 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 5 | | markdownWords | 12 | | totalWords | 1792 | | ratio | 0.007 | | matches | | 0 | "unexplained circumstances" | | 1 | "clique" | | 2 | "Insufficient basis." | | 3 | "mobile, subterranean, entry by token." | | 4 | "approximately human" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 97.85% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 43 | | wordCount | 1630 | | uniqueNames | 19 | | maxNameDensity | 1.04 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Soho | 1 | | Berwick | 1 | | Street | 1 | | Raven | 3 | | Nest | 3 | | Quinn | 17 | | Saint | 1 | | Christopher | 1 | | Charing | 1 | | Cross | 1 | | Road | 1 | | Morris | 2 | | Tube | 1 | | Camden | 2 | | Veil | 1 | | Market | 1 | | Spanish | 1 | | England | 1 | | Herrera | 3 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Quinn" | | 3 | "Saint" | | 4 | "Christopher" | | 5 | "Morris" | | 6 | "Spanish" | | 7 | "Herrera" |
| | places | | 0 | "Soho" | | 1 | "Berwick" | | 2 | "Street" | | 3 | "Charing" | | 4 | "Cross" | | 5 | "Road" | | 6 | "England" |
| | globalScore | 0.979 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 67 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.558 | | wordCount | 1792 | | matches | | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 106 | | matches | | 0 | "see that it" | | 1 | "considered that the" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 40 | | mean | 44.8 | | std | 34.95 | | cv | 0.78 | | sampleLengths | | 0 | 86 | | 1 | 19 | | 2 | 63 | | 3 | 34 | | 4 | 53 | | 5 | 6 | | 6 | 3 | | 7 | 102 | | 8 | 2 | | 9 | 101 | | 10 | 5 | | 11 | 76 | | 12 | 26 | | 13 | 93 | | 14 | 72 | | 15 | 14 | | 16 | 59 | | 17 | 7 | | 18 | 74 | | 19 | 29 | | 20 | 4 | | 21 | 112 | | 22 | 17 | | 23 | 93 | | 24 | 3 | | 25 | 63 | | 26 | 117 | | 27 | 33 | | 28 | 7 | | 29 | 28 | | 30 | 60 | | 31 | 52 | | 32 | 13 | | 33 | 47 | | 34 | 6 | | 35 | 81 | | 36 | 28 | | 37 | 16 | | 38 | 20 | | 39 | 68 |
| |
| 84.21% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 100 | | matches | | 0 | "was gone" | | 1 | "been permitted" | | 2 | "been given" | | 3 | "been built" | | 4 | "was surprised" | | 5 | "been told" |
| |
| 19.82% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 7 | | totalVerbs | 259 | | matches | | 0 | "wasn't running" | | 1 | "was running" | | 2 | "wasn't looking" | | 3 | "was haggling" | | 4 | "was looking" | | 5 | "were seeing" | | 6 | "wasn't looking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 15 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 106 | | ratio | 0.104 | | matches | | 0 | "Out came a man she didn't recognise — young, slight, hood up, moving with the quick, nervous economy of someone who expects to be followed." | | 1 | "It simply happened, the way it always happened — a body in motion, a body in pursuit, the street narrowing to the space between them." | | 2 | "The alley spat them out onto Charing Cross Road and the man went north, which was wrong — north was the wrong direction entirely if he wanted to disappear, north was open ground — and Quinn understood, in the part of her brain that had once been good at this before Morris, that he wasn't running away from her." | | 3 | "It caught her ribs — amateur, sloppy, but it hurt — and he wrenched free and was gone into the crossing against the lights." | | 4 | "By the time she dropped to the other side he was at a door set into the brickwork of what her map, later, would tell her had been a Tube station — disused, tiled, the roundel long since pried from its fixings." | | 5 | "Nothing but a stairwell spiralling down into a light that was not electric — amber, unsteady, the colour of a struck match held too long." | | 6 | "11:56, and somewhere beneath Camden a market that the file she'd pulled — illegally, at eleven o'clock that morning, from a database that should not have contained it — described as *mobile, subterranean, entry by token.* The full moon was in two days." | | 7 | "The amber light came from lanterns hung at intervals — real lanterns, flame behind clouded glass — and by their glow she counted eleven flights before the corridor opened and the sound resolved into people." | | 8 | "He was looking at her over his shoulder, and his expression had changed — no longer fear, but something worse: pity." | | 9 | "He held up the arm with the scar, and in the lantern light she could see that it was healing wrong — the tissue beneath the skin shifting, alive in a way that living tissue should not be." | | 10 | "Herrera glanced past her, up the corridor, and something passed across his face — a quick, involuntary calculation." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1619 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 44 | | adverbRatio | 0.027177269919703522 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.0067943174799258805 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 106 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 106 | | mean | 16.91 | | std | 15.66 | | cv | 0.926 | | sampleLengths | | 0 | 13 | | 1 | 31 | | 2 | 42 | | 3 | 9 | | 4 | 10 | | 5 | 54 | | 6 | 9 | | 7 | 18 | | 8 | 16 | | 9 | 25 | | 10 | 3 | | 11 | 16 | | 12 | 3 | | 13 | 6 | | 14 | 6 | | 15 | 3 | | 16 | 9 | | 17 | 25 | | 18 | 14 | | 19 | 54 | | 20 | 2 | | 21 | 3 | | 22 | 22 | | 23 | 5 | | 24 | 1 | | 25 | 2 | | 26 | 9 | | 27 | 59 | | 28 | 5 | | 29 | 6 | | 30 | 41 | | 31 | 5 | | 32 | 24 | | 33 | 4 | | 34 | 3 | | 35 | 19 | | 36 | 1 | | 37 | 27 | | 38 | 10 | | 39 | 38 | | 40 | 17 | | 41 | 42 | | 42 | 6 | | 43 | 11 | | 44 | 13 | | 45 | 14 | | 46 | 3 | | 47 | 14 | | 48 | 12 | | 49 | 5 |
| |
| 44.76% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.34285714285714286 | | totalSentences | 105 | | uniqueOpeners | 36 | |
| 73.26% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 91 | | matches | | 0 | "Then, three steps later, he" | | 1 | "Then she looked down." |
| | ratio | 0.022 | |
| 66.15% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 35 | | totalSentences | 91 | | matches | | 0 | "It came off the roofs" | | 1 | "She turned her wrist, caught" | | 2 | "He turned left." | | 3 | "His face lifted." | | 4 | "It was not a considered" | | 5 | "It simply happened, the way" | | 6 | "She had eighteen years of" | | 7 | "He didn't stop." | | 8 | "He cut hard right, shoulder-checking" | | 9 | "He was running toward something." | | 10 | "She gained again at the" | | 11 | "Her hand caught the back" | | 12 | "He drove an elbow backward." | | 13 | "It caught her ribs —" | | 14 | "She struck the bonnet of" | | 15 | "She knew the geography the" | | 16 | "He plunged down a side" | | 17 | "She took the stairs three" | | 18 | "He had something in his" | | 19 | "He went through." |
| | ratio | 0.385 | |
| 53.41% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 74 | | totalSentences | 91 | | matches | | 0 | "The rain had been falling" | | 1 | "It came off the roofs" | | 2 | "Harlow Quinn stood in the" | | 3 | "The leather watch on her" | | 4 | "She turned her wrist, caught" | | 5 | "Tonight the woman in the" | | 6 | "The door of The Raven's" | | 7 | "Quinn's hand went to her" | | 8 | "He turned left." | | 9 | "His face lifted." | | 10 | "Quinn stepped out of the" | | 11 | "The man ran." | | 12 | "It was not a considered" | | 13 | "It simply happened, the way" | | 14 | "Quinn's boots hit the puddles" | | 15 | "She had eighteen years of" | | 16 | "He didn't stop." | | 17 | "He cut hard right, shoulder-checking" | | 18 | "Quinn went in after him." | | 19 | "A cat that erupted from" |
| | ratio | 0.813 | |
| 54.95% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 91 | | matches | | 0 | "By the time she dropped" |
| | ratio | 0.011 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 49 | | technicalSentenceCount | 13 | | matches | | 0 | "It came off the roofs of Soho in sheets, gutting the gutters, turning Berwick Street into a black mirror that carried the green bleed of the sign above The Rave…" | | 1 | "Fourteen days of surveillance and the pattern had finally congealed: the bar took deliveries at odd hours, the same three faces came and went, and twice now a w…" | | 2 | "Out came a man she didn't recognise — young, slight, hood up, moving with the quick, nervous economy of someone who expects to be followed." | | 3 | "She had eighteen years of this in her legs and the years showed: she gained on him along the first block, close enough to see the Saint Christopher medallion sw…" | | 4 | "The alley spat them out onto Charing Cross Road and the man went north, which was wrong — north was the wrong direction entirely if he wanted to disappear, nort…" | | 5 | "Her hand caught the back of his parka and he spun, and for a half-second they were face to face in the headlights of a taxi, his eyes wide and wet and bright wi…" | | 6 | "She knew the geography the way you know the inside of a wound: the lock market shutters, the bridge, the strip of bars that emptied at midnight." | | 7 | "Nothing but a stairwell spiralling down into a light that was not electric — amber, unsteady, the colour of a struck match held too long." | | 8 | "She thought of the woman in the grey parka who left through an alley that led nowhere, and the bookshelf in the back room of The Raven's Nest that no one had be…" | | 9 | "11:56, and somewhere beneath Camden a market that the file she'd pulled — illegally, at eleven o'clock that morning, from a database that should not have contai…" | | 10 | "Stalls had been built into the curved walls between the pillars, draped in cloth the colour of old blood, selling things she could not catalogue: bottles that m…" | | 11 | "Below, the market's endless low murmur, the lantern-flame, the thing in the jars that turned to face her when she wasn't looking at it directly." | | 12 | "He turned and walked deeper into the market, and Quinn Quinn followed him down, and the door at the top of the stairwell swung shut behind her on its own weight…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 8 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 14 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |