| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 18 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 44 | | tagDensity | 0.409 | | leniency | 0.818 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 78.78% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1178 | | totalAiIsmAdverbs | 5 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | adverb | "barely above a whisper" | | count | 1 |
|
| | highlights | | 0 | "lightly" | | 1 | "carefully" | | 2 | "softly" | | 3 | "lazily" | | 4 | "barely above a whisper" |
| |
| 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) | |
| 23.60% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1178 | | totalAiIsms | 18 | | found | | | highlights | | 0 | "could feel" | | 1 | "stomach" | | 2 | "unspoken" | | 3 | "flicked" | | 4 | "echoing" | | 5 | "intensity" | | 6 | "pulse" | | 7 | "familiar" | | 8 | "comforting" | | 9 | "eyebrow" | | 10 | "facade" | | 11 | "tension" | | 12 | "whisper" | | 13 | "pounding" | | 14 | "racing" |
| |
| 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 | 1 | | narrationSentences | 76 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 76 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 101 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 37 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1164 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 20 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 18 | | wordCount | 917 | | uniqueNames | 7 | | maxNameDensity | 0.65 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 6 | | Eva | 3 | | Brick | 1 | | Lane | 1 | | Lucien | 3 | | London | 1 | | Ptolemy | 3 |
| | persons | | 0 | "Rory" | | 1 | "Eva" | | 2 | "Lucien" | | 3 | "Ptolemy" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 7.14% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 70 | | glossingSentenceCount | 4 | | matches | | 0 | "felt like a warning" | | 1 | "as if dismissing the tension in the room" | | 2 | "felt like an eternity, the world outsid" | | 3 | "felt like she could breathe" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1164 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 101 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 40 | | mean | 29.1 | | std | 15.64 | | cv | 0.537 | | sampleLengths | | 0 | 67 | | 1 | 73 | | 2 | 50 | | 3 | 35 | | 4 | 15 | | 5 | 19 | | 6 | 54 | | 7 | 16 | | 8 | 45 | | 9 | 38 | | 10 | 23 | | 11 | 15 | | 12 | 19 | | 13 | 37 | | 14 | 24 | | 15 | 19 | | 16 | 32 | | 17 | 18 | | 18 | 17 | | 19 | 30 | | 20 | 9 | | 21 | 36 | | 22 | 13 | | 23 | 56 | | 24 | 17 | | 25 | 40 | | 26 | 10 | | 27 | 26 | | 28 | 21 | | 29 | 17 | | 30 | 37 | | 31 | 18 | | 32 | 20 | | 33 | 36 | | 34 | 18 | | 35 | 35 | | 36 | 45 | | 37 | 12 | | 38 | 12 | | 39 | 40 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 76 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 178 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 101 | | ratio | 0.069 | | matches | | 0 | "No one ever knocked—not here, not at Eva’s flat." | | 1 | "He looked out of place in this dingy Brick Lane hallway, his charcoal suit immaculate, his heterochromatic eyes—one amber, one black—fixed on the door as if he could feel her watching him." | | 2 | "She turned the deadbolts—three of them, each clicking open with a finality that made her stomach twist—and pulled the door open just enough to see him fully." | | 3 | "His gaze flicked over her shoulder, taking in the cluttered flat behind her—the stacks of books, the scrolls spilling off the coffee table, Ptolemy the tabby cat curled up on the windowsill like a silent judge." | | 4 | "The scent of sandalwood and something darker—something distinctly him—filled the small space as he crossed the threshold." | | 5 | "But the scars he’d left—both seen and unseen—were still fresh." | | 6 | "His lips curved into a small, genuine smile—the kind that reached his eyes and lit up his face in a way she’d almost forgotten." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 930 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 25 | | adverbRatio | 0.026881720430107527 | | lyAdverbCount | 7 | | lyAdverbRatio | 0.007526881720430108 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 101 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 101 | | mean | 11.52 | | std | 6.12 | | cv | 0.531 | | sampleLengths | | 0 | 17 | | 1 | 8 | | 2 | 9 | | 3 | 14 | | 4 | 19 | | 5 | 13 | | 6 | 6 | | 7 | 22 | | 8 | 32 | | 9 | 7 | | 10 | 15 | | 11 | 8 | | 12 | 20 | | 13 | 27 | | 14 | 8 | | 15 | 11 | | 16 | 4 | | 17 | 14 | | 18 | 5 | | 19 | 11 | | 20 | 29 | | 21 | 14 | | 22 | 11 | | 23 | 5 | | 24 | 36 | | 25 | 9 | | 26 | 6 | | 27 | 17 | | 28 | 15 | | 29 | 9 | | 30 | 12 | | 31 | 2 | | 32 | 10 | | 33 | 5 | | 34 | 10 | | 35 | 9 | | 36 | 21 | | 37 | 16 | | 38 | 18 | | 39 | 6 | | 40 | 11 | | 41 | 8 | | 42 | 12 | | 43 | 10 | | 44 | 6 | | 45 | 4 | | 46 | 5 | | 47 | 13 | | 48 | 11 | | 49 | 6 |
| |
| 55.12% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.36633663366336633 | | totalSentences | 101 | | uniqueOpeners | 37 | |
| 44.44% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 75 | | matches | | 0 | "Then, with a sigh, she" |
| | ratio | 0.013 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 52 | | totalSentences | 75 | | matches | | 0 | "She froze, soap suds dripping" | | 1 | "She dried her hands on" | | 2 | "She padded to the door," | | 3 | "He looked out of place" | | 4 | "She could pretend she wasn’t" | | 5 | "She turned the deadbolts—three of" | | 6 | "Her voice was steady, a" | | 7 | "His lips curved into a" | | 8 | "She hesitated, her fingers tightening" | | 9 | "She’d stood there, rain soaking" | | 10 | "she asked, though she already" | | 11 | "His gaze flicked over her" | | 12 | "he said, his voice low" | | 13 | "She stepped aside, letting him" | | 14 | "He tapped his cane lightly" | | 15 | "he said, though his tone" | | 16 | "He paused by the coffee" | | 17 | "He set the scroll down" | | 18 | "she countered, crossing her arms" | | 19 | "He turned to face her," |
| | ratio | 0.693 | |
| 26.67% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 65 | | totalSentences | 75 | | matches | | 0 | "The knock came as Rory" | | 1 | "She froze, soap suds dripping" | | 2 | "Eva had a key, and" | | 3 | "She dried her hands on" | | 4 | "She padded to the door," | | 5 | "Lucien stood on the landing," | | 6 | "He looked out of place" | | 7 | "She could pretend she wasn’t" | | 8 | "She turned the deadbolts—three of" | | 9 | "The air between them crackled" | | 10 | "Her voice was steady, a" | | 11 | "His lips curved into a" | | 12 | "She hesitated, her fingers tightening" | | 13 | "The last time they’d seen" | | 14 | "She’d stood there, rain soaking" | | 15 | "she asked, though she already" | | 16 | "Lucien didn’t do personal visits." | | 17 | "His gaze flicked over her" | | 18 | "he said, his voice low" | | 19 | "She stepped aside, letting him" |
| | ratio | 0.867 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 75 | | matches | | 0 | "If she didn’t open the" | | 1 | "Now it felt like a" |
| | ratio | 0.027 | |
| 47.62% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 45 | | technicalSentenceCount | 6 | | matches | | 0 | "He looked out of place in this dingy Brick Lane hallway, his charcoal suit immaculate, his heterochromatic eyes—one amber, one black—fixed on the door as if he …" | | 1 | "The last time they’d seen each other, he’d been disappearing into the foggy streets of London, his cane tapping against the cobblestones as he walked away witho…" | | 2 | "His gaze flicked over her shoulder, taking in the cluttered flat behind her—the stacks of books, the scrolls spilling off the coffee table, Ptolemy the tabby ca…" | | 3 | "He turned to face her, his mismatched eyes holding hers with an intensity that made her pulse quicken." | | 4 | "She looked away, her gaze falling on Ptolemy, who was watching them with unblinking green eyes." | | 5 | "His heartbeat was steady beneath her ear, a reassuring rhythm that anchored her in the storm of emotions." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 18 | | uselessAdditionCount | 10 | | matches | | 0 | "he said, his voice low and smooth" | | 1 | "he said, though his tone suggested otherwise" | | 2 | "she asked, her voice sharper than she intended" | | 3 | "he said, his voice softening" | | 4 | "she asked, her voice quieter now" | | 5 | "he said, his voice barely above a whisper" | | 6 | "he said, his thumb grazing her cheek" | | 7 | "he continued, his voice rough with emotion" | | 8 | "he said, his hand dropping to her shoulder" | | 9 | "she asked, her voice trembling" |
| |
| 59.09% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 16 | | fancyCount | 4 | | fancyTags | | 0 | "he continued (continue)" | | 1 | "she whispered (whisper)" | | 2 | "she admitted (admit)" | | 3 | "she mumbled (mumble)" |
| | dialogueSentences | 44 | | tagDensity | 0.364 | | leniency | 0.727 | | rawRatio | 0.25 | | effectiveRatio | 0.182 | |