| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 7 | | tagDensity | 0.571 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 96.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1250 | | totalAiIsmAdverbs | 1 | | found | | | highlights | | |
| 80.00% | AI-ism character names | Target: 0 AI-default names (17 tracked, −20% each) | | codexExemptions | (empty) | | found | | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 80.00% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1250 | | totalAiIsms | 5 | | found | | | highlights | | 0 | "footsteps" | | 1 | "weight" | | 2 | "rhythmic" | | 3 | "pulse" | | 4 | "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 | 0 | | narrationSentences | 54 | | matches | (empty) | |
| 63.49% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 1 | | narrationSentences | 54 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 57 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 104 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1238 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 30 | | wordCount | 1207 | | uniqueNames | 16 | | maxNameDensity | 0.5 | | worstName | "Quinn" | | maxWindowNameDensity | 1 | | worstWindowName | "Street" | | discoveredNames | | Wardour | 1 | | Street | 2 | | Detective | 1 | | Harlow | 1 | | Quinn | 6 | | Marcus | 1 | | Webb | 6 | | Deptford | 1 | | June | 1 | | Brewer | 1 | | Camden | 1 | | Tube | 1 | | Transport | 1 | | London | 1 | | Morris | 4 | | Underground | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Marcus" | | 3 | "Webb" | | 4 | "Morris" | | 5 | "Underground" |
| | places | | 0 | "Wardour" | | 1 | "Street" | | 2 | "Deptford" | | 3 | "Brewer" | | 4 | "Camden" | | 5 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 42 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1238 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 57 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 23 | | mean | 53.83 | | std | 37.48 | | cv | 0.696 | | sampleLengths | | 0 | 91 | | 1 | 99 | | 2 | 115 | | 3 | 58 | | 4 | 20 | | 5 | 42 | | 6 | 75 | | 7 | 72 | | 8 | 10 | | 9 | 52 | | 10 | 40 | | 11 | 143 | | 12 | 16 | | 13 | 88 | | 14 | 71 | | 15 | 3 | | 16 | 18 | | 17 | 48 | | 18 | 92 | | 19 | 33 | | 20 | 5 | | 21 | 30 | | 22 | 17 |
| |
| 79.27% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 54 | | matches | | 0 | "was gone" | | 1 | "were plastered" | | 2 | "been pried" | | 3 | "been built" |
| |
| 60.38% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 191 | | matches | | 0 | "was chasing" | | 1 | "was leading" | | 2 | "was heaving" | | 3 | "was laughing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 57 | | ratio | 0.158 | | matches | | 0 | "That alone told her everything and nothing—Marcus Webb, twenty-six, wanted in connection with three disappearances linked to a warehouse in Deptford, a warehouse that had smelled of copper and ash and something underneath that she still couldn't name three weeks later." | | 1 | "Her radio crackled uselessly against her hip—she hadn't called for backup." | | 2 | "He glanced back once—just once—and what she saw in his face wasn't the panic of a frightened man." | | 3 | "By the time she reached the mouth of the old Tube entrance—boarded up for a decade, if the peeling Transport for London notices were any indication—her chest was heaving and her clothes were plastered to her skin, and Webb was nowhere in sight." | | 4 | "Somewhere far below she heard something—not footsteps, exactly." | | 5 | "Procedure had given up on him in under two years, had let his case go cold and gather dust in an archive box while she kept a small folder of her own, hidden in the back of her flat, full of details no report would ever contain—the burn marks that matched no known accelerant, the witness who swore she'd seen him walk into a wall and not come out the other side, the way his watch, found weeks later in a gutter three streets from where he vanished, had stopped at a time that made no sense with any account of that night." | | 6 | "The tiles gave way to bare concrete, then to something older—stone worn smooth by feet that had trodden it long before the Underground had ever been built, or so it seemed, though that made no architectural sense at all." | | 7 | "At the bottom of the stairs, where the old platform should have been, there was instead a wall—black stone, unmarked, save for a small brass slot at chest height, the kind you might find on an old cigarette machine." | | 8 | "Every rule she'd built her career on told her to turn back now—no warrant covered this, no jurisdiction, nothing in eighteen years of training had prepared her for a locked door demanding payment in bone." |
| |
| 98.42% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1220 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 51 | | adverbRatio | 0.04180327868852459 | | lyAdverbCount | 18 | | lyAdverbRatio | 0.014754098360655738 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 57 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 57 | | mean | 21.72 | | std | 18.74 | | cv | 0.863 | | sampleLengths | | 0 | 38 | | 1 | 53 | | 2 | 8 | | 3 | 41 | | 4 | 26 | | 5 | 24 | | 6 | 29 | | 7 | 13 | | 8 | 11 | | 9 | 29 | | 10 | 12 | | 11 | 1 | | 12 | 20 | | 13 | 24 | | 14 | 18 | | 15 | 3 | | 16 | 5 | | 17 | 6 | | 18 | 2 | | 19 | 15 | | 20 | 5 | | 21 | 2 | | 22 | 40 | | 23 | 43 | | 24 | 32 | | 25 | 15 | | 26 | 32 | | 27 | 8 | | 28 | 2 | | 29 | 15 | | 30 | 5 | | 31 | 3 | | 32 | 2 | | 33 | 52 | | 34 | 25 | | 35 | 15 | | 36 | 8 | | 37 | 27 | | 38 | 5 | | 39 | 103 | | 40 | 16 | | 41 | 39 | | 42 | 49 | | 43 | 39 | | 44 | 32 | | 45 | 3 | | 46 | 18 | | 47 | 6 | | 48 | 42 | | 49 | 6 |
| |
| 81.29% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.5087719298245614 | | totalSentences | 57 | | uniqueOpeners | 29 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 47 | | matches | | 0 | "Just that smell, and a" | | 1 | "Somewhere far below she heard" |
| | ratio | 0.043 | |
| 83.83% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 16 | | totalSentences | 47 | | matches | | 0 | "He'd bolted the moment she'd" | | 1 | "She'd walked into that warehouse" | | 2 | "She caught herself against a" | | 3 | "Her radio crackled uselessly against" | | 4 | "Her partner had trusted his" | | 5 | "He glanced back once—just once—and" | | 6 | "It was calculation." | | 7 | "He was leading her somewhere." | | 8 | "she shouted, uselessly, her voice" | | 9 | "She heard it clearly even" | | 10 | "She drew her torch from" | | 11 | "She thought of the warehouse." | | 12 | "She thought of Morris, and" | | 13 | "Her hand found the grip" | | 14 | "He simply waited, patient as" | | 15 | "She reached into her coat," |
| | ratio | 0.34 | |
| 77.02% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 36 | | totalSentences | 47 | | matches | | 0 | "Rain came down in sheets" | | 1 | "He'd bolted the moment she'd" | | 2 | "That alone told her everything" | | 3 | "She'd walked into that warehouse" | | 4 | "Webb cut left down an" | | 5 | "She caught herself against a" | | 6 | "Her radio crackled uselessly against" | | 7 | "Some instinct, honed over years" | | 8 | "That instinct had a name," | | 9 | "Her partner had trusted his" | | 10 | "The alley spat them both" | | 11 | "He glanced back once—just once—and" | | 12 | "It was calculation." | | 13 | "He was leading her somewhere." | | 14 | "That should have stopped her" | | 15 | "she shouted, uselessly, her voice" | | 16 | "She heard it clearly even" | | 17 | "Quinn stood at the threshold" | | 18 | "She drew her torch from" | | 19 | "Voices, many of them, overlapping" |
| | ratio | 0.766 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 47 | | matches | | 0 | "By the time she reached" |
| | ratio | 0.021 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 34 | | technicalSentenceCount | 11 | | matches | | 0 | "Rain came down in sheets that turned the sodium lights of Wardour Street into smeared orange ribbons, and Detective Harlow Quinn ran through them with her lungs…" | | 1 | "That alone told her everything and nothing—Marcus Webb, twenty-six, wanted in connection with three disappearances linked to a warehouse in Deptford, a warehous…" | | 2 | "She heard it clearly even over the storm, a short bark of sound that carried none of the desperation she'd expect from a man running from the law, and then he w…" | | 3 | "But the boards over the entrance had been pried loose, one of them hanging by a single rusted nail, swinging faintly in a draft that shouldn't have existed in a…" | | 4 | "She drew her torch from her coat and clicked it on, the beam cutting weakly through the dark stairwell that descended below street level, tiled walls green with…" | | 5 | "Voices, many of them, overlapping in a way that didn't belong to an empty station." | | 6 | "She thought of Morris, and the way his file had been quietly closed eighteen months after his disappearance, the official verdict citing no evidence of foul pla…" | | 7 | "Procedure had given up on him in under two years, had let his case go cold and gather dust in an archive box while she kept a small folder of her own, hidden in…" | | 8 | "The tiles gave way to bare concrete, then to something older—stone worn smooth by feet that had trodden it long before the Underground had ever been built, or s…" | | 9 | "She reached into her coat, found nothing that could possibly serve as the token the doorman wanted, and asked instead, low and steady, the way she'd once asked …" | | 10 | "The hooded man finally turned his head, and beneath the shadow of his hood she caught the faint gleam of eyes that were not, she was almost sure, entirely human…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 25.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 7 | | tagDensity | 0.571 | | leniency | 1 | | rawRatio | 0.25 | | effectiveRatio | 0.25 | |