| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 17 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 38 | | tagDensity | 0.447 | | leniency | 0.895 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 93.29% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1491 | | totalAiIsmAdverbs | 2 | | 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) | |
| 56.41% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1491 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "rhythmic" | | 1 | "gloom" | | 2 | "silence" | | 3 | "flickered" | | 4 | "database" | | 5 | "dance" | | 6 | "echoed" | | 7 | "anticipation" | | 8 | "charged" | | 9 | "whisper" | | 10 | "scanning" |
| |
| 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 | 2 | | narrationSentences | 109 | | matches | | 0 | "looked terrified" | | 1 | "d in terror" |
| |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 2 | | narrationSentences | 109 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 130 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 36 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 1 | | totalWords | 1488 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 43 | | wordCount | 1251 | | uniqueNames | 15 | | maxNameDensity | 1.36 | | worstName | "Harlow" | | maxWindowNameDensity | 3 | | worstWindowName | "Harlow" | | discoveredNames | | London | 1 | | Quinn | 1 | | Old | 1 | | Kent | 1 | | Road | 1 | | Herrera | 4 | | Tube | 1 | | Morris | 3 | | Harlow | 17 | | Tomás | 8 | | Saint | 1 | | Christopher | 1 | | Five | 1 | | Veil | 1 | | Market | 1 |
| | persons | | 0 | "Quinn" | | 1 | "Herrera" | | 2 | "Morris" | | 3 | "Harlow" | | 4 | "Tomás" | | 5 | "Saint" | | 6 | "Christopher" | | 7 | "Veil" |
| | places | | 0 | "London" | | 1 | "Old" | | 2 | "Kent" | | 3 | "Road" |
| | globalScore | 0.821 | | windowScore | 0.667 | |
| 45.83% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 72 | | glossingSentenceCount | 3 | | matches | | 0 | "looked like it hadn't seen sunlight in a" | | 1 | "as if realizing for the first time how isolated they were" | | 2 | "shadows that seemed to dance of their own accord" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.672 | | wordCount | 1488 | | matches | | 0 | "Not with the curiosity of a street cop, but with the anticipation of a shark scenting blood" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 130 | | matches | | 0 | "look, that this" | | 1 | "whispering that she" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 55 | | mean | 27.05 | | std | 19.07 | | cv | 0.705 | | sampleLengths | | 0 | 76 | | 1 | 22 | | 2 | 52 | | 3 | 75 | | 4 | 26 | | 5 | 4 | | 6 | 35 | | 7 | 41 | | 8 | 37 | | 9 | 7 | | 10 | 6 | | 11 | 56 | | 12 | 44 | | 13 | 15 | | 14 | 40 | | 15 | 5 | | 16 | 27 | | 17 | 28 | | 18 | 36 | | 19 | 19 | | 20 | 26 | | 21 | 18 | | 22 | 15 | | 23 | 44 | | 24 | 3 | | 25 | 21 | | 26 | 47 | | 27 | 75 | | 28 | 14 | | 29 | 20 | | 30 | 3 | | 31 | 14 | | 32 | 8 | | 33 | 3 | | 34 | 17 | | 35 | 43 | | 36 | 66 | | 37 | 27 | | 38 | 8 | | 39 | 18 | | 40 | 11 | | 41 | 17 | | 42 | 26 | | 43 | 42 | | 44 | 26 | | 45 | 5 | | 46 | 17 | | 47 | 3 | | 48 | 33 | | 49 | 24 |
| |
| 85.95% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 109 | | matches | | 0 | "was plastered" | | 1 | "was gone" | | 2 | "was gone" | | 3 | "was replaced" | | 4 | "been found" | | 5 | "been lifted" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 11 | | totalVerbs | 221 | | matches | | 0 | "were already beginning" | | 1 | "was being" | | 2 | "was coming" | | 3 | "was hanging" | | 4 | "were watching" | | 5 | "was running" | | 6 | "wasn't running" | | 7 | "were hawking" | | 8 | "were looking" | | 9 | "was standing" | | 10 | "was telling" |
| |
| 10.99% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 3 | | semicolonCount | 3 | | flaggedSentences | 6 | | totalSentences | 130 | | ratio | 0.046 | | matches | | 0 | "The rain in London didn’t wash the grime away; it just made the city look slicker, a ballroom floor of black tarmac, orange brick, and leaking neon." | | 1 | "Ahead, the smell of dampness was replaced by the cloying scent of incense—sandalwood and something sweeter, like rotting fruit." | | 2 | "But there was something else in his eyes—panicked but also desperate." | | 3 | "He wasn't running from the police; he was running from *this* place." | | 4 | "Vendors were hawking things in hushed tones—faintly glowing potions in glass vials, daggers that looked too light to be made of steel, stacks of paper that might have been maps to somewhere Harlow didn't recognize." | | 5 | "She didn't reach for her weapon; the energy in the air felt charged, volatile." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1259 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 45 | | adverbRatio | 0.035742652899126294 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.010325655281969817 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 130 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 130 | | mean | 11.45 | | std | 8.33 | | cv | 0.728 | | sampleLengths | | 0 | 27 | | 1 | 19 | | 2 | 30 | | 3 | 22 | | 4 | 2 | | 5 | 28 | | 6 | 18 | | 7 | 4 | | 8 | 21 | | 9 | 26 | | 10 | 28 | | 11 | 18 | | 12 | 3 | | 13 | 3 | | 14 | 2 | | 15 | 3 | | 16 | 1 | | 17 | 20 | | 18 | 15 | | 19 | 10 | | 20 | 16 | | 21 | 15 | | 22 | 23 | | 23 | 14 | | 24 | 4 | | 25 | 2 | | 26 | 1 | | 27 | 6 | | 28 | 3 | | 29 | 25 | | 30 | 21 | | 31 | 7 | | 32 | 6 | | 33 | 4 | | 34 | 12 | | 35 | 22 | | 36 | 8 | | 37 | 7 | | 38 | 6 | | 39 | 3 | | 40 | 12 | | 41 | 19 | | 42 | 5 | | 43 | 3 | | 44 | 15 | | 45 | 9 | | 46 | 28 | | 47 | 25 | | 48 | 7 | | 49 | 4 |
| |
| 51.28% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.35384615384615387 | | totalSentences | 130 | | uniqueOpeners | 46 | |
| 34.72% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 96 | | matches | | 0 | "Instead, she slipped through the" |
| | ratio | 0.01 | |
| 40.83% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 43 | | totalSentences | 96 | | matches | | 0 | "She watched him through the" | | 1 | "Her face was plastered on" | | 2 | "She could hear him ahead," | | 3 | "She reached the mouth of" | | 4 | "He was gone." | | 5 | "She moved closer, her breath" | | 6 | "She heard a voice." | | 7 | "Her gut told her that" | | 8 | "Her partner’s ghost, DS Morris," | | 9 | "She didn't kick the door" | | 10 | "She didn't announce herself." | | 11 | "She dropped to a crouch" | | 12 | "Her eyes took a moment" | | 13 | "She wasn't in an alley" | | 14 | "She was underground." | | 15 | "she called out softly" | | 16 | "It was Herrera, though he" | | 17 | "He clutched a small, tarnished" | | 18 | "It was a weird thing" | | 19 | "She wore it always." |
| | ratio | 0.448 | |
| 64.17% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 76 | | totalSentences | 96 | | matches | | 0 | "The rain in London didn’t" | | 1 | "Harlow Quinn adjusted the grip" | | 2 | "She watched him through the" | | 3 | "Her face was plastered on" | | 4 | "The forensic report had called" | | 5 | "Harlow called it murder." | | 6 | "Herrera turned the corner, melting" | | 7 | "Harlow broke into a run," | | 8 | "She could hear him ahead," | | 9 | "She reached the mouth of" | | 10 | "He was gone." | | 11 | "She moved closer, her breath" | | 12 | "The light was coming from" | | 13 | "Harlow drew her gun, the" | | 14 | "The entrance was a heavy" | | 15 | "She heard a voice." | | 16 | "Harlow’s jaw tightened." | | 17 | "Her gut told her that" | | 18 | "Her partner’s ghost, DS Morris," | | 19 | "She didn't kick the door" |
| | ratio | 0.792 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 96 | | matches | | 0 | "Before the unexplained swallowed someone" | | 1 | "If Tomás was telling the" |
| | ratio | 0.021 | |
| 31.75% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 45 | | technicalSentenceCount | 7 | | matches | | 0 | "Her face was plastered on every screen in the squad room, wanted for questioning regarding the distribution of unregulated compounds that had already claimed tw…" | | 1 | "Harlow broke into a run, her boots splashing through a puddle that sucked at her heel, the sound swallowed instantly by the volume of the rain." | | 2 | "She could hear him ahead, the rhythmic thud of his sneakers fading into the gloom, but he was moving erratically, likely because he knew he was being tracked." | | 3 | "Her partner’s ghost, DS Morris, was hanging over her shoulder, whispering that she needed to solve this before it happened again." | | 4 | "The lights here were low and colored, casting shadows that seemed to dance of their own accord." | | 5 | "Vendors were hawking things in hushed tones—faintly glowing potions in glass vials, daggers that looked too light to be made of steel, stacks of paper that migh…" | | 6 | "He started moving toward the crowd, his head ducked, but Harlow walked beside him, her military bearing keeping the rabble at bay, her eyes scanning the horizon…" |
| |
| 66.18% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 17 | | uselessAdditionCount | 2 | | matches | | 0 | "she asked, her voice hardening" | | 1 | "he said, his voice dropping to a desperate whisper" |
| |
| 18.42% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 5 | | fancyTags | | 0 | "It was a weird thing to say (be say)" | | 1 | "Tomás stammered (stammer)" | | 2 | "Tomás whispered (whisper)" | | 3 | "he pleaded (plead)" | | 4 | "He screamed (scream)" |
| | dialogueSentences | 38 | | tagDensity | 0.263 | | leniency | 0.526 | | rawRatio | 0.5 | | effectiveRatio | 0.263 | |