| 46.15% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 12 | | adverbTagCount | 2 | | adverbTags | | 0 | "Her fingers twitched around [around]" | | 1 | "Eva’s glasses slipped further [further]" |
| | dialogueSentences | 26 | | tagDensity | 0.462 | | leniency | 0.923 | | rawRatio | 0.167 | | effectiveRatio | 0.154 | |
| 96.19% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1314 | | 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) | |
| 50.53% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1314 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "trembled" | | 1 | "flickered" | | 2 | "weight" | | 3 | "silence" | | 4 | "etched" | | 5 | "familiar" | | 6 | "vibrated" | | 7 | "resonance" | | 8 | "gloom" | | 9 | "pulse" | | 10 | "echoed" |
| |
| 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 | 0 | | narrationSentences | 88 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 0 | | narrationSentences | 88 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 102 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 40 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 22 | | totalWords | 1291 | | ratio | 0.017 | | matches | | 0 | "Found it. Real one hums when I touch the sigils. Meet at 0700 at the station’s service end. Don’t follow." | | 1 | "It’s hungry." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 70 | | wordCount | 1002 | | uniqueNames | 15 | | maxNameDensity | 1.6 | | worstName | "Quinn" | | maxWindowNameDensity | 3 | | worstWindowName | "Quinn" | | discoveredNames | | Morris | 2 | | Patel | 11 | | Camden | 1 | | Tube | 1 | | Veil | 4 | | Compass | 4 | | Kowalski | 1 | | Aurora | 10 | | Quinn | 16 | | Eva | 12 | | Market | 4 | | Queens | 1 | | English | 1 | | Bureau | 1 | | Complaints | 1 |
| | persons | | 0 | "Morris" | | 1 | "Patel" | | 2 | "Compass" | | 3 | "Kowalski" | | 4 | "Aurora" | | 5 | "Quinn" | | 6 | "Eva" | | 7 | "Market" | | 8 | "Complaints" |
| | places | (empty) | | globalScore | 0.702 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 59 | | glossingSentenceCount | 1 | | matches | | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.775 | | wordCount | 1291 | | matches | | 0 | "not just decay, but something chemical, like a lab accident mixed with weeks-old" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 102 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 38 | | mean | 33.97 | | std | 23.53 | | cv | 0.693 | | sampleLengths | | 0 | 55 | | 1 | 57 | | 2 | 6 | | 3 | 27 | | 4 | 58 | | 5 | 77 | | 6 | 5 | | 7 | 80 | | 8 | 40 | | 9 | 77 | | 10 | 34 | | 11 | 69 | | 12 | 5 | | 13 | 19 | | 14 | 53 | | 15 | 5 | | 16 | 13 | | 17 | 53 | | 18 | 62 | | 19 | 12 | | 20 | 41 | | 21 | 13 | | 22 | 11 | | 23 | 46 | | 24 | 62 | | 25 | 24 | | 26 | 6 | | 27 | 8 | | 28 | 35 | | 29 | 36 | | 30 | 9 | | 31 | 53 | | 32 | 25 | | 33 | 47 | | 34 | 29 | | 35 | 27 | | 36 | 3 | | 37 | 9 |
| |
| 93.30% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 88 | | matches | | 0 | "been frozen" | | 1 | "been braced" | | 2 | "been laid" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 168 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 17 | | semicolonCount | 3 | | flaggedSentences | 18 | | totalSentences | 102 | | ratio | 0.176 | | matches | | 0 | "Her leather watch glinted under the dim station lights—06:17." | | 1 | "The bastard thing had been frozen for eleven days straight; Morris’s death had scrambled something inside it." | | 2 | "The stench hit next—not just decay, but something chemical, like a lab accident mixed with weeks-old fish guts." | | 3 | "In one hand she clutched a crumpled notepaper; in the other, a fistful of Aurora’s hair." | | 4 | "She registered the missing stool first—the legs should’ve been braced against Aurora’s shoulders, the rope frayed where the knot had bitten in." | | 5 | "And the lividity—the pooling of blood—spread across Aurora’s back and the sides of her arms as though she’d been laid out prone after death, not suspended." | | 6 | "\"She was researching the artefacts here. Said something about a compass—one that points to rifts—but it’s gone.\" Her fingers twitched around the notepaper; a single drop of blood hit the ground between them both." | | 7 | "The height of the knot placed it beyond Aurora’s reach unless someone had stood on the stool and leaned in—except no stool, no stabilisation bruising on the cervical spine, no fibres caught in the tight weave of Aurora’s jumper." | | 8 | "Patel shone her torch across the peeling stall behind them—the one marked with chalked sigils for haggling over “personal navigational instruments.” \"Looks like she took her own life, guv. Final. Can’t argue with gravity.\"" | | 9 | "The Veil Compass had been the whole bloody point—every Market regular knew the tales of artefacts that blipped on ordinary sensors." | | 10 | "The genuine article would resonate with the death portal stitched into the Market’s fabric—sloppy wardings meant the residual energy had no problem bleeding through." | | 11 | "On the verso, a quick sketch of three concentric circles intersected by a diagonal slash—the universal warning for radioactive hazard translated into scrying terms." | | 12 | "The moment her skin touched the bone, the Veil Compass in her pocket sang—an ultrasonic pulse that vibrated through fillings." | | 13 | "Morris had died during a dark moon—thirteen months ago exactly." | | 14 | "Eva’s nervous habit came again—hair tucked behind the ear." | | 15 | "No blood spatter on the tiles, no scuff marks from a struggle—just a faint copper tang clinging to the air." | | 16 | "Then the compass in Eva’s pocket—a smaller, tourist-grade model—whined." | | 17 | "And beyond that, the Market’s true heart—the abandoned lift shaft that hadn’t moved with the other platforms, its mouth ringed with sigils that matched Eva’s sketch exactly." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1023 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 26 | | adverbRatio | 0.02541544477028348 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.011730205278592375 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 102 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 102 | | mean | 12.66 | | std | 9.05 | | cv | 0.715 | | sampleLengths | | 0 | 13 | | 1 | 16 | | 2 | 9 | | 3 | 17 | | 4 | 9 | | 5 | 21 | | 6 | 15 | | 7 | 12 | | 8 | 6 | | 9 | 12 | | 10 | 15 | | 11 | 7 | | 12 | 16 | | 13 | 18 | | 14 | 4 | | 15 | 13 | | 16 | 17 | | 17 | 18 | | 18 | 16 | | 19 | 26 | | 20 | 3 | | 21 | 2 | | 22 | 3 | | 23 | 22 | | 24 | 19 | | 25 | 10 | | 26 | 26 | | 27 | 6 | | 28 | 34 | | 29 | 2 | | 30 | 22 | | 31 | 5 | | 32 | 39 | | 33 | 9 | | 34 | 34 | | 35 | 9 | | 36 | 21 | | 37 | 4 | | 38 | 22 | | 39 | 13 | | 40 | 5 | | 41 | 2 | | 42 | 17 | | 43 | 6 | | 44 | 17 | | 45 | 30 | | 46 | 3 | | 47 | 2 | | 48 | 4 | | 49 | 9 |
| |
| 58.17% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.37254901960784315 | | totalSentences | 102 | | uniqueOpeners | 38 | |
| 82.30% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 81 | | matches | | 0 | "Somewhere in that direction, someone" | | 1 | "Then the compass in Eva’s" |
| | ratio | 0.025 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 14 | | totalSentences | 81 | | matches | | 0 | "Her leather watch glinted under" | | 1 | "She didn’t wait for Patel" | | 2 | "Her Veil Compass trembled in" | | 3 | "She drew her baton." | | 4 | "Her curly red hair clung" | | 5 | "She registered the missing stool" | | 6 | "Her fingers twitched around the" | | 7 | "She eased it out." | | 8 | "She tucked hair behind her" | | 9 | "Her mouth snapped shut" | | 10 | "She pocketed her compass and" | | 11 | "She turned to Eva." | | 12 | "She bit her lip" | | 13 | "She touched the ground." |
| | ratio | 0.173 | |
| 64.94% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 64 | | totalSentences | 81 | | matches | | 0 | "Quinn kicked the emergencyexit door" | | 1 | "The rusted metal screamed in" | | 2 | "Her leather watch glinted under" | | 3 | "The bastard thing had been" | | 4 | "She didn’t wait for Patel" | | 5 | "The abandoned Camden Tube station" | | 6 | "Her Veil Compass trembled in" | | 7 | "The needle spun wildly before" | | 8 | "Patel’s torch flickered to life," | | 9 | "Quinn’s sharp jaw cut the" | | 10 | "The bollocksed door behind her" | | 11 | "The stench hit next—not just" | | 12 | "She drew her baton." | | 13 | "The brass compass in her" | | 14 | "Eva Kowalski stood in the" | | 15 | "Her curly red hair clung" | | 16 | "The dead woman’s head lolled" | | 17 | "Patel’s breath hitched." | | 18 | "Quinn didn’t answer." | | 19 | "She registered the missing stool" |
| | ratio | 0.79 | |
| 61.73% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 81 | | matches | | 0 | "If Aurora had been holding" |
| | ratio | 0.012 | |
| 23.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 42 | | technicalSentenceCount | 7 | | matches | | 0 | "The abandoned Camden Tube station yawned ahead, its tiled walls slick with moisture that smelled of old blood and burnt electronics." | | 1 | "The dead woman’s head lolled at an angle that made Quinn’s molars grind before her eyes could even parse the livid rope burn circling Aurora’s throat." | | 2 | "And the lividity—the pooling of blood—spread across Aurora’s back and the sides of her arms as though she’d been laid out prone after death, not suspended." | | 3 | "The Veil Compass had been the whole bloody point—every Market regular knew the tales of artefacts that blipped on ordinary sensors." | | 4 | "The moment her skin touched the bone, the Veil Compass in her pocket sang—an ultrasonic pulse that vibrated through fillings." | | 5 | "The Bureau of Complaints had ruled misadventure after his body turned up with same-day lividity patterns that matched the Market’s arcane geometry." | | 6 | "And beyond that, the Market’s true heart—the abandoned lift shaft that hadn’t moved with the other platforms, its mouth ringed with sigils that matched Eva’s sk…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 12 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 34.62% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 3 | | fancyTags | | 0 | "Her mouth snapped (snap)" | | 1 | "round glasses fogged (fog)" | | 2 | "broken Queens English he croaked (croak)" |
| | dialogueSentences | 26 | | tagDensity | 0.154 | | leniency | 0.308 | | rawRatio | 0.75 | | effectiveRatio | 0.231 | |