| 42.11% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 3 | | adverbTags | | 0 | "Quinn said quietly [quietly]" | | 1 | "he said quietly [quietly]" | | 2 | "Herrera glanced around [around]" |
| | dialogueSentences | 38 | | tagDensity | 0.395 | | leniency | 0.789 | | rawRatio | 0.2 | | effectiveRatio | 0.158 | |
| 67.23% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1526 | | totalAiIsmAdverbs | 10 | | found | | | highlights | | 0 | "completely" | | 1 | "quickly" | | 2 | "slightly" | | 3 | "loosely" | | 4 | "really" | | 5 | "nervously" |
| |
| 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) | |
| 47.58% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1526 | | totalAiIsms | 16 | | found | | | highlights | | 0 | "shattered" | | 1 | "familiar" | | 2 | "flickered" | | 3 | "scanning" | | 4 | "mechanical" | | 5 | "flicked" | | 6 | "footsteps" | | 7 | "echo" | | 8 | "navigated" | | 9 | "whisper" | | 10 | "otherworldly" | | 11 | "trembled" | | 12 | "jaw clenched" | | 13 | "weight" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 2 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
| | 1 | | label | "jaw/fists clenched" | | count | 1 |
|
| | highlights | | 0 | "eyes narrowed" | | 1 | "jaw clenched" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 87 | | matches | (empty) | |
| 77.18% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 2 | | narrationSentences | 87 | | filterMatches | | | hedgeMatches | | 0 | "seemed to" | | 1 | "appeared to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 110 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 42 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 10 | | totalWords | 1514 | | ratio | 0.007 | | matches | | 0 | "The History of Alchemy" | | 1 | "Midnight. St. Bride's Churchyard. Come alone." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 0.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 66 | | wordCount | 1197 | | uniqueNames | 25 | | maxNameDensity | 2.09 | | worstName | "Quinn" | | maxWindowNameDensity | 5 | | worstWindowName | "Quinn" | | discoveredNames | | Shaftesbury | 1 | | Avenue | 1 | | Harlow | 1 | | Quinn | 25 | | Saint | 2 | | Christopher | 2 | | Pret | 1 | | Manger | 1 | | Metropolitan | 1 | | Police | 1 | | Tomás | 2 | | Herrera | 10 | | Charing | 1 | | Cross | 1 | | Road | 1 | | Morris | 1 | | Raven | 2 | | Nest | 2 | | History | 1 | | Veil | 1 | | Market | 3 | | Tube | 1 | | Camden | 1 | | London | 2 | | Churchyard | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Saint" | | 3 | "Christopher" | | 4 | "Police" | | 5 | "Tomás" | | 6 | "Herrera" | | 7 | "Morris" | | 8 | "Raven" | | 9 | "Nest" | | 10 | "Market" | | 11 | "Camden" |
| | places | | 0 | "Shaftesbury" | | 1 | "Avenue" | | 2 | "Charing" | | 3 | "Cross" | | 4 | "Road" | | 5 | "London" |
| | globalScore | 0.456 | | windowScore | 0 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 66 | | glossingSentenceCount | 1 | | matches | | 0 | "seemed amplified in the confined space—the drip of water, the whisper of her own breathing, the distant rumble of the city above" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1514 | | matches | (empty) | |
| 45.45% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 4 | | totalSentences | 110 | | matches | | 0 | "heard that line" | | 1 | "saw that he'd" | | 2 | "seen that expression" | | 3 | "see that cooperation" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 46 | | mean | 32.91 | | std | 21.77 | | cv | 0.661 | | sampleLengths | | 0 | 84 | | 1 | 55 | | 2 | 63 | | 3 | 5 | | 4 | 68 | | 5 | 14 | | 6 | 17 | | 7 | 21 | | 8 | 3 | | 9 | 47 | | 10 | 31 | | 11 | 15 | | 12 | 5 | | 13 | 39 | | 14 | 25 | | 15 | 27 | | 16 | 57 | | 17 | 58 | | 18 | 70 | | 19 | 14 | | 20 | 74 | | 21 | 22 | | 22 | 58 | | 23 | 9 | | 24 | 39 | | 25 | 20 | | 26 | 37 | | 27 | 30 | | 28 | 31 | | 29 | 26 | | 30 | 26 | | 31 | 26 | | 32 | 63 | | 33 | 4 | | 34 | 5 | | 35 | 17 | | 36 | 20 | | 37 | 24 | | 38 | 20 | | 39 | 61 | | 40 | 58 | | 41 | 7 | | 42 | 30 | | 43 | 6 | | 44 | 52 | | 45 | 31 |
| |
| 93.16% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 87 | | matches | | 0 | "been touched" | | 1 | "were carved" | | 2 | "was streaked" |
| |
| 3.92% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 204 | | matches | | 0 | "was happening" | | 1 | "were helping" | | 2 | "were actually hindering" | | 3 | "was really happening" | | 4 | "was holding" | | 5 | "was still falling" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 15 | | semicolonCount | 1 | | flaggedSentences | 12 | | totalSentences | 110 | | ratio | 0.109 | | matches | | 0 | "The suspect—Tomás Herrera, though Quinn wasn't certain that was his real name—had led her here before, she realized." | | 1 | "Her worn leather watch—her partner's, before Morris had died three years ago under circumstances the force still couldn't explain—read 11:47 PM." | | 2 | "With a sharp tug, she pulled at the nearest book—*The History of Alchemy*—and heard the satisfying click of a mechanism engaging." | | 3 | "The air here was different—colder, damper, carrying the scent of old stone and something else that made her skin crawl." | | 4 | "Every sound seemed amplified in the confined space—the drip of water, the whisper of her own breathing, the distant rumble of the city above." | | 5 | "Not from fear—though the situation was clearly dangerous—but from recognition." | | 6 | "This wasn't just a black market; this was something bigger." | | 7 | "In his hand, he held something that looked suspiciously like a bone token—the entry requirement for the market." | | 8 | "The Saint Christopher medallion hung loosely around his neck, and his olive skin was streaked with rain and something else—tears, or maybe just the grime of the underground." | | 9 | "Quinn had seen that expression before—in suspects, in witnesses, in herself when the job got too personal." | | 10 | "For a moment, she felt something—recognition, maybe, or the echo of a connection that went deeper than either of them realized." | | 11 | "The rain was still falling when she stepped back onto the street, but now it sounded different—like the city itself was holding its breath, waiting to see which choice she'd make." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1214 | | adjectiveStacks | 1 | | stackExamples | | 0 | "different—colder, damper, carrying" |
| | adverbCount | 45 | | adverbRatio | 0.03706754530477759 | | lyAdverbCount | 17 | | lyAdverbRatio | 0.01400329489291598 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 110 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 110 | | mean | 13.76 | | std | 8.46 | | cv | 0.614 | | sampleLengths | | 0 | 17 | | 1 | 25 | | 2 | 42 | | 3 | 18 | | 4 | 5 | | 5 | 20 | | 6 | 12 | | 7 | 19 | | 8 | 21 | | 9 | 23 | | 10 | 5 | | 11 | 12 | | 12 | 36 | | 13 | 20 | | 14 | 12 | | 15 | 2 | | 16 | 9 | | 17 | 8 | | 18 | 14 | | 19 | 7 | | 20 | 3 | | 21 | 31 | | 22 | 16 | | 23 | 4 | | 24 | 19 | | 25 | 8 | | 26 | 10 | | 27 | 5 | | 28 | 5 | | 29 | 7 | | 30 | 20 | | 31 | 12 | | 32 | 5 | | 33 | 20 | | 34 | 7 | | 35 | 20 | | 36 | 3 | | 37 | 21 | | 38 | 12 | | 39 | 21 | | 40 | 12 | | 41 | 26 | | 42 | 20 | | 43 | 14 | | 44 | 12 | | 45 | 20 | | 46 | 24 | | 47 | 14 | | 48 | 11 | | 49 | 13 |
| |
| 78.79% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.5 | | totalSentences | 110 | | uniqueOpeners | 55 | |
| 82.30% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 81 | | matches | | 0 | "Then he reached into the" | | 1 | "Then Herrera turned and disappeared" |
| | ratio | 0.025 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 14 | | totalSentences | 81 | | matches | | 0 | "She skidded around the corner" | | 1 | "Her worn leather watch—her partner's," | | 2 | "She paused at the threshold," | | 3 | "She'd heard that line before," | | 4 | "He opened his mouth, closed" | | 5 | "She moved faster." | | 6 | "She heard footsteps ahead, the" | | 7 | "She spun around, weapon still" | | 8 | "he said, his voice carrying" | | 9 | "he said quietly" | | 10 | "She'd spent eighteen years learning" | | 11 | "He paused, glancing back toward" | | 12 | "It was blank." | | 13 | "She crumpled the paper in" |
| | ratio | 0.173 | |
| 58.77% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 65 | | totalSentences | 81 | | matches | | 0 | "The rain fell in sheets," | | 1 | "Detective Harlow Quinn's boots slapped" | | 2 | "The suspect—Tomás Herrera, though Quinn" | | 3 | "The pattern was familiar: disappear" | | 4 | "She skidded around the corner" | | 5 | "Her worn leather watch—her partner's," | | 6 | "The green neon sign of" | | 7 | "The suspect had ducked inside." | | 8 | "She paused at the threshold," | | 9 | "The bar was exactly as" | | 10 | "the bartender called out, polishing" | | 11 | "Quinn approached the bar, her" | | 12 | "The bartender's expression didn't change," | | 13 | "The bartender nodded toward a" | | 14 | "Quinn's brown eyes narrowed." | | 15 | "She'd heard that line before," | | 16 | "The bartender hesitated, just for" | | 17 | "The bartender's hands stilled on" | | 18 | "Quinn saw his shoulders tense," | | 19 | "Quinn said quietly" |
| | ratio | 0.802 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 81 | | matches | (empty) | | ratio | 0 | |
| 46.70% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 52 | | technicalSentenceCount | 7 | | matches | | 0 | "The bar was exactly as she remembered it from her previous visits: dim lighting, walls covered in old maps and black-and-white photographs, the kind of place wh…" | | 1 | "She'd heard that line before, used by enough witnesses who thought they were helping when they were actually hindering." | | 2 | "Bottles of banned alchemical substances lined wooden tables, their contents swirling with colors that shouldn't exist in nature." | | 3 | "Something that connected to the case files gathering dust in her office, to the strange deaths she'd been investigating for months, to the partner she'd lost th…" | | 4 | "In his hand, he held something that looked suspiciously like a bone token—the entry requirement for the market." | | 5 | "For a moment, she felt something—recognition, maybe, or the echo of a connection that went deeper than either of them realized." | | 6 | "The rain was still falling when she stepped back onto the street, but now it sounded different—like the city itself was holding its breath, waiting to see which…" |
| |
| 91.67% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 1 | | matches | | 0 | "Quinn called back, her voice steadier than she felt" |
| |
| 71.05% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 3 | | fancyTags | | 0 | "the bartender called out (call out)" | | 1 | "Quinn called back (call back)" | | 2 | "Quinn interrupted (interrupt)" |
| | dialogueSentences | 38 | | tagDensity | 0.237 | | leniency | 0.474 | | rawRatio | 0.333 | | effectiveRatio | 0.158 | |