| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 21 | | adverbTagCount | 2 | | adverbTags | | 0 | "Herrera said simply [simply]" | | 1 | "Herrera said quietly [quietly]" |
| | dialogueSentences | 39 | | tagDensity | 0.538 | | leniency | 1 | | rawRatio | 0.095 | | effectiveRatio | 0.095 | |
| 92.63% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1357 | | 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) | |
| 33.68% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1357 | | totalAiIsms | 18 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | word | "down her spine" | | count | 1 |
|
| | highlights | | 0 | "gloom" | | 1 | "quickened" | | 2 | "flickered" | | 3 | "navigate" | | 4 | "shimmered" | | 5 | "scanned" | | 6 | "could feel" | | 7 | "pulsed" | | 8 | "unspoken" | | 9 | "familiar" | | 10 | "weight" | | 11 | "whisper" | | 12 | "chill" | | 13 | "down her spine" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 83 | | matches | | |
| 39.59% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 5 | | narrationSentences | 83 | | filterMatches | | | hedgeMatches | | 0 | "seemed to" | | 1 | "appeared to" | | 2 | "began to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 100 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 40 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1350 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 19 | | unquotedAttributions | 0 | | matches | (empty) | |
| 16.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 63 | | wordCount | 1095 | | uniqueNames | 14 | | maxNameDensity | 2.19 | | worstName | "Quinn" | | maxWindowNameDensity | 4.5 | | worstWindowName | "Herrera" | | discoveredNames | | London | 2 | | Harlow | 1 | | Quinn | 24 | | Morris | 4 | | Herrera | 20 | | Raven | 2 | | Nest | 2 | | Camden | 1 | | Saint | 1 | | Christopher | 1 | | Tube | 2 | | Veil | 1 | | Market | 1 | | Herrula | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Morris" | | 3 | "Herrera" | | 4 | "Raven" | | 5 | "Nest" | | 6 | "Saint" | | 7 | "Christopher" | | 8 | "Herrula" |
| | places | | 0 | "London" | | 1 | "Camden" | | 2 | "Market" |
| | globalScore | 0.404 | | windowScore | 0.167 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 66 | | glossingSentenceCount | 4 | | matches | | 0 | "quite make sense to medical science" | | 1 | "bindings that seemed to move, and artifacts that hummed with power she could feel in her bones" | | 2 | "liquid that seemed to absorb the light around it" | | 3 | "felt like she was getting closer to the" |
| |
| 51.85% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.481 | | wordCount | 1350 | | matches | | 0 | "not just answers about Morris's death, but about the strange cases" | | 1 | "Not ordinary shadow, but something alive, something" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 100 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 41 | | mean | 32.93 | | std | 18.57 | | cv | 0.564 | | sampleLengths | | 0 | 67 | | 1 | 60 | | 2 | 64 | | 3 | 54 | | 4 | 47 | | 5 | 36 | | 6 | 59 | | 7 | 56 | | 8 | 43 | | 9 | 37 | | 10 | 21 | | 11 | 40 | | 12 | 62 | | 13 | 57 | | 14 | 23 | | 15 | 15 | | 16 | 21 | | 17 | 11 | | 18 | 22 | | 19 | 8 | | 20 | 19 | | 21 | 31 | | 22 | 15 | | 23 | 8 | | 24 | 23 | | 25 | 10 | | 26 | 19 | | 27 | 43 | | 28 | 11 | | 29 | 30 | | 30 | 17 | | 31 | 43 | | 32 | 16 | | 33 | 34 | | 34 | 39 | | 35 | 14 | | 36 | 46 | | 37 | 9 | | 38 | 15 | | 39 | 37 | | 40 | 68 |
| |
| 96.81% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 83 | | matches | | 0 | "been transformed" | | 1 | "was obscured" |
| |
| 60.38% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 191 | | matches | | 0 | "was closing" | | 1 | "wasn't heading" | | 2 | "was taking" | | 3 | "was getting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 100 | | ratio | 0.06 | | matches | | 0 | "A scar ran along his left forearm—Quinn had seen similar marks on other cases, marks that didn't quite make sense to medical science." | | 1 | "But backup would mean explanations she wasn't ready to make—not yet." | | 2 | "He pulled a small, white object from his pocket—a bone token—and held it up to a scanner Quinn couldn't see." | | 3 | "But as Herrera disappeared into the darkness, Quinn felt the pull of something she'd been chasing for three years—not just answers about Morris's death, but about the strange cases that had followed, the ones her superiors dismissed as anomalies." | | 4 | "Quinn felt the familiar prickle on the back of her neck—the same sensation she'd felt the night Morris died." | | 5 | "Beyond it was the secret room from The Raven's Nest—now revealed as a network of hidden passages connecting supernatural locations across the city." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1105 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 30 | | adverbRatio | 0.027149321266968326 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.01085972850678733 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 100 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 100 | | mean | 13.5 | | std | 7.36 | | cv | 0.545 | | sampleLengths | | 0 | 17 | | 1 | 22 | | 2 | 28 | | 3 | 16 | | 4 | 21 | | 5 | 23 | | 6 | 21 | | 7 | 15 | | 8 | 19 | | 9 | 9 | | 10 | 24 | | 11 | 19 | | 12 | 11 | | 13 | 16 | | 14 | 20 | | 15 | 11 | | 16 | 3 | | 17 | 13 | | 18 | 10 | | 19 | 5 | | 20 | 3 | | 21 | 2 | | 22 | 39 | | 23 | 20 | | 24 | 17 | | 25 | 20 | | 26 | 19 | | 27 | 5 | | 28 | 13 | | 29 | 25 | | 30 | 18 | | 31 | 17 | | 32 | 2 | | 33 | 12 | | 34 | 9 | | 35 | 24 | | 36 | 16 | | 37 | 14 | | 38 | 13 | | 39 | 16 | | 40 | 19 | | 41 | 10 | | 42 | 25 | | 43 | 22 | | 44 | 11 | | 45 | 12 | | 46 | 8 | | 47 | 7 | | 48 | 11 | | 49 | 10 |
| |
| 69.33% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.44 | | totalSentences | 100 | | uniqueOpeners | 44 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 79 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 14 | | totalSentences | 79 | | matches | | 0 | "She quickened her pace, her" | | 1 | "He was moving toward Camden," | | 2 | "He pulled a small, white" | | 3 | "She pulled out her service" | | 4 | "She gestured with a long," | | 5 | "She passed stalls selling enchanted" | | 6 | "he said, his tone carefully" | | 7 | "It contained a silvery liquid" | | 8 | "He let the sentence hang" | | 9 | "She scanned the crowd, her" | | 10 | "he said, pulling her toward" | | 11 | "She hadn't been looking for" | | 12 | "she asked, her voice barely" | | 13 | "he said, and they sprinted" |
| | ratio | 0.177 | |
| 29.62% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 68 | | totalSentences | 79 | | matches | | 0 | "The rain came down in" | | 1 | "Detective Harlow Quinn moved through" | | 2 | "The bastard had been supplying" | | 3 | "A scar ran along his" | | 4 | "Quinn's voice cut through the" | | 5 | "She quickened her pace, her" | | 6 | "The distinctive green neon of" | | 7 | "He was moving toward Camden," | | 8 | "Herrera's Saint Christopher medallion bounced" | | 9 | "The chase was taking them" | | 10 | "He pulled a small, white" | | 11 | "A section of the wall" | | 12 | "The Veil Market." | | 13 | "Quinn had only heard whispers" | | 14 | "A supernatural black market that" | | 15 | "Entry required a bone token." | | 16 | "Herrera had one." | | 17 | "She pulled out her service" | | 18 | "The air below was thick" | | 19 | "The abandoned Tube station had" |
| | ratio | 0.861 | |
| 63.29% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 79 | | matches | | | ratio | 0.013 | |
| 53.57% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 6 | | matches | | 0 | "Three years ago, she'd lost Morris to something that defied explanation, and now she was closing in on answers, even if they led to places she didn't understand…" | | 1 | "The bastard had been supplying supernatural treatments to who knew who, treatments that had gotten him kicked out of the NHS." | | 2 | "A supernatural black market that moved locations every full moon." | | 3 | "But as Herrera disappeared into the darkness, Quinn felt the pull of something she'd been chasing for three years—not just answers about Morris's death, but abo…" | | 4 | "Shelves lined with jars containing floating organs, dried herbs that writhed in their containers, and vials of liquid that changed color when exposed to light." | | 5 | "Not ordinary shadow, but something alive, something that moved with purpose." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 21 | | uselessAdditionCount | 6 | | matches | | 0 | "Quinn said, her hand resting near her weapon" | | 1 | "Quinn said, her voice cutting through the market's low hum" | | 2 | "he said, his tone carefully neutral" | | 3 | "Quinn said, her voice low" | | 4 | "Herrera said, his voice urgent" | | 5 | "she asked, her voice barely a whisper" |
| |
| 98.72% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 17 | | fancyCount | 2 | | fancyTags | | 0 | "a voice hissed (hiss)" | | 1 | "the vendor interjected (interject)" |
| | dialogueSentences | 39 | | tagDensity | 0.436 | | leniency | 0.872 | | rawRatio | 0.118 | | effectiveRatio | 0.103 | |