| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 11 | | adverbTagCount | 1 | | adverbTags | | 0 | "Eva said quietly [quietly]" |
| | dialogueSentences | 24 | | tagDensity | 0.458 | | leniency | 0.917 | | rawRatio | 0.091 | | effectiveRatio | 0.083 | |
| 84.64% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1628 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "slightly" | | 1 | "gently" | | 2 | "lazily" | | 3 | "sharply" | | 4 | "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) | |
| 69.29% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1628 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "measured" | | 1 | "stark" | | 2 | "blown wide" | | 3 | "charm" | | 4 | "sense of" | | 5 | "etched" | | 6 | "trembled" | | 7 | "quivered" | | 8 | "echo" |
| |
| 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 | 111 | | matches | (empty) | |
| 27.03% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 6 | | narrationSentences | 111 | | filterMatches | | | hedgeMatches | | 0 | "tried to" | | 1 | "seemed to" | | 2 | "started to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 124 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 49 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1637 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 17 | | unquotedAttributions | 0 | | matches | (empty) | |
| 80.56% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 56 | | wordCount | 1368 | | uniqueNames | 17 | | maxNameDensity | 1.39 | | worstName | "Harlow" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Harlow" | | discoveredNames | | Camden | 1 | | Town | 1 | | Quinn | 1 | | Northern | 1 | | Line | 1 | | Kowalski | 1 | | Harlow | 19 | | Eva | 17 | | British | 1 | | Museum | 1 | | Fennell | 4 | | Morris | 3 | | Old | 1 | | Bailey | 1 | | Ancient | 1 | | History | 1 | | Oxford | 1 |
| | persons | | 0 | "Quinn" | | 1 | "Kowalski" | | 2 | "Harlow" | | 3 | "Eva" | | 4 | "Museum" | | 5 | "Fennell" | | 6 | "Morris" | | 7 | "Old" | | 8 | "Bailey" |
| | places | | 0 | "Camden" | | 1 | "Town" | | 2 | "British" | | 3 | "Ancient" | | 4 | "Oxford" |
| | globalScore | 0.806 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 76 | | 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.611 | | wordCount | 1637 | | matches | | 0 | "Not the ambient cold of underground concrete, but a specific, localized drop, as if a door had been left open" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 124 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 41 | | mean | 39.93 | | std | 27.55 | | cv | 0.69 | | sampleLengths | | 0 | 10 | | 1 | 97 | | 2 | 68 | | 3 | 7 | | 4 | 20 | | 5 | 85 | | 6 | 7 | | 7 | 31 | | 8 | 45 | | 9 | 7 | | 10 | 105 | | 11 | 8 | | 12 | 24 | | 13 | 15 | | 14 | 9 | | 15 | 17 | | 16 | 46 | | 17 | 59 | | 18 | 29 | | 19 | 39 | | 20 | 37 | | 21 | 2 | | 22 | 72 | | 23 | 81 | | 24 | 40 | | 25 | 67 | | 26 | 45 | | 27 | 5 | | 28 | 3 | | 29 | 43 | | 30 | 78 | | 31 | 78 | | 32 | 18 | | 33 | 39 | | 34 | 61 | | 35 | 49 | | 36 | 20 | | 37 | 60 | | 38 | 35 | | 39 | 38 | | 40 | 38 |
| |
| 79.97% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 8 | | totalSentences | 111 | | matches | | 0 | "been shuttered" | | 1 | "been polished" | | 2 | "was filmed" | | 3 | "been placed" | | 4 | "was worked" | | 5 | "was etched" | | 6 | "been left" | | 7 | "was supposed" |
| |
| 59.94% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 238 | | matches | | 0 | "was coming" | | 1 | "was bringing" | | 2 | "was holding" | | 3 | "was trying" | | 4 | "was coming" |
| |
| 73.73% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 0 | | flaggedSentences | 3 | | totalSentences | 124 | | ratio | 0.024 | | matches | | 0 | "She turned her attention back to the body and did what she always did, what had kept her alive when DS Morris hadn't — she looked at what wasn't there." | | 1 | "The needle spun lazily, then snapped to attention — not north." | | 2 | "Someone — or something — had left a door open, and this man had been on the wrong side of it when it tried to close." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1251 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 33 | | adverbRatio | 0.026378896882494004 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.007194244604316547 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 124 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 124 | | mean | 13.2 | | std | 10.61 | | cv | 0.804 | | sampleLengths | | 0 | 10 | | 1 | 34 | | 2 | 15 | | 3 | 9 | | 4 | 19 | | 5 | 4 | | 6 | 5 | | 7 | 11 | | 8 | 10 | | 9 | 27 | | 10 | 31 | | 11 | 7 | | 12 | 4 | | 13 | 16 | | 14 | 21 | | 15 | 41 | | 16 | 6 | | 17 | 17 | | 18 | 7 | | 19 | 9 | | 20 | 22 | | 21 | 21 | | 22 | 1 | | 23 | 16 | | 24 | 7 | | 25 | 7 | | 26 | 31 | | 27 | 14 | | 28 | 3 | | 29 | 2 | | 30 | 3 | | 31 | 23 | | 32 | 5 | | 33 | 24 | | 34 | 2 | | 35 | 6 | | 36 | 11 | | 37 | 13 | | 38 | 15 | | 39 | 5 | | 40 | 4 | | 41 | 12 | | 42 | 5 | | 43 | 4 | | 44 | 12 | | 45 | 30 | | 46 | 4 | | 47 | 36 | | 48 | 6 | | 49 | 5 |
| |
| 51.64% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.36885245901639346 | | totalSentences | 122 | | uniqueOpeners | 45 | |
| 67.34% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 99 | | matches | | 0 | "Then again, Fennell liked to" | | 1 | "Of course Eva would see" |
| | ratio | 0.02 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 29 | | totalSentences | 99 | | matches | | 0 | "Her jaw tightened, the sharp" | | 1 | "Her curly red hair was" | | 2 | "Her round glasses reflected the" | | 3 | "She was twenty-six and looked" | | 4 | "She moved past Eva and" | | 5 | "He wore a good wool" | | 6 | "His face was slack, eyes" | | 7 | "His mouth was slightly open." | | 8 | "she asked the constable hovering" | | 9 | "He was holding a clipboard" | | 10 | "She turned her attention back" | | 11 | "It wasn't a keychain or" | | 12 | "It was worked, smoothed at" | | 13 | "She glanced over her shoulder" | | 14 | "She reached for the man's" | | 15 | "It was empty, but his" | | 16 | "It pointed past the body," | | 17 | "She looked back at the" | | 18 | "She stood, her bearing snapping" | | 19 | "She'd never let herself look" |
| | ratio | 0.293 | |
| 81.21% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 75 | | totalSentences | 99 | | matches | | 0 | "The air at the old" | | 1 | "Harlow Quinn stood at the" | | 2 | "The station had been shuttered" | | 3 | "The city had forgotten it." | | 4 | "Uniform had strung tape across" | | 5 | "Harlow showed her warrant card" | | 6 | "Eva Kowalski was already inside" | | 7 | "That stopped Harlow mid-step." | | 8 | "Her jaw tightened, the sharp" | | 9 | "Eva stood too close to" | | 10 | "Her curly red hair was" | | 11 | "Her round glasses reflected the" | | 12 | "She was twenty-six and looked" | | 13 | "Eva glanced up, green eyes" | | 14 | "Harlow's left wrist turned automatically," | | 15 | "Fennell hadn't told her he" | | 16 | "She moved past Eva and" | | 17 | "The man lay on his" | | 18 | "He wore a good wool" | | 19 | "His face was slack, eyes" |
| | ratio | 0.758 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 99 | | matches | | 0 | "As if he'd been placed" | | 1 | "Now the compass needle quivered," |
| | ratio | 0.02 | |
| 34.16% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 46 | | technicalSentenceCount | 7 | | matches | | 0 | "The platform was filmed with a century of soot and lime dust, undisturbed except for the tracks of the maintenance crew that had found him and the fresh scuffs …" | | 1 | "The rational part of her brain, the part that had filed reports and given evidence at the Old Bailey and spent three years trying to make sense of how Morris ha…" | | 2 | "A man in his thirties, laid out like an offering in a sealed station that shouldn't be accessible, with no reason to be here and no way in." | | 3 | "The casing had a patina of verdigris, green blooming at the edges, and the face was etched with fine, concentric sigils that caught the floodlight and seemed to…" | | 4 | "Not the ambient cold of underground concrete, but a specific, localized drop, as if a door had been left open onto winter." | | 5 | "She looked at the undisturbed dust, at the bone token clenched like a fare, at the frost-veins fading from the man's throat, at the compass that refused to poin…" | | 6 | "Behind her, Eva scrambled to follow, her hand tucking that stray curl behind her ear one more time, and the floods buzzed and threw their hard white light over …" |
| |
| 79.55% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 11 | | uselessAdditionCount | 1 | | matches | | 0 | "Eva's, her hand hovering but not touching" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 24 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0 | | effectiveRatio | 0 | |