| 82.35% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 1 | | adverbTags | | 0 | "the market had ever [ever]" |
| | dialogueSentences | 17 | | tagDensity | 0.353 | | leniency | 0.706 | | rawRatio | 0.167 | | effectiveRatio | 0.118 | |
| 70.70% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 512 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "slowly" | | 1 | "slightly" | | 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) | |
| 41.41% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 512 | | totalAiIsms | 6 | | found | | | highlights | | 0 | "shattered" | | 1 | "weight" | | 2 | "pulse" | | 3 | "silence" | | 4 | "raced" | | 5 | "systematic" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 0 | | maxInWindow | 0 | | found | (empty) | | highlights | (empty) | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 47 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 47 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 57 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 36 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 2 | | totalWords | 506 | | ratio | 0.004 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 68.03% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 19 | | wordCount | 427 | | uniqueNames | 6 | | maxNameDensity | 1.64 | | worstName | "Harlow" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Harlow" | | discoveredNames | | Harlow | 7 | | Quinn | 1 | | Veil | 2 | | Market | 2 | | Kowalski | 1 | | Eva | 6 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Market" | | 3 | "Kowalski" | | 4 | "Eva" |
| | places | (empty) | | globalScore | 0.68 | | windowScore | 0.833 | |
| 66.67% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 30 | | glossingSentenceCount | 1 | | matches | | 0 | "looked like cipher, but the numbers didn’" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 506 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 57 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 20 | | mean | 25.3 | | std | 17.77 | | cv | 0.702 | | sampleLengths | | 0 | 72 | | 1 | 51 | | 2 | 18 | | 3 | 39 | | 4 | 12 | | 5 | 57 | | 6 | 13 | | 7 | 21 | | 8 | 10 | | 9 | 16 | | 10 | 21 | | 11 | 37 | | 12 | 11 | | 13 | 19 | | 14 | 40 | | 15 | 10 | | 16 | 10 | | 17 | 21 | | 18 | 4 | | 19 | 24 |
| |
| 90.33% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 47 | | matches | | 0 | "was smudged" | | 1 | "been carved" |
| |
| 17.35% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 73 | | matches | | 0 | "was hoarding" | | 1 | "was taking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 57 | | ratio | 0.07 | | matches | | 0 | "The station was a tomb of rusted metal and flickering fluorescent tubes, the air thick with the scent of damp earth and something older—something that clung like sweat to the back of Harlow Quinn’s neck." | | 1 | "A transaction for a “Veil Compass” listed at an impossible price—twenty times what the market had ever paid for such a thing." | | 2 | "The needle should always point—toward the rift, toward the danger." | | 3 | "Not just any sigils—these were the kind that bound, the kind that sealed." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 433 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 13 | | adverbRatio | 0.03002309468822171 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.011547344110854504 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 57 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 57 | | mean | 8.88 | | std | 6.6 | | cv | 0.744 | | sampleLengths | | 0 | 35 | | 1 | 24 | | 2 | 3 | | 3 | 10 | | 4 | 21 | | 5 | 15 | | 6 | 15 | | 7 | 7 | | 8 | 11 | | 9 | 11 | | 10 | 16 | | 11 | 12 | | 12 | 6 | | 13 | 6 | | 14 | 6 | | 15 | 8 | | 16 | 21 | | 17 | 22 | | 18 | 11 | | 19 | 2 | | 20 | 9 | | 21 | 12 | | 22 | 3 | | 23 | 7 | | 24 | 3 | | 25 | 6 | | 26 | 7 | | 27 | 3 | | 28 | 1 | | 29 | 6 | | 30 | 10 | | 31 | 1 | | 32 | 18 | | 33 | 13 | | 34 | 6 | | 35 | 11 | | 36 | 9 | | 37 | 10 | | 38 | 3 | | 39 | 14 | | 40 | 2 | | 41 | 3 | | 42 | 3 | | 43 | 15 | | 44 | 10 | | 45 | 7 | | 46 | 3 | | 47 | 8 | | 48 | 8 | | 49 | 5 |
| |
| 71.35% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.43859649122807015 | | totalSentences | 57 | | uniqueOpeners | 25 | |
| 75.76% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 44 | | matches | | 0 | "Instead, she gestured to the" |
| | ratio | 0.023 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 10 | | totalSentences | 44 | | matches | | 0 | "She stepped through the cracked" | | 1 | "She’d been expecting this for" | | 2 | "she said, voice low, sharp" | | 3 | "She tucked a strand behind" | | 4 | "She moved closer, her military" | | 5 | "she said, her fingers hovering" | | 6 | "She turned to the wall" | | 7 | "she asked, voice cutting through" | | 8 | "She already knew." | | 9 | "It dealt in lives." |
| | ratio | 0.227 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 41 | | totalSentences | 44 | | matches | | 0 | "The station was a tomb" | | 1 | "She stepped through the cracked" | | 2 | "The Veil Market." | | 3 | "She’d been expecting this for" | | 4 | "A figure sat cross-legged in" | | 5 | "The ink was smudged, the" | | 6 | "A single bone token lay" | | 7 | "she said, voice low, sharp" | | 8 | "The figure turned slowly, their" | | 9 | "A woman with curly red" | | 10 | "She tucked a strand behind" | | 11 | "Eva Kowalski said, voice steady" | | 12 | "Harlow didn’t wait for an" | | 13 | "She moved closer, her military" | | 14 | "The ledger lay open to" | | 15 | "A transaction for a listed" | | 16 | "she said, her fingers hovering" | | 17 | "Eva exhaled sharply, rubbing the" | | 18 | "Harlow’s jaw tightened." | | 19 | "Eva didn’t answer." |
| | ratio | 0.932 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 44 | | matches | (empty) | | ratio | 0 | |
| 47.62% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 15 | | technicalSentenceCount | 2 | | matches | | 0 | "The station was a tomb of rusted metal and flickering fluorescent tubes, the air thick with the scent of damp earth and something older—something that clung lik…" | | 1 | "She stepped through the cracked glass doors, her boots crunching on shattered glass, and the weight of the case pressing down on her shoulders." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 6 | | uselessAdditionCount | 4 | | matches | | 0 | "she said, voice low, sharp" | | 1 | "Eva Kowalski said, voice steady" | | 2 | "she said, her fingers hovering over the page" | | 3 | "she asked, voice cutting through the silence" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 17 | | tagDensity | 0.235 | | leniency | 0.471 | | rawRatio | 0 | | effectiveRatio | 0 | |