| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 1 | | adverbTags | | 0 | "she asked quietly [quietly]" |
| | dialogueSentences | 59 | | tagDensity | 0.254 | | leniency | 0.508 | | rawRatio | 0.067 | | effectiveRatio | 0.034 | |
| 96.27% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1341 | | 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) | |
| 62.71% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1341 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "footsteps" | | 1 | "silence" | | 2 | "could feel" | | 3 | "flicked" | | 4 | "echoed" | | 5 | "tension" | | 6 | "raced" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "clenched jaw/fists" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 110 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 110 | | filterMatches | (empty) | | hedgeMatches | | 0 | "began to" | | 1 | "tried to" | | 2 | "seemed to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 153 | | 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 | 9 | | markdownWords | 17 | | totalWords | 1326 | | ratio | 0.013 | | matches | | 0 | "You’re making a mistake." | | 1 | "needed" | | 2 | "know" | | 3 | "did" | | 4 | "let me walk out that door" | | 5 | "I" | | 6 | "did" | | 7 | "chérie" | | 8 | "him" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 1 | | matches | | 0 | "Finally, she sighed, running a hand through her hair." |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 16 | | wordCount | 959 | | uniqueNames | 6 | | maxNameDensity | 0.63 | | worstName | "Lucien" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Ptolemy" | | discoveredNames | | Ptolemy | 4 | | Evan | 1 | | Moreau | 1 | | God | 1 | | Lucien | 6 | | Wanted | 3 |
| | persons | | 0 | "Ptolemy" | | 1 | "Evan" | | 2 | "Moreau" | | 3 | "God" | | 4 | "Lucien" |
| | places | (empty) | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 61 | | glossingSentenceCount | 1 | | matches | | 0 | "something like burnt sugar, clinging to him" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1326 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 153 | | matches | | 0 | "heard that voice" | | 1 | "out that door" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 70 | | mean | 18.94 | | std | 17.35 | | cv | 0.916 | | sampleLengths | | 0 | 61 | | 1 | 5 | | 2 | 26 | | 3 | 3 | | 4 | 6 | | 5 | 4 | | 6 | 44 | | 7 | 18 | | 8 | 5 | | 9 | 22 | | 10 | 5 | | 11 | 22 | | 12 | 45 | | 13 | 71 | | 14 | 14 | | 15 | 5 | | 16 | 26 | | 17 | 12 | | 18 | 1 | | 19 | 1 | | 20 | 20 | | 21 | 54 | | 22 | 7 | | 23 | 17 | | 24 | 2 | | 25 | 7 | | 26 | 24 | | 27 | 18 | | 28 | 64 | | 29 | 11 | | 30 | 12 | | 31 | 16 | | 32 | 7 | | 33 | 12 | | 34 | 36 | | 35 | 4 | | 36 | 27 | | 37 | 11 | | 38 | 10 | | 39 | 6 | | 40 | 41 | | 41 | 5 | | 42 | 4 | | 43 | 23 | | 44 | 1 | | 45 | 28 | | 46 | 3 | | 47 | 42 | | 48 | 11 | | 49 | 2 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 110 | | matches | (empty) | |
| 11.68% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 177 | | matches | | 0 | "wasn’t expecting" | | 1 | "were weighing" | | 2 | "were resisting" | | 3 | "was stopping" | | 4 | "weren’t saying" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 153 | | ratio | 0.065 | | matches | | 0 | "The flat was too quiet for visitors at this hour—past midnight, the curry house below long since closed, the street outside a hush of flickering lamplight and distant footsteps." | | 1 | "Then, a voice—smooth, accented, unmistakable." | | 2 | "Not forced—just tested, as if he were weighing his options." | | 3 | "His heterochromatic eyes—one amber, one black—locked onto hers." | | 4 | "Old habit—Evan’s grip had always been tightest there." | | 5 | "He took in the chaos—the books stacked on every surface, the scrolls pinned to the walls with knife-thin precision, the half-empty teacup on the counter." | | 6 | "She’d expected a lot of things—apologies, accusations, maybe even a confession—but not this." | | 7 | "But the raw edge in his voice, the way his hands clenched at his sides like he was stopping himself from touching her—it stole the fight from her." | | 8 | "But the truth was, she’d missed this—the thrill of the hunt, the puzzle of ancient magic, the way her mind raced when she was up against something no one else could solve." | | 9 | "But as she looked at him—really looked at him, at the shadows under his eyes, the tension in his shoulders—she realised something else." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 975 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 34 | | adverbRatio | 0.03487179487179487 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.005128205128205128 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 153 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 153 | | mean | 8.67 | | std | 7.22 | | cv | 0.834 | | sampleLengths | | 0 | 10 | | 1 | 9 | | 2 | 13 | | 3 | 29 | | 4 | 2 | | 5 | 3 | | 6 | 5 | | 7 | 5 | | 8 | 12 | | 9 | 4 | | 10 | 3 | | 11 | 1 | | 12 | 5 | | 13 | 4 | | 14 | 3 | | 15 | 10 | | 16 | 1 | | 17 | 8 | | 18 | 22 | | 19 | 16 | | 20 | 2 | | 21 | 5 | | 22 | 7 | | 23 | 11 | | 24 | 4 | | 25 | 5 | | 26 | 2 | | 27 | 4 | | 28 | 10 | | 29 | 6 | | 30 | 4 | | 31 | 2 | | 32 | 5 | | 33 | 18 | | 34 | 6 | | 35 | 10 | | 36 | 25 | | 37 | 8 | | 38 | 17 | | 39 | 21 | | 40 | 3 | | 41 | 2 | | 42 | 9 | | 43 | 5 | | 44 | 9 | | 45 | 2 | | 46 | 10 | | 47 | 5 | | 48 | 9 | | 49 | 3 |
| |
| 48.37% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 11 | | diversityRatio | 0.3333333333333333 | | totalSentences | 153 | | uniqueOpeners | 51 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 98 | | matches | | 0 | "Then, a voice—smooth, accented, unmistakable." | | 1 | "Then, the doorknob rattled." | | 2 | "Just stood there, filling the" | | 3 | "Finally, she sighed, running a" |
| | ratio | 0.041 | |
| 40.41% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 44 | | totalSentences | 98 | | matches | | 0 | "She set the mug down." | | 1 | "She wasn’t expecting anyone." | | 2 | "Her breath hitched." | | 3 | "She hadn’t heard that voice" | | 4 | "She pressed her palm against" | | 5 | "She scooped him up, more" | | 6 | "She clenched her jaw." | | 7 | "She set Ptolemy down and" | | 8 | "His heterochromatic eyes—one amber, one" | | 9 | "He didn’t smile." | | 10 | "She wanted to slam the" | | 11 | "His gaze flicked over her" | | 12 | "She crossed her arms" | | 13 | "He stepped forward, crowding her" | | 14 | "She didn’t retreat." | | 15 | "He glanced down at the" | | 16 | "She should’ve known he’d be" | | 17 | "He didn’t wait for the" | | 18 | "He moved past her, his" | | 19 | "He took in the chaos—the" |
| | ratio | 0.449 | |
| 82.45% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 74 | | totalSentences | 98 | | matches | | 0 | "The knock came just as" | | 1 | "Rory froze, the chipped mug" | | 2 | "Ptolemy, the tabby cat, uncurled" | | 3 | "The flat was too quiet" | | 4 | "She set the mug down." | | 5 | "The tea inside sloshed, untouched." | | 6 | "She wasn’t expecting anyone." | | 7 | "Her breath hitched." | | 8 | "The mug slipped from her" | | 9 | "She hadn’t heard that voice" | | 10 | "She pressed her palm against" | | 11 | "Ptolemy wound between her legs," | | 12 | "She scooped him up, more" | | 13 | "The cat purred, oblivious." | | 14 | "She clenched her jaw." | | 15 | "She set Ptolemy down and" | | 16 | "The second followed, then the" | | 17 | "The door swung open before" | | 18 | "Lucien stood there, impeccable as" | | 19 | "His heterochromatic eyes—one amber, one" |
| | ratio | 0.755 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 98 | | matches | | 0 | "And, apparently, not on her." | | 1 | "And, God help her, she’d" |
| | ratio | 0.02 | |
| 95.24% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 30 | | technicalSentenceCount | 2 | | matches | | 0 | "She pressed her palm against the door, as if she could feel him through the wood." | | 1 | "He moved past her, his shoulder brushing hers, sending a jolt through her that she refused to acknowledge." |
| |
| 91.67% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 1 | | matches | | 0 | "His fingers twitched, as if he were resisting the urge to reach for her" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 59 | | tagDensity | 0.068 | | leniency | 0.136 | | rawRatio | 0 | | effectiveRatio | 0 | |