| 70.97% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 10 | | adverbTagCount | 2 | | adverbTags | | 0 | "she said sharply [sharply]" | | 1 | "she shouted again [again]" |
| | dialogueSentences | 31 | | tagDensity | 0.323 | | leniency | 0.645 | | rawRatio | 0.2 | | effectiveRatio | 0.129 | |
| 88.34% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1716 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "slightly" | | 1 | "slowly" | | 2 | "sharply" |
| |
| 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) | |
| 32.98% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1716 | | totalAiIsms | 23 | | found | | | highlights | | 0 | "measured" | | 1 | "glinting" | | 2 | "weight" | | 3 | "familiar" | | 4 | "scanning" | | 5 | "pulse" | | 6 | "structure" | | 7 | "loomed" | | 8 | "flickered" | | 9 | "echo" | | 10 | "footsteps" | | 11 | "gloom" | | 12 | "pulsed" | | 13 | "wavered" | | 14 | "velvet" | | 15 | "racing" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "clenched jaw/fists" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 161 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 0 | | narrationSentences | 161 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 180 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 39 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 7 | | totalWords | 1693 | | ratio | 0.004 | | matches | | 0 | "You can’t outrun what you won’t face." |
| |
| 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 | 57 | | wordCount | 1449 | | uniqueNames | 16 | | maxNameDensity | 1.04 | | worstName | "Quinn" | | maxWindowNameDensity | 3 | | worstWindowName | "Herrera" | | discoveredNames | | Harlow | 1 | | Quinn | 15 | | Tomás | 2 | | Herrera | 13 | | Saint | 3 | | Christopher | 3 | | Glock | 3 | | Morris | 4 | | London | 1 | | Wind | 1 | | Underground | 1 | | Veil | 2 | | Market | 2 | | Raven | 1 | | Nest | 1 | | Like | 4 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Tomás" | | 3 | "Herrera" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "Glock" | | 7 | "Morris" | | 8 | "Wind" | | 9 | "Market" | | 10 | "Raven" | | 11 | "Nest" |
| | places | | | globalScore | 0.982 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 88 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 81.87% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.181 | | wordCount | 1693 | | matches | | 0 | "not at her, but toward the hole in the wall: a jagged tear in the brickwork" | | 1 | "not lit by flame, but by some inner glow, a sickly blue-white fire" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 180 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 66 | | mean | 25.65 | | std | 25.79 | | cv | 1.006 | | sampleLengths | | 0 | 102 | | 1 | 17 | | 2 | 70 | | 3 | 137 | | 4 | 18 | | 5 | 14 | | 6 | 66 | | 7 | 7 | | 8 | 5 | | 9 | 44 | | 10 | 17 | | 11 | 26 | | 12 | 10 | | 13 | 11 | | 14 | 17 | | 15 | 16 | | 16 | 8 | | 17 | 112 | | 18 | 16 | | 19 | 20 | | 20 | 74 | | 21 | 9 | | 22 | 14 | | 23 | 42 | | 24 | 14 | | 25 | 6 | | 26 | 33 | | 27 | 18 | | 28 | 7 | | 29 | 21 | | 30 | 11 | | 31 | 38 | | 32 | 28 | | 33 | 23 | | 34 | 26 | | 35 | 3 | | 36 | 69 | | 37 | 38 | | 38 | 20 | | 39 | 21 | | 40 | 23 | | 41 | 35 | | 42 | 16 | | 43 | 14 | | 44 | 26 | | 45 | 33 | | 46 | 21 | | 47 | 2 | | 48 | 46 | | 49 | 3 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 161 | | matches | | 0 | "was gone" | | 1 | "being forced" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 267 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 25 | | semicolonCount | 0 | | flaggedSentences | 21 | | totalSentences | 180 | | ratio | 0.117 | | matches | | 0 | "Her breath came measured, the wet air cold against her throat as she tracked the figure ahead—Tomás Herrera, his Saint Christopher medallion glinting between the falling droplets each time a streetlamp caught him." | | 1 | "She kept her eyes up, scanning for movement—any twitch of fabric, a shift in posture—anything that betrayed intention." | | 2 | "Three years now, lost in the fog of a case that had smelled wrong from the start—paranormal residue, the kind no coroner report would ever acknowledge." | | 3 | "She rounded the corner—empty." | | 4 | "His eyes flickered—just once—but it was enough." | | 5 | "Without warning, he twisted and lunged sideways—not at her, but toward the hole in the wall: a jagged tear in the brickwork, dark as a wound." | | 6 | "She slipped—ankle twisting on loose mortar—and for a heartbeat, they grappled on the edge." | | 7 | "She staggered, lost her footing—" | | 8 | "—and in that moment, he wrenched free and hurled himself into the darkness beyond the wall." | | 9 | "The drop was shorter than she expected: less than four feet, landing in stale-smelling air, her boots crunching on something brittle—broken glass, perhaps, or bone." | | 10 | "Her flashlight flickered to life automatically—the one mounted under her barrel, set to activate under motion." | | 11 | "The scent of ozone mingled with something metallic—copper, maybe." | | 12 | "A shadow detached itself from the wall—tall, gaunt, clad in layers of tattered coat." | | 13 | "Her worn leather watch on her left wrist—the one she never took off." | | 14 | "Hanging lanterns flickered to life along the walls—not lit by flame, but by some inner glow, a sickly blue-white fire that pulsed like a dying heart." | | 15 | "And there, beneath a rusted sign that read “THE VEIL MARKET” in peeling lettering, stood Tomás Herrera, surrounded by two figures in long cloaks—the custodians of this place, their hands resting on curved blades sheathed at their hips." | | 16 | "He held out his Saint Christopher medallion—then snapped it off his neck and hurled it at her feet." | | 17 | "He gasped, staggard back—and then didn’t fall." | | 18 | "Her watch—her damn watch—glowed brighter, its hands spinning wildly." | | 19 | "She was—" | | 20 | "And a lead that led only downward—into the dark." |
| |
| 82.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1478 | | adjectiveStacks | 3 | | stackExamples | | 0 | "other reaching behind him" | | 1 | "lay exposed against his" | | 2 | "sickly blue-white fire" |
| | adverbCount | 43 | | adverbRatio | 0.029093369418132613 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.010148849797023005 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 180 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 180 | | mean | 9.41 | | std | 7.41 | | cv | 0.788 | | sampleLengths | | 0 | 20 | | 1 | 23 | | 2 | 33 | | 3 | 26 | | 4 | 3 | | 5 | 14 | | 6 | 9 | | 7 | 16 | | 8 | 18 | | 9 | 12 | | 10 | 15 | | 11 | 22 | | 12 | 5 | | 13 | 23 | | 14 | 21 | | 15 | 2 | | 16 | 13 | | 17 | 4 | | 18 | 26 | | 19 | 4 | | 20 | 5 | | 21 | 4 | | 22 | 3 | | 23 | 2 | | 24 | 3 | | 25 | 4 | | 26 | 2 | | 27 | 2 | | 28 | 10 | | 29 | 6 | | 30 | 8 | | 31 | 3 | | 32 | 17 | | 33 | 17 | | 34 | 29 | | 35 | 5 | | 36 | 2 | | 37 | 2 | | 38 | 3 | | 39 | 9 | | 40 | 17 | | 41 | 18 | | 42 | 13 | | 43 | 4 | | 44 | 12 | | 45 | 5 | | 46 | 9 | | 47 | 7 | | 48 | 1 | | 49 | 1 |
| |
| 38.89% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 20 | | diversityRatio | 0.3 | | totalSentences | 180 | | uniqueOpeners | 54 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 7 | | totalSentences | 137 | | matches | | 0 | "Just the relentless drum of" | | 1 | "Then, a sound: a metallic" | | 2 | "Then, slowly, turned." | | 3 | "Then he kneed her in" | | 4 | "Just the echo of her" | | 5 | "Then she heard it: the" | | 6 | "Just smooth, unbroken skin." |
| | ratio | 0.051 | |
| 62.34% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 54 | | totalSentences | 137 | | matches | | 0 | "Her breath came measured, the" | | 1 | "He darted left, slipping down" | | 2 | "She adjusted the grip on" | | 3 | "Her shoes splashed through puddles" | | 4 | "She kept her eyes up," | | 5 | "She could smell the fear" | | 6 | "He turned sharp right into" | | 7 | "She cursed under her breath." | | 8 | "She ducked into the passage," | | 9 | "She clenched her jaw." | | 10 | "She rounded the corner—empty." | | 11 | "Her pulse steadied." | | 12 | "She accelerated, boots silent on" | | 13 | "She reached the rooftop to" | | 14 | "she barked, gun raised" | | 15 | "His olive skin glistened under" | | 16 | "His Saint Christopher medallion lay" | | 17 | "he said, voice steady, though" | | 18 | "she replied, stepping closer, the" | | 19 | "His eyes flickered—just once—but it" |
| | ratio | 0.394 | |
| 51.24% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 112 | | totalSentences | 137 | | matches | | 0 | "The rain came down like" | | 1 | "Detective Harlow Quinn moved with" | | 2 | "Her breath came measured, the" | | 3 | "He darted left, slipping down" | | 4 | "Quinn didn’t hesitate." | | 5 | "She adjusted the grip on" | | 6 | "The alley stank of wet" | | 7 | "Her shoes splashed through puddles" | | 8 | "She kept her eyes up," | | 9 | "Herrera was fast, sure-footed, but" | | 10 | "She could smell the fear" | | 11 | "He turned sharp right into" | | 12 | "She cursed under her breath." | | 13 | "The city had eaten its" | | 14 | "She ducked into the passage," | | 15 | "Morris would have said time" | | 16 | "She clenched her jaw." | | 17 | "This wasn’t about Morris anymore." | | 18 | "Everything circled back." | | 19 | "She rounded the corner—empty." |
| | ratio | 0.818 | |
| 36.50% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 137 | | matches | | 0 | "—and in that moment, he" |
| | ratio | 0.007 | |
| 44.33% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 58 | | technicalSentenceCount | 8 | | matches | | 0 | "Detective Harlow Quinn moved with the disciplined precision of a woman who had long since ceased to be surprised by the world’s cruelty." | | 1 | "Her shoes splashed through puddles that oozed between cracked cobblestones, sending up faint whiffs of sewage." | | 2 | "She kept her eyes up, scanning for movement—any twitch of fabric, a shift in posture—anything that betrayed intention." | | 3 | "She ducked into the passage, her shoulder brushing against the damp bricks, her watch digging just slightly into her left wrist." | | 4 | "Quinn lunged too, grabbing at his coat, her fingers closing on fabric slick with rain." | | 5 | "The drop was shorter than she expected: less than four feet, landing in stale-smelling air, her boots crunching on something brittle—broken glass, perhaps, or b…" | | 6 | "Its beam cut through the dark, illuminating a narrow tunnel that sloped downward, its walls slick with moisture and something darker." | | 7 | "Its voice was melodious, feminine, yet distant, as if filtered through years of decay." |
| |
| 75.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 10 | | uselessAdditionCount | 1 | | matches | | 0 | "he said, voice steady, though the tremor beneath it betrayed him" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 5 | | fancyTags | | 0 | "she barked (bark)" | | 1 | "she shouted again (shout)" | | 2 | "the figure hissed (hiss)" | | 3 | "he snapped (snap)" | | 4 | "the emerald-velvet figure whispered (whisper)" |
| | dialogueSentences | 31 | | tagDensity | 0.258 | | leniency | 0.516 | | rawRatio | 0.625 | | effectiveRatio | 0.323 | |