| 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 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1006 | | 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) | |
| 55.27% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1006 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "standard" | | 1 | "scanning" | | 2 | "predator" | | 3 | "electric" | | 4 | "dancing" | | 5 | "velvet" | | 6 | "familiar" | | 7 | "warmth" | | 8 | "echoed" |
| |
| 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 | 65 | | matches | | |
| 76.92% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 65 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 68 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 35 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 994 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 1 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 28 | | wordCount | 968 | | uniqueNames | 13 | | maxNameDensity | 0.93 | | worstName | "Quinn" | | maxWindowNameDensity | 1.5 | | worstWindowName | "London" | | discoveredNames | | Soho | 1 | | Friday | 2 | | Raven | 1 | | Nest | 1 | | Morris | 4 | | Metropolitan | 1 | | Police | 1 | | Camden | 1 | | London | 3 | | Met | 1 | | Tube | 2 | | Chelsea | 1 | | Quinn | 9 |
| | persons | | 0 | "Morris" | | 1 | "Police" | | 2 | "Met" | | 3 | "Tube" | | 4 | "Chelsea" | | 5 | "Quinn" |
| | places | | 0 | "Soho" | | 1 | "Raven" | | 2 | "Camden" | | 3 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 57.41% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 54 | | glossingSentenceCount | 2 | | matches | | 0 | "looked like animal skulls arranged on bla" | | 1 | "features that seemed to crawl in the strange light" |
| |
| 99.40% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 1.006 | | wordCount | 994 | | matches | | 0 | "Not natural damage but a deliberate opening, perhaps two feet wide, descending into" |
| |
| 68.63% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 68 | | matches | | 0 | "did that backup" | | 1 | "surfaces that predated" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 31 | | mean | 32.06 | | std | 22.47 | | cv | 0.701 | | sampleLengths | | 0 | 50 | | 1 | 57 | | 2 | 53 | | 3 | 61 | | 4 | 54 | | 5 | 1 | | 6 | 32 | | 7 | 1 | | 8 | 47 | | 9 | 56 | | 10 | 4 | | 11 | 48 | | 12 | 15 | | 13 | 8 | | 14 | 66 | | 15 | 8 | | 16 | 2 | | 17 | 44 | | 18 | 38 | | 19 | 79 | | 20 | 54 | | 21 | 24 | | 22 | 9 | | 23 | 39 | | 24 | 23 | | 25 | 2 | | 26 | 23 | | 27 | 41 | | 28 | 17 | | 29 | 34 | | 30 | 4 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 65 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 160 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 1 | | flaggedSentences | 8 | | totalSentences | 68 | | ratio | 0.118 | | matches | | 0 | "The suspect glanced back once, hood falling away to reveal a pale face marked with something that caught the streetlight wrong—tattoos or scars that seemed to shift in the darkness." | | 1 | "Military training from her early twenties still held—the body remembered what the mind wanted to forget." | | 2 | "Then she saw it—the bin pulled away from the wall, just enough to reveal a gap in the brickwork." | | 3 | "Water seeped through cracks overhead, and the air grew thick with earth and something else—incense maybe, or herbs burning somewhere in the darkness ahead." | | 4 | "The old Tube tiles remained on the walls, but stalls and tents crowded the space between rusty tracks, lit by lanterns that burned without flame—cold light in colors that hurt to look at directly." | | 5 | "They simply noticed her the way one notices a wrong note in familiar music—with interest and faint disappointment." | | 6 | "Her plainclothes meant nothing here; she wore authority like cologne, unmistakable and unwelcome." | | 7 | "A vendor closest to her—ancient enough that gender became academic, wrapped in layers of wool despite the underground warmth—smiled with too many teeth." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 980 | | adjectiveStacks | 1 | | stackExamples | | 0 | "hammered against wet pavement," |
| | adverbCount | 34 | | adverbRatio | 0.03469387755102041 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.007142857142857143 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 68 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 68 | | mean | 14.62 | | std | 8.85 | | cv | 0.606 | | sampleLengths | | 0 | 21 | | 1 | 29 | | 2 | 26 | | 3 | 15 | | 4 | 16 | | 5 | 14 | | 6 | 13 | | 7 | 26 | | 8 | 12 | | 9 | 30 | | 10 | 19 | | 11 | 14 | | 12 | 16 | | 13 | 24 | | 14 | 1 | | 15 | 8 | | 16 | 3 | | 17 | 2 | | 18 | 19 | | 19 | 1 | | 20 | 19 | | 21 | 14 | | 22 | 14 | | 23 | 11 | | 24 | 16 | | 25 | 5 | | 26 | 24 | | 27 | 4 | | 28 | 31 | | 29 | 17 | | 30 | 6 | | 31 | 9 | | 32 | 2 | | 33 | 6 | | 34 | 33 | | 35 | 33 | | 36 | 8 | | 37 | 2 | | 38 | 20 | | 39 | 24 | | 40 | 12 | | 41 | 7 | | 42 | 19 | | 43 | 15 | | 44 | 34 | | 45 | 30 | | 46 | 17 | | 47 | 17 | | 48 | 20 | | 49 | 3 |
| |
| 71.08% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.47058823529411764 | | totalSentences | 68 | | uniqueOpeners | 32 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 61 | | matches | | 0 | "Then he dove into an" | | 1 | "Just brick and bins and" | | 2 | "Then she saw it—the bin" | | 3 | "Even the unnatural lantern light" |
| | ratio | 0.066 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 12 | | totalSentences | 61 | | matches | | 0 | "She'd been tailing the contact" | | 1 | "They crossed into Camden, the" | | 2 | "She turned in place, scanning" | | 3 | "She pressed her radio." | | 4 | "She rattled off the street" | | 5 | "She thought about Morris, about" | | 6 | "She thought about the three" | | 7 | "She'd found it." | | 8 | "They simply noticed her the" | | 9 | "Her plainclothes meant nothing here;" | | 10 | "Her suspect stood three stalls" | | 11 | "He made no move to" |
| | ratio | 0.197 | |
| 74.75% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 47 | | totalSentences | 61 | | matches | | 0 | "Quinn's boots hammered against wet" | | 1 | "She'd been tailing the contact" | | 2 | "The same bar where her" | | 3 | "The suspect vaulted over a" | | 4 | "Quinn followed, her hand instinctively" | | 5 | "The Metropolitan Police didn't authorize" | | 6 | "They crossed into Camden, the" | | 7 | "The suspect glanced back once," | | 8 | "Quinn hit the alley three" | | 9 | "Military training from her early" | | 10 | "The alley terminated in a" | | 11 | "She turned in place, scanning" | | 12 | "The kind of entrance that" | | 13 | "Quinn crouched beside the opening," | | 14 | "The beam cut through darkness" | | 15 | "Victorian era maybe, or earlier." | | 16 | "The city had layers like" | | 17 | "She pressed her radio." | | 18 | "She rattled off the street" | | 19 | "Friday night had the Met" |
| | ratio | 0.77 | |
| 81.97% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 61 | | matches | | 0 | "Before the crime scene photos" |
| | ratio | 0.016 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 45 | | technicalSentenceCount | 9 | | matches | | 0 | "Twenty meters ahead, the suspect's dark jacket disappeared around another corner, weaving through knots of Friday night revelers who scattered with curses as bo…" | | 1 | "The suspect glanced back once, hood falling away to reveal a pale face marked with something that caught the streetlight wrong—tattoos or scars that seemed to s…" | | 2 | "The kind of entrance that screamed bad decision to every functioning instinct she possessed." | | 3 | "She thought about Morris, about the official report that called it an accident despite the melted gun and the witness statements describing lights that shouldn'…" | | 4 | "She thought about the three other cases since then, each connected to that same bar, each closed with explanations that satisfied brass but rang hollow to anyon…" | | 5 | "The stairs terminated in a tunnel that stretched both directions into black." | | 6 | "A woman in a hijab haggled over bottles filled with liquid that moved independent of the containers." | | 7 | "The underground market that kept appearing in witness statements from the supernatural-adjacent cases, always dismissed as drug-addled fantasy or attention-seek…" | | 8 | "Her suspect stood three stalls down, watching her with those marked features that seemed to crawl in the strange light." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |