| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 2 | | adverbTags | | 0 | "He gestured around [around]" | | 1 | "She turned back [back]" |
| | dialogueSentences | 61 | | tagDensity | 0.328 | | leniency | 0.656 | | rawRatio | 0.1 | | effectiveRatio | 0.066 | |
| 85.52% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1727 | | totalAiIsmAdverbs | 5 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | adverb | "deliberately" | | count | 1 |
|
| | highlights | | 0 | "slightly" | | 1 | "suddenly" | | 2 | "really" | | 3 | "slowly" | | 4 | "deliberately" |
| |
| 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) | |
| 62.36% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1727 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "familiar" | | 1 | "silence" | | 2 | "traced" | | 3 | "tension" | | 4 | "perfect" | | 5 | "pulse" | | 6 | "echoed" | | 7 | "electric" | | 8 | "navigated" | | 9 | "weight" | | 10 | "warmth" |
| |
| 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 | 92 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 92 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 133 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 46 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1724 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 18 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 23 | | wordCount | 987 | | uniqueNames | 10 | | maxNameDensity | 0.71 | | worstName | "Aurora" | | maxWindowNameDensity | 1 | | worstWindowName | "Aurora" | | discoveredNames | | Carter | 1 | | Moreau | 1 | | Marseille | 1 | | Aurora | 7 | | Eva | 3 | | Ptolemy | 3 | | Mayfair | 1 | | Brick | 1 | | Lane | 1 | | Lucien | 4 |
| | persons | | 0 | "Carter" | | 1 | "Moreau" | | 2 | "Aurora" | | 3 | "Eva" | | 4 | "Ptolemy" | | 5 | "Lucien" |
| | places | | 0 | "Marseille" | | 1 | "Brick" | | 2 | "Lane" |
| | globalScore | 1 | | windowScore | 1 | |
| 79.58% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 71 | | glossingSentenceCount | 2 | | matches | | 0 | "felt like stones dropped into still wat" | | 1 | "tasted like electricity" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1724 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 133 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 63 | | mean | 27.37 | | std | 19.29 | | cv | 0.705 | | sampleLengths | | 0 | 33 | | 1 | 45 | | 2 | 1 | | 3 | 26 | | 4 | 16 | | 5 | 5 | | 6 | 37 | | 7 | 58 | | 8 | 54 | | 9 | 9 | | 10 | 10 | | 11 | 6 | | 12 | 29 | | 13 | 55 | | 14 | 20 | | 15 | 32 | | 16 | 29 | | 17 | 51 | | 18 | 31 | | 19 | 11 | | 20 | 97 | | 21 | 22 | | 22 | 45 | | 23 | 11 | | 24 | 72 | | 25 | 21 | | 26 | 11 | | 27 | 44 | | 28 | 4 | | 29 | 63 | | 30 | 38 | | 31 | 33 | | 32 | 8 | | 33 | 31 | | 34 | 9 | | 35 | 24 | | 36 | 26 | | 37 | 4 | | 38 | 33 | | 39 | 26 | | 40 | 4 | | 41 | 21 | | 42 | 26 | | 43 | 28 | | 44 | 39 | | 45 | 16 | | 46 | 55 | | 47 | 43 | | 48 | 4 | | 49 | 9 |
| |
| 97.64% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 92 | | matches | | 0 | "been taken" | | 1 | "been opened" |
| |
| 76.54% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 162 | | matches | | 0 | "was standing" | | 1 | "was deafening" | | 2 | "was standing" |
| |
| 99.89% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 3 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 133 | | ratio | 0.015 | | matches | | 0 | "The scent of him—sandalwood, ozone, something metallic and dark—flooded the small space." | | 1 | "The air between them crackled with all the things left unsaid—the attraction that had never died, the hurt of the abrupt ending, the fear of what he was, and the deeper fear of what she became when she was with him." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 992 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 23 | | adverbRatio | 0.023185483870967742 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.007056451612903226 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 133 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 133 | | mean | 12.96 | | std | 10.12 | | cv | 0.78 | | sampleLengths | | 0 | 9 | | 1 | 21 | | 2 | 3 | | 3 | 35 | | 4 | 10 | | 5 | 1 | | 6 | 23 | | 7 | 3 | | 8 | 9 | | 9 | 7 | | 10 | 5 | | 11 | 37 | | 12 | 12 | | 13 | 14 | | 14 | 12 | | 15 | 20 | | 16 | 8 | | 17 | 8 | | 18 | 38 | | 19 | 9 | | 20 | 10 | | 21 | 6 | | 22 | 8 | | 23 | 12 | | 24 | 9 | | 25 | 6 | | 26 | 11 | | 27 | 38 | | 28 | 15 | | 29 | 5 | | 30 | 32 | | 31 | 6 | | 32 | 15 | | 33 | 4 | | 34 | 4 | | 35 | 17 | | 36 | 34 | | 37 | 5 | | 38 | 26 | | 39 | 6 | | 40 | 5 | | 41 | 24 | | 42 | 31 | | 43 | 17 | | 44 | 9 | | 45 | 8 | | 46 | 8 | | 47 | 22 | | 48 | 17 | | 49 | 28 |
| |
| 47.37% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.3157894736842105 | | totalSentences | 133 | | uniqueOpeners | 42 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 88 | | matches | (empty) | | ratio | 0 | |
| 15.45% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 45 | | totalSentences | 88 | | matches | | 0 | "Her breath hitched." | | 1 | "She didn’t move." | | 2 | "He didn’t smile" | | 3 | "He tilted his head slightly" | | 4 | "She didn’t step back, forcing" | | 5 | "He moved into the flat" | | 6 | "She closed the door, reset" | | 7 | "His heterochromatic eyes settled on" | | 8 | "She pushed away from the" | | 9 | "She spun, the kettle forgotten." | | 10 | "They had spent six months" | | 11 | "It had ended the night" | | 12 | "He’d told her it was" | | 13 | "She’d told him she couldn’t" | | 14 | "She’d walked out and never" | | 15 | "He leaned his cane against" | | 16 | "His voice dropped, stripped of" | | 17 | "He took a step closer" | | 18 | "He gestured around the flat" | | 19 | "She had no rebuttal." |
| | ratio | 0.511 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 85 | | totalSentences | 88 | | matches | | 0 | "The third deadbolt slid back" | | 1 | "Aurora Carter peered through the" | | 2 | "Her breath hitched." | | 3 | "Lucien Moreau stood on the" | | 4 | "The amber and black eyes" | | 5 | "The sound of his voice," | | 6 | "She didn’t move." | | 7 | "He didn’t smile" | | 8 | "He tilted his head slightly" | | 9 | "Aurora pushed the door shut," | | 10 | "She didn’t step back, forcing" | | 11 | "The scent of him—sandalwood, ozone," | | 12 | "He moved into the flat" | | 13 | "She closed the door, reset" | | 14 | "The sounds were overly loud" | | 15 | "Lucien said, though his tone" | | 16 | "Aurora crossed her arms, leaning" | | 17 | "The small crescent scar on" | | 18 | "His heterochromatic eyes settled on" | | 19 | "The amber one seemed to" |
| | ratio | 0.966 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 88 | | matches | (empty) | | ratio | 0 | |
| 77.92% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 33 | | technicalSentenceCount | 3 | | matches | | 0 | "Lucien Moreau stood on the landing, one hand resting on the ivory handle of his cane, the other tucked into the pocket of a charcoal suit that looked tailored w…" | | 1 | "When she turned, he was standing amid the chaos of Eva’s research, his gaze taking in the towers of books, the unfurled scrolls on the kitchen table, the cat Pt…" | | 2 | "The man who spoke four languages fluently, who navigated the underworld with an ivory-handled cane and a blade, was standing in a messy flat asking for permissi…" |
| |
| 25.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 4 | | matches | | 0 | "Lucien said, though his tone held no mockery" | | 1 | "she admitted, the words torn from her" | | 2 | "Lucien said, his tone returning to its businesslike neutrality" | | 3 | "she said, her voice barely audible" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 2 | | fancyTags | | 0 | "Aurora whispered (whisper)" | | 1 | "she admitted (admit)" |
| | dialogueSentences | 61 | | tagDensity | 0.082 | | leniency | 0.164 | | rawRatio | 0.4 | | effectiveRatio | 0.066 | |