| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 95.58% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1131 | | totalAiIsmAdverbs | 1 | | 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) | |
| 82.32% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1131 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "scanning" | | 1 | "tinged" | | 2 | "electric" | | 3 | "chill" |
| |
| 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 | 60 | | matches | (empty) | |
| 47.62% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 3 | | narrationSentences | 60 | | filterMatches | | | hedgeMatches | | 0 | "try to" | | 1 | "seemed to" | | 2 | "happened to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 61 | | 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 | 6 | | markdownWords | 49 | | totalWords | 1125 | | ratio | 0.044 | | matches | | 0 | "male, thirties, moves like he's not touching the ground half the time" | | 1 | "This isn't procedure," | | 2 | "No backup, no radio contact, no idea what's down there." | | 3 | "Morris didn't have backup either," | | 4 | "Didn't stop it from taking him." | | 5 | "requesting backup, suspect vanished into a hole in the ground, possible occult activity" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 21 | | wordCount | 1123 | | uniqueNames | 11 | | maxNameDensity | 0.53 | | worstName | "Quinn" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Quinn" | | discoveredNames | | Soho | 1 | | Harlow | 1 | | Quinn | 6 | | Raven | 1 | | Nest | 2 | | Thames | 2 | | Underground | 1 | | Camden | 1 | | Met | 1 | | Morris | 4 | | Tube | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Raven" | | 3 | "Morris" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 47 | | glossingSentenceCount | 3 | | matches | | 0 | "something like woodsmoke and copper and an u" | | 1 | "not quite wrapped in coats and hoods against a chill that had no business existing this far underground" | | 2 | "looked like human teeth strung on silver" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1125 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 61 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 24 | | mean | 46.88 | | std | 33.88 | | cv | 0.723 | | sampleLengths | | 0 | 53 | | 1 | 73 | | 2 | 2 | | 3 | 19 | | 4 | 137 | | 5 | 15 | | 6 | 59 | | 7 | 5 | | 8 | 64 | | 9 | 5 | | 10 | 59 | | 11 | 83 | | 12 | 37 | | 13 | 24 | | 14 | 77 | | 15 | 55 | | 16 | 24 | | 17 | 15 | | 18 | 98 | | 19 | 52 | | 20 | 4 | | 21 | 80 | | 22 | 62 | | 23 | 23 |
| |
| 99.42% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 60 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 186 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 61 | | ratio | 0.115 | | matches | | 0 | "The suspect—she still didn't have a name, just a description scrawled in her notebook, *male, thirties, moves like he's not touching the ground half the time*—had bolted the second she'd flashed her badge outside the bar." | | 1 | "She thought of Camden, and the whispers she'd been chasing for a month—rumors traded between informants who wouldn't meet her eyes, about a market that moved like smoke beneath the city, about people who paid for entry with bones instead of banknotes." | | 2 | "Thought about how that call would sound—*requesting backup, suspect vanished into a hole in the ground, possible occult activity*—and how fast that would end her career, or worse, how fast someone above her pay grade would quietly reassign the case and bury it the way they'd buried Morris's file." | | 3 | "Quinn stood, rain running down the back of her collar, and made her decision the way she made all her decisions—quickly, and without permission." | | 4 | "Twenty rungs, thirty, the air changing—growing warmer, tinged with something like woodsmoke and copper and an undertone of something floral and wrong, like flowers grown in the dark." | | 5 | "Light bled in from somewhere ahead—warm, amber, flickering like torchlight rather than electric." | | 6 | "Figures moved between them—some human-shaped, some not quite, wrapped in coats and hoods against a chill that had no business existing this far underground." |
| |
| 97.12% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1132 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 49 | | adverbRatio | 0.04328621908127209 | | lyAdverbCount | 16 | | lyAdverbRatio | 0.014134275618374558 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 61 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 61 | | mean | 18.44 | | std | 12.56 | | cv | 0.681 | | sampleLengths | | 0 | 18 | | 1 | 35 | | 2 | 36 | | 3 | 12 | | 4 | 3 | | 5 | 22 | | 6 | 2 | | 7 | 14 | | 8 | 5 | | 9 | 34 | | 10 | 13 | | 11 | 39 | | 12 | 14 | | 13 | 37 | | 14 | 8 | | 15 | 4 | | 16 | 3 | | 17 | 30 | | 18 | 19 | | 19 | 5 | | 20 | 2 | | 21 | 3 | | 22 | 5 | | 23 | 11 | | 24 | 5 | | 25 | 24 | | 26 | 24 | | 27 | 5 | | 28 | 34 | | 29 | 9 | | 30 | 8 | | 31 | 1 | | 32 | 7 | | 33 | 42 | | 34 | 21 | | 35 | 20 | | 36 | 27 | | 37 | 10 | | 38 | 18 | | 39 | 6 | | 40 | 6 | | 41 | 49 | | 42 | 22 | | 43 | 33 | | 44 | 22 | | 45 | 24 | | 46 | 15 | | 47 | 30 | | 48 | 28 | | 49 | 40 |
| |
| 79.23% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.5245901639344263 | | totalSentences | 61 | | uniqueOpeners | 32 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 58 | | matches | | 0 | "Then he simply wasn't there." | | 1 | "Then she saw the grate." | | 2 | "Somewhere, a bell rang, low" |
| | ratio | 0.052 | |
| 95.86% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 18 | | totalSentences | 58 | | matches | | 0 | "Her voice cracked against the" | | 1 | "He didn't even glance back." | | 2 | "She'd been watching the Nest" | | 3 | "She wasn't going to make" | | 4 | "He was thirty yards ahead." | | 5 | "She was closing." | | 6 | "She stood there, hand hovering" | | 7 | "She crouched, put her palm" | | 8 | "She thought of Camden, and" | | 9 | "She'd dismissed it as addict" | | 10 | "She thought about calling it" | | 11 | "She thought about the coroner's" | | 12 | "She thought about the scar" | | 13 | "She swung her legs over" | | 14 | "Her feet finally found solid" | | 15 | "She followed it down a" | | 16 | "It was not empty." | | 17 | "She stepped onto the platform," |
| | ratio | 0.31 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 40 | | totalSentences | 58 | | matches | | 0 | "Rain came down in silver" | | 1 | "Detective Harlow Quinn's boots hit" | | 2 | "The suspect—she still didn't have" | | 3 | "Her voice cracked against the" | | 4 | "He didn't even glance back." | | 5 | "She'd been watching the Nest" | | 6 | "Quinn had a list of" | | 7 | "Morris used to tease her" | | 8 | "Morris had been dead three" | | 9 | "She wasn't going to make" | | 10 | "The suspect cut left down" | | 11 | "The alley opened onto a" | | 12 | "He was thirty yards ahead." | | 13 | "She was closing." | | 14 | "Quinn skidded to a stop," | | 15 | "Rain hissed off the tarmac." | | 16 | "She stood there, hand hovering" | | 17 | "An old maintenance hatch, the" | | 18 | "She crouched, put her palm" | | 19 | "Someone had been through here," |
| | ratio | 0.69 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 58 | | matches | | 0 | "Now, kneeling in the rain" | | 1 | "To actually know what had" |
| | ratio | 0.034 | |
| 20.91% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 41 | | technicalSentenceCount | 7 | | matches | | 0 | "Detective Harlow Quinn's boots hit the wet stone hard, her breath sawing in her chest, the green glow of the Raven's Nest sign smearing past her peripheral visi…" | | 1 | "An old maintenance hatch, the kind that led down into disused Underground infrastructure, half-hidden behind a rubbish skip, its cover shifted just enough to sh…" | | 2 | "She thought of Camden, and the whispers she'd been chasing for a month—rumors traded between informants who wouldn't meet her eyes, about a market that moved li…" | | 3 | "Now, kneeling in the rain with her hand on a warm grate that shouldn't be warm, she wasn't so sure." | | 4 | "*This isn't procedure,* said the part of her brain that had made detective inspector twice over, that had commendations from the Met framed on her office wall." | | 5 | "Figures moved between them—some human-shaped, some not quite, wrapped in coats and hoods against a chill that had no business existing this far underground." | | 6 | "But her suspect was thirty feet away, disappearing between a stall hung with what looked like human teeth strung on silver wire and a woman selling bottled smok…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |