| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 22 | | adverbTagCount | 5 | | adverbTags | | 0 | "Quinn said mildly [mildly]" | | 1 | "Eva said quietly. [quietly]" | | 2 | "Cole repeated flatly [flatly]" | | 3 | "something detonated right [right]" | | 4 | "Quinn said quietly [quietly]" |
| | dialogueSentences | 40 | | tagDensity | 0.55 | | leniency | 1 | | rawRatio | 0.227 | | effectiveRatio | 0.227 | |
| 94.54% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1830 | | 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) | |
| 69.95% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1830 | | totalAiIsms | 11 | | found | | | highlights | | 0 | "fluttered" | | 1 | "velvet" | | 2 | "shattered" | | 3 | "etched" | | 4 | "charm" | | 5 | "etching" | | 6 | "echoed" | | 7 | "trembled" | | 8 | "pulse" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "knuckles turned white" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 2 | | narrationSentences | 108 | | matches | | 0 | "looked relieved" | | 1 | "d in terror" |
| |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 108 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 125 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 103 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1806 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 13 | | unquotedAttributions | 0 | | matches | (empty) | |
| 50.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 54 | | wordCount | 1527 | | uniqueNames | 15 | | maxNameDensity | 1.31 | | worstName | "Quinn" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Quinn" | | discoveredNames | | Camden | 1 | | High | 1 | | Street | 1 | | Quinn | 20 | | Wallet | 1 | | Cole | 15 | | Kowalski | 1 | | British | 1 | | Museum | 1 | | Eva | 5 | | Veil | 1 | | Market | 2 | | Morris | 2 | | Henry | 1 | | Marsh | 1 |
| | persons | | 0 | "Quinn" | | 1 | "Cole" | | 2 | "Kowalski" | | 3 | "Eva" | | 4 | "Market" | | 5 | "Morris" |
| | places | | 0 | "Camden" | | 1 | "High" | | 2 | "Street" | | 3 | "Wallet" | | 4 | "British" | | 5 | "Henry" | | 6 | "Marsh" |
| | globalScore | 0.845 | | windowScore | 0.5 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 78 | | glossingSentenceCount | 1 | | matches | | 0 | "sounded like one. She felt the compass pul" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.554 | | wordCount | 1806 | | matches | | 0 | "not afraid exactly, but alert, the way a deer is alert in an open field" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 125 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 36 | | mean | 50.17 | | std | 39.09 | | cv | 0.779 | | sampleLengths | | 0 | 86 | | 1 | 42 | | 2 | 7 | | 3 | 87 | | 4 | 55 | | 5 | 38 | | 6 | 81 | | 7 | 4 | | 8 | 67 | | 9 | 52 | | 10 | 14 | | 11 | 17 | | 12 | 48 | | 13 | 2 | | 14 | 102 | | 15 | 10 | | 16 | 34 | | 17 | 59 | | 18 | 24 | | 19 | 152 | | 20 | 87 | | 21 | 41 | | 22 | 25 | | 23 | 4 | | 24 | 73 | | 25 | 11 | | 26 | 56 | | 27 | 108 | | 28 | 146 | | 29 | 66 | | 30 | 17 | | 31 | 2 | | 32 | 7 | | 33 | 52 | | 34 | 36 | | 35 | 94 |
| |
| 92.27% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 108 | | matches | | 0 | "was pinched" | | 1 | "was swept" | | 2 | "got blasted" | | 3 | "was seamed" |
| |
| 64.41% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 295 | | matches | | 0 | "was looking" | | 1 | "was watching" | | 2 | "was watching" | | 3 | "were still guttering" | | 4 | "wasn't pointing" | | 5 | "wasn't pointing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 24 | | semicolonCount | 1 | | flaggedSentences | 21 | | totalSentences | 125 | | ratio | 0.168 | | matches | | 0 | "The smell of Camden High Street—fried food, diesel, wet pavement—thinned and died, replaced by something older: damp chalk, rust, and the cold breath of a place that hadn't seen sun in a hundred years." | | 1 | "One of them—young, pale—looked relieved when he saw her badge." | | 2 | "She passed a row of empty stalls—crates and salvaged doors on trestles, hung with curtains of faded velvet." | | 3 | "His face was the worst of it—mouth wrenched open, eyes wide, all the light behind them gone." | | 4 | "\"It's a squat, Quinn. Squatters, dealers, kids looking for a cheap high. Nobody saw nothing.\" He gestured at the scattered debris—a toppled crate, jars of dried herbs shattered on the concrete, a pair of brass scales flung into a corner, silver dust glittering in the work light." | | 5 | "Quinn didn't answer. She was looking atthe dead man's right hand, curled tight around something small andwhite. She eased the fingers open—stiff, but not yet rigor—and revealed a disc of carved bone, about the size of a large coin, etched with symbols that weren't letters orb numbers. \"Then why's he holding this?\"\"" | | 6 | "A soft voice behind her. Quinn turned. Eva Kowalski stood at the edge of the light, round glasses catching the glare, curly red hair escaping a messy bun, a worn leather satchel heavy on her shoulder. Her freckled face was pinched—not afraid exactly, but alert, the way a deer is alert in an open field. She tucked a strand of hair behind her left ear, a nervous habit Quinn had catalogued the first time they'd met, two years ago, when Quinn had showed up at the British Museum with a photograph of a symbol she'd found carved into a dead man's sternum." | | 7 | "\"A what?\" Cole said.**\"An entry pass. The Veil Market moves every full moon, changes location. You can't find it unless you know where it's going—and you can't get in unless you hold one of these.\" Eva's voice dropped." | | 8 | "She was watching Eva, watching the way the woman's eyes moved across the scattered debris—noting, counting, reading." | | 9 | "Quinn reached for it, and the moment her fingers closed around it, she felt something—a thrum, like a struck tuning fork pressed against her palm." | | 10 | "The needle swung, trembled, and settled, pointing not at the station's north—but at the tiled wall ten feet away." | | 11 | "\"It's not broken.\" Quinn walked toward the wall. The tiles were old, cream-colored, crazed with hairline cracks, generations of grime in the joints. The needle grew agitated as she approached—quivering, straining. She stopped three feet short. A cold draft licked her face, smelling of wet stone and something else, something acrid-sweet, like ozone after a lightning strike. She looked down. The dust on the floor in front of the wall was swept clean—a clear half-moon patch, as if something had recently stood there. Or come through there." | | 12 | "The Market sets up near them sometimes—they draw certain kinds of customers." | | 13 | "She hadn't noticed them at first—they were small, cheap, tea lights and dinner candles, dozens of them, arranged in an uneven circle around the body." | | 14 | "Some had burned down to pools of tallow; others were still guttering, thin flames wrestling the draft." | | 15 | "But every single onehad wax run down its side in long, pale tongues—and every tongue pointed away from the body, outward, like a silent radial scream." | | 16 | "Good detectives could explain a lot—but not everything." | | 17 | "She thought about the ransacked stall—valuable merchandise scattered like rubbish, nothing taken." | | 18 | "A search—someone looking for one specific thing." | | 19 | "No—his eyes were still open, still full of nothing." | | 20 | "Cole shook his head slowly, but he didn't argue. He turned, called to the uniforms, started the machinery of removal. Quinn stayed where she was a moment longer, watching the candles gutter, watching the cold breath curl off the tiles. Somewhere deep in the earth, a train rumbled past—or something that sounded like one. She felt the compass pulse against her ribs, patient, insistent, like a thing that knew its way home and expected her to follow. She didn't know yet what had killed Henry Marsh. But she knew where to start looking now." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 792 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 23 | | adverbRatio | 0.02904040404040404 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.007575757575757576 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 125 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 125 | | mean | 14.45 | | std | 15.67 | | cv | 1.084 | | sampleLengths | | 0 | 6 | | 1 | 34 | | 2 | 11 | | 3 | 24 | | 4 | 11 | | 5 | 22 | | 6 | 10 | | 7 | 10 | | 8 | 7 | | 9 | 4 | | 10 | 17 | | 11 | 7 | | 12 | 11 | | 13 | 18 | | 14 | 13 | | 15 | 17 | | 16 | 18 | | 17 | 26 | | 18 | 11 | | 19 | 7 | | 20 | 4 | | 21 | 13 | | 22 | 8 | | 23 | 5 | | 24 | 1 | | 25 | 2 | | 26 | 21 | | 27 | 2 | | 28 | 12 | | 29 | 17 | | 30 | 4 | | 31 | 3 | | 32 | 20 | | 33 | 4 | | 34 | 2 | | 35 | 47 | | 36 | 18 | | 37 | 52 | | 38 | 4 | | 39 | 10 | | 40 | 17 | | 41 | 12 | | 42 | 20 | | 43 | 4 | | 44 | 12 | | 45 | 2 | | 46 | 102 | | 47 | 10 | | 48 | 34 | | 49 | 38 |
| |
| 54.40% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 17 | | diversityRatio | 0.408 | | totalSentences | 125 | | uniqueOpeners | 51 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 100 | | matches | | 0 | "Of course he was." | | 1 | "Maybe they hadn't gotten that" | | 2 | "Maybe whatever killed him had" |
| | ratio | 0.03 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 27 | | totalSentences | 100 | | matches | | 0 | "Her boots rang on the" | | 1 | "She passed a row of" | | 2 | "He was a solid man," | | 3 | "He looked up as she" | | 4 | "His face was the worst" | | 5 | "She'd seen fright before." | | 6 | "He gestured at the scattered" | | 7 | "She turned it over." | | 8 | "She was watching Eva, watching" | | 9 | "She stood, held it flat." | | 10 | "She turned again." | | 11 | "It swung back, like a" | | 12 | "You can't move a" | | 13 | "She hadn't noticed them at" | | 14 | "He was a good detective," | | 15 | "She knew now that the" | | 16 | "She just didn't know through" | | 17 | "She stood, compass still warm" | | 18 | "She looked at the dead" | | 19 | "She thought about the ransacked" |
| | ratio | 0.27 | |
| 35.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 85 | | totalSentences | 100 | | matches | | 0 | "The air changed three steps" | | 1 | "The smell of Camden High" | | 2 | "Harlow Quinn paused on the" | | 3 | "The station below was a" | | 4 | "Crime scene tape fluttered across" | | 5 | "Cole liked to get to" | | 6 | "Quinn grunted and ducked under" | | 7 | "Her boots rang on the" | | 8 | "She passed a row of" | | 9 | "The kind of market that" | | 10 | "The kind of place a" | | 11 | "Cole stood over the body," | | 12 | "He was a solid man," | | 13 | "He looked up as she" | | 14 | "Wallet's intact, cards, cash." | | 15 | "Watch says he paid more" | | 16 | "Looks like his heart just..." | | 17 | "The dead man lay on" | | 18 | "A man dropped in terror" | | 19 | "His face was the worst" |
| | ratio | 0.85 | |
| 50.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 100 | | matches | | 0 | "Before the thing she'd found" |
| | ratio | 0.01 | |
| 38.69% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 7 | | matches | | 0 | "The smell of Camden High Street—fried food, diesel, wet pavement—thinned and died, replaced by something older: damp chalk, rust, and the cold breath of a place…" | | 1 | "Crime scene tape fluttered across the platform entrance, a garish yellow warning in a place that had no business with modern colors." | | 2 | "He was a solid man, silver creeping into his beard, the set of his shoulders saying he'd seen it all and none of it surprised him." | | 3 | "A small brass compass lay half-buried under a fold of burlap, its casing filmed with verdigris, face etched with sigils that echoed the marks on the bone token." | | 4 | "She looked at the dead man, at his smooth overcoat and his laid-flat lapels, at his face frozen around a scream that hadn't had time to sound." | | 5 | "Someone who'd smoothed the dead man's coat, straightened his limbs, closed his eyes?" | | 6 | "Cole shook his head slowly, but he didn't argue. He turned, called to the uniforms, started the machinery of removal. Quinn stayed where she was a moment longer…" |
| |
| 98.68% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 19 | | uselessAdditionCount | 1 | | matches | | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 2 | | fancyTags | | 0 | "Quinn didn't (do)" | | 1 | "Cole repeated flatly (repeat)" |
| | dialogueSentences | 40 | | tagDensity | 0.225 | | leniency | 0.45 | | rawRatio | 0.222 | | effectiveRatio | 0.1 | |