| 94.74% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 1 | | adverbTags | | 0 | "he said quietly [quietly]" |
| | dialogueSentences | 19 | | tagDensity | 0.474 | | leniency | 0.947 | | rawRatio | 0.111 | | effectiveRatio | 0.105 | |
| 93.19% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1468 | | 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) | |
| 55.72% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1468 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "pounding" | | 1 | "chill" | | 2 | "flicked" | | 3 | "calculating" | | 4 | "flickered" | | 5 | "pulsed" | | 6 | "depths" | | 7 | "tracing" | | 8 | "footsteps" | | 9 | "echoed" | | 10 | "weight" | | 11 | "familiar" | | 12 | "electric" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "air was thick with" | | count | 1 |
|
| | highlights | | 0 | "The air was thick with" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 111 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 1 | | narrationSentences | 111 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 120 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 33 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1458 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 53 | | wordCount | 1349 | | uniqueNames | 20 | | maxNameDensity | 0.82 | | worstName | "Herrera" | | maxWindowNameDensity | 2 | | worstWindowName | "Herrera" | | discoveredNames | | London | 2 | | Harlow | 1 | | Quinn | 9 | | February | 1 | | Herrera | 11 | | Raven | 1 | | Nest | 1 | | Soho | 2 | | Saint | 2 | | Christopher | 2 | | Men | 1 | | Camden | 2 | | Morris | 4 | | Tube | 2 | | Spanish | 1 | | Close | 2 | | Sunday | 1 | | Veil | 2 | | Market | 2 | | Three | 4 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "February" | | 3 | "Herrera" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "Camden" | | 7 | "Morris" |
| | places | | 0 | "London" | | 1 | "Raven" | | 2 | "Soho" | | 3 | "Veil" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 80 | | glossingSentenceCount | 1 | | matches | | 0 | "not quite reaching for her weapon" |
| |
| 62.83% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.372 | | wordCount | 1458 | | matches | | 0 | "not fear, not guilt, but something closer to pity" | | 1 | "not guilt, but something closer to pity" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 120 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 39 | | mean | 37.38 | | std | 22.67 | | cv | 0.606 | | sampleLengths | | 0 | 61 | | 1 | 54 | | 2 | 62 | | 3 | 50 | | 4 | 28 | | 5 | 92 | | 6 | 57 | | 7 | 5 | | 8 | 51 | | 9 | 10 | | 10 | 49 | | 11 | 43 | | 12 | 16 | | 13 | 32 | | 14 | 18 | | 15 | 25 | | 16 | 27 | | 17 | 25 | | 18 | 47 | | 19 | 15 | | 20 | 56 | | 21 | 64 | | 22 | 80 | | 23 | 32 | | 24 | 15 | | 25 | 23 | | 26 | 16 | | 27 | 62 | | 28 | 9 | | 29 | 95 | | 30 | 45 | | 31 | 5 | | 32 | 22 | | 33 | 31 | | 34 | 35 | | 35 | 30 | | 36 | 32 | | 37 | 25 | | 38 | 14 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 111 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 246 | | matches | | 0 | "was certainly traveling" | | 1 | "wasn't running" | | 2 | "was slowing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 120 | | ratio | 0.075 | | matches | | 0 | "He knew these streets better than she did—and that thought gnawed at her." | | 1 | "Close enough to see something else in his expression—not fear, not guilt, but something closer to pity." | | 2 | "He moved fast—faster than she'd expected for a man who'd just run two miles through London's twisted streets." | | 3 | "The darkness below wasn't complete—something flickered down there, a faint glow that pulsed like a slow heartbeat." | | 4 | "Her memory said something else entirely—said shadows that moved against the light, said cold that sank past her bones and into something deeper." | | 5 | "The air was thick with incense and something sweeter—flowers, maybe, or decay." | | 6 | "And the people—she couldn't call them all people, not with the way some of them stood, the way some of them moved—milled between the stalls like this was any Sunday market." | | 7 | "His expression had changed again—resignation now, mixed with something that might have been concern." | | 8 | "The faces around her had turned—dozens of eyes, some human, some distinctly not, all fixed on the woman who'd crashed through a door she was never meant to find." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1362 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 37 | | adverbRatio | 0.027165932452276064 | | lyAdverbCount | 14 | | lyAdverbRatio | 0.010279001468428781 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 120 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 120 | | mean | 12.15 | | std | 7.91 | | cv | 0.651 | | sampleLengths | | 0 | 17 | | 1 | 29 | | 2 | 15 | | 3 | 25 | | 4 | 3 | | 5 | 26 | | 6 | 23 | | 7 | 26 | | 8 | 4 | | 9 | 3 | | 10 | 6 | | 11 | 15 | | 12 | 17 | | 13 | 18 | | 14 | 9 | | 15 | 9 | | 16 | 10 | | 17 | 5 | | 18 | 4 | | 19 | 21 | | 20 | 13 | | 21 | 25 | | 22 | 12 | | 23 | 12 | | 24 | 18 | | 25 | 19 | | 26 | 13 | | 27 | 7 | | 28 | 4 | | 29 | 1 | | 30 | 3 | | 31 | 19 | | 32 | 29 | | 33 | 6 | | 34 | 2 | | 35 | 2 | | 36 | 18 | | 37 | 1 | | 38 | 7 | | 39 | 19 | | 40 | 4 | | 41 | 25 | | 42 | 18 | | 43 | 7 | | 44 | 1 | | 45 | 5 | | 46 | 3 | | 47 | 20 | | 48 | 4 | | 49 | 8 |
| |
| 66.94% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.44166666666666665 | | totalSentences | 120 | | uniqueOpeners | 53 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 100 | | matches | (empty) | | ratio | 0 | |
| 80.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 35 | | totalSentences | 100 | | matches | | 0 | "She dug her heels in" | | 1 | "She'd first spotted him outside" | | 2 | "She almost laughed." | | 3 | "she shouted, though she knew" | | 4 | "They stopped only when they" | | 5 | "She'd give him that." | | 6 | "He moved with purpose, cutting" | | 7 | "He knew these streets better" | | 8 | "She knew Soho, knew Camden," | | 9 | "She could see it in" | | 10 | "She cornered him near an" | | 11 | "Her legs burned, her lungs" | | 12 | "He stood with his back" | | 13 | "His voice was thick, accented" | | 14 | "She moved forward slowly now," | | 15 | "She wanted him talking." | | 16 | "She took another step, her" | | 17 | "His eyes flicked to the" | | 18 | "he said quietly" | | 19 | "She stopped five feet from" |
| | ratio | 0.35 | |
| 45.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 83 | | totalSentences | 100 | | matches | | 0 | "The rain came down in" | | 1 | "Detective Harlow Quinn's boots struck" | | 2 | "Tomás Herrera rounded the corner" | | 3 | "Quinn didn't hesitate." | | 4 | "She dug her heels in" | | 5 | "She'd first spotted him outside" | | 6 | "Herrera had been standing beneath" | | 7 | "Patron saint of travelers." | | 8 | "She almost laughed." | | 9 | "The man was certainly traveling" | | 10 | "The alley stretched ahead of" | | 11 | "Water cascaded from a broken" | | 12 | "Quinn followed, the cold spray" | | 13 | "she shouted, though she knew" | | 14 | "Men like Herrera didn't stop" | | 15 | "They stopped only when they" | | 16 | "She'd give him that." | | 17 | "He moved with purpose, cutting" | | 18 | "He knew these streets better" | | 19 | "Quinn had eighteen years on" |
| | ratio | 0.83 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 100 | | matches | (empty) | | ratio | 0 | |
| 58.11% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 59 | | technicalSentenceCount | 7 | | matches | | 0 | "Detective Harlow Quinn's boots struck the wet cobblestones in a rhythm that matched the pounding of her heart, her breath coming in sharp white plumes against t…" | | 1 | "The man was twenty-nine, twelve years her junior, but she'd been running toward danger for nearly two decades while he'd spent his playing paramedic to things t…" | | 2 | "His hand found the gate, and it swung inward on silent hinges that had no business working on abandoned infrastructure." | | 3 | "Something that made the hair on her arms stand up beneath her wet sleeves." | | 4 | "Morris had worn one just like it, right up until the night he'd disappeared during a raid on a warehouse that shouldn't have been empty." | | 5 | "Her memory said something else entirely—said shadows that moved against the light, said cold that sank past her bones and into something deeper." | | 6 | "She counted seventy-three steps before she reached the bottom, her boots silent on worn stone that bore the scuff marks of countless feet." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 44.74% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 2 | | fancyTags | | 0 | "she shouted (shout)" | | 1 | "She wasn't sure who spoke her name (be speak)" |
| | dialogueSentences | 19 | | tagDensity | 0.211 | | leniency | 0.421 | | rawRatio | 0.5 | | effectiveRatio | 0.211 | |