| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 1 | | adverbTags | | 0 | "she whispered again [again]" |
| | dialogueSentences | 28 | | tagDensity | 0.321 | | leniency | 0.643 | | rawRatio | 0.111 | | effectiveRatio | 0.071 | |
| 96.02% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1256 | | totalAiIsmAdverbs | 1 | | 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) | |
| 60.19% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1256 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "fluttered" | | 1 | "gloom" | | 2 | "footsteps" | | 3 | "echoing" | | 4 | "etched" | | 5 | "otherworldly" | | 6 | "racing" | | 7 | "could feel" | | 8 | "potential" |
| |
| 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 | 2 | | narrationSentences | 83 | | matches | | 0 | "t with fear" | | 1 | "was desperate" |
| |
| 74.01% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 3 | | narrationSentences | 83 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 99 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 35 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1251 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 33 | | wordCount | 1030 | | uniqueNames | 8 | | maxNameDensity | 1.17 | | worstName | "Morris" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Morris" | | discoveredNames | | Harlow | 1 | | Quinn | 7 | | Tube | 1 | | November | 1 | | Camden | 1 | | Veil | 6 | | Market | 4 | | Morris | 12 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Market" | | 3 | "Morris" |
| | places | | | globalScore | 0.917 | | windowScore | 0.833 | |
| 34.62% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 65 | | glossingSentenceCount | 3 | | matches | | 0 | "looked like ceremonial robes" | | 1 | "looked like verdigris, but it was spreadi" | | 2 | "as if trying to point in multiple directions at once" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.799 | | wordCount | 1251 | | matches | | 0 | "not north, but toward the heart of the city, toward the place" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 99 | | matches | | |
| 88.41% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 34 | | mean | 36.79 | | std | 16.9 | | cv | 0.459 | | sampleLengths | | 0 | 68 | | 1 | 51 | | 2 | 51 | | 3 | 61 | | 4 | 42 | | 5 | 54 | | 6 | 37 | | 7 | 52 | | 8 | 39 | | 9 | 9 | | 10 | 34 | | 11 | 39 | | 12 | 50 | | 13 | 34 | | 14 | 12 | | 15 | 56 | | 16 | 22 | | 17 | 22 | | 18 | 52 | | 19 | 22 | | 20 | 16 | | 21 | 29 | | 22 | 17 | | 23 | 52 | | 24 | 24 | | 25 | 19 | | 26 | 23 | | 27 | 66 | | 28 | 10 | | 29 | 49 | | 30 | 26 | | 31 | 45 | | 32 | 52 | | 33 | 16 |
| |
| 96.81% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 83 | | matches | | 0 | "been decommissioned" | | 1 | "was etched" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 10 | | totalVerbs | 186 | | matches | | 0 | "was, following" | | 1 | "was cutting" | | 2 | "was waiting" | | 3 | "were looking" | | 4 | "was spreading" | | 5 | "were speaking" | | 6 | "was rising" | | 7 | "was pulling" | | 8 | "was thinning" | | 9 | "was standing" |
| |
| 27.42% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 99 | | ratio | 0.04 | | matches | | 0 | "The air grew colder with each step, carrying the scent of damp earth and something else—something metallic and sharp that made her nose wrinkle." | | 1 | "She'd seen these before—at the Veil Market, where they sold for small fortunes to those who knew what they were looking for." | | 2 | "The air grew thick with the scent of ozone and something else—something that reminded her of the Veil Market, of the hidden world that existed just beyond the edge of normal perception." | | 3 | "She'd spent eighteen years on the force, had seen things that would make most people question their sanity, but this—this was different." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1035 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 28 | | adverbRatio | 0.02705314009661836 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.007729468599033816 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 99 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 99 | | mean | 12.64 | | std | 7.31 | | cv | 0.578 | | sampleLengths | | 0 | 20 | | 1 | 24 | | 2 | 14 | | 3 | 10 | | 4 | 8 | | 5 | 8 | | 6 | 5 | | 7 | 30 | | 8 | 15 | | 9 | 2 | | 10 | 5 | | 11 | 20 | | 12 | 9 | | 13 | 18 | | 14 | 24 | | 15 | 19 | | 16 | 15 | | 17 | 13 | | 18 | 9 | | 19 | 5 | | 20 | 10 | | 21 | 12 | | 22 | 12 | | 23 | 20 | | 24 | 10 | | 25 | 12 | | 26 | 15 | | 27 | 13 | | 28 | 10 | | 29 | 4 | | 30 | 3 | | 31 | 22 | | 32 | 14 | | 33 | 3 | | 34 | 22 | | 35 | 6 | | 36 | 3 | | 37 | 11 | | 38 | 14 | | 39 | 9 | | 40 | 10 | | 41 | 29 | | 42 | 16 | | 43 | 7 | | 44 | 17 | | 45 | 10 | | 46 | 9 | | 47 | 25 | | 48 | 9 | | 49 | 3 |
| |
| 40.91% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.2828282828282828 | | totalSentences | 99 | | uniqueOpeners | 28 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 81 | | matches | (empty) | | ratio | 0 | |
| 86.67% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 27 | | totalSentences | 81 | | matches | | 0 | "She was cutting it close." | | 1 | "She ducked under the tape" | | 2 | "He looked up as she" | | 3 | "he said, pushing off from" | | 4 | "She moved past him toward" | | 5 | "His throat had been cut," | | 6 | "He gestured to the symbols" | | 7 | "She studied the wound, noting" | | 8 | "Her fingers brushed against something" | | 9 | "She'd seen these before—at the" | | 10 | "She slipped the compass into" | | 11 | "She stood, brushing dirt from" | | 12 | "She stepped closer, her heart" | | 13 | "She reached out, her fingers" | | 14 | "She stumbled backward, her flashlight" | | 15 | "she whispered, her mind racing" | | 16 | "She'd spent eighteen years on" | | 17 | "she breathed, the pieces falling" | | 18 | "She shook her head, her" | | 19 | "She pulled it out, watching" |
| | ratio | 0.333 | |
| 46.42% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 67 | | totalSentences | 81 | | matches | | 0 | "Detective Harlow Quinn stood at" | | 1 | "The yellow police tape fluttered" | | 2 | "The station had been decommissioned" | | 3 | "The call had come in" | | 4 | "A body found in the" | | 5 | "The responding officers reported strange" | | 6 | "Quinn adjusted her leather watch," | | 7 | "She was cutting it close." | | 8 | "The Veil Market moved tonight," | | 9 | "She ducked under the tape" | | 10 | "The air grew colder with" | | 11 | "DS Morris was waiting for" | | 12 | "He looked up as she" | | 13 | "he said, pushing off from" | | 14 | "Quinn replied, her voice flat" | | 15 | "She moved past him toward" | | 16 | "The victim was male, mid-thirties," | | 17 | "His throat had been cut," | | 18 | "Morris followed her, his footsteps" | | 19 | "He gestured to the symbols" |
| | ratio | 0.827 | |
| 61.73% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 81 | | matches | | 0 | "Because whatever had killed that" |
| | ratio | 0.012 | |
| 69.97% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 49 | | technicalSentenceCount | 5 | | matches | | 0 | "The responding officers reported strange symbols carved into the walls, an unnatural cold that lingered despite the season, and evidence that suggested the vict…" | | 1 | "The light from the symbols intensified, casting strange shadows that moved independently of any source." | | 2 | "The air grew thick with the scent of ozone and something else—something that reminded her of the Veil Market, of the hidden world that existed just beyond the e…" | | 3 | "The compass in her pocket was growing warm, its needle spinning wildly as if trying to point in multiple directions at once." | | 4 | "And she was standing at the center of it all, with a dead man's compass in her hand and a mystery that went deeper than anything she'd encountered in her years …" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 4 | | matches | | 0 | "Quinn replied, her voice flat" | | 1 | "she whispered, her mind racing" | | 2 | "she breathed, the pieces falling into place" | | 3 | "she whispered again, realization dawning" |
| |
| 7.14% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 4 | | fancyTags | | 0 | "Morris warned (warn)" | | 1 | "she whispered (whisper)" | | 2 | "she breathed (breathe)" | | 3 | "she whispered again (whisper)" |
| | dialogueSentences | 28 | | tagDensity | 0.214 | | leniency | 0.429 | | rawRatio | 0.667 | | effectiveRatio | 0.286 | |