| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 22 | | adverbTagCount | 8 | | adverbTags | | 0 | "she said flatly [flatly]" | | 1 | "he said simply [simply]" | | 2 | "she asked finally [finally]" | | 3 | "he said quickly [quickly]" | | 4 | "she said finally [finally]" | | 5 | "she admitted quietly [quietly]" | | 6 | "Lucien said finally [finally]" | | 7 | "she said finally [finally]" |
| | dialogueSentences | 45 | | tagDensity | 0.489 | | leniency | 0.978 | | rawRatio | 0.364 | | effectiveRatio | 0.356 | |
| 66.91% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1360 | | totalAiIsmAdverbs | 9 | | found | | 0 | | | 1 | | | 2 | | adverb | "deliberately" | | count | 1 |
| | 3 | | | 4 | | | 5 | | | 6 | |
| | highlights | | 0 | "perfectly" | | 1 | "suddenly" | | 2 | "deliberately" | | 3 | "softly" | | 4 | "lightly" | | 5 | "quickly" | | 6 | "carefully" |
| |
| 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) | |
| 15.44% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1360 | | totalAiIsms | 23 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | |
| | highlights | | 0 | "chaotic" | | 1 | "tension" | | 2 | "silk" | | 3 | "stomach" | | 4 | "silence" | | 5 | "eyebrow" | | 6 | "pulse" | | 7 | "quickened" | | 8 | "intensity" | | 9 | "racing" | | 10 | "encounter" | | 11 | "unreadable" | | 12 | "flawless" | | 13 | "fleeting" | | 14 | "shattered" | | 15 | "glinting" | | 16 | "flickered" | | 17 | "palpable" | | 18 | "pounding" |
| |
| 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 | 84 | | matches | (empty) | |
| 91.84% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 2 | | narrationSentences | 84 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 107 | | 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 | 1352 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 24 | | unquotedAttributions | 1 | | matches | | 0 | "For a moment, he said nothing, just looked at her with that unreadable expression that drove her mad." |
| |
| 94.08% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 38 | | wordCount | 1073 | | uniqueNames | 11 | | maxNameDensity | 1.12 | | worstName | "Aurora" | | maxWindowNameDensity | 2 | | worstWindowName | "Aurora" | | discoveredNames | | Eva | 3 | | Ptolemy | 4 | | Moreau | 2 | | Aurora | 12 | | French | 1 | | Mayfair | 1 | | Hyde | 1 | | Park | 1 | | Lucien | 11 | | Brick | 1 | | Lane | 1 |
| | persons | | 0 | "Eva" | | 1 | "Ptolemy" | | 2 | "Moreau" | | 3 | "Aurora" | | 4 | "Lucien" |
| | places | | 0 | "Mayfair" | | 1 | "Hyde" | | 2 | "Park" | | 3 | "Brick" | | 4 | "Lane" |
| | globalScore | 0.941 | | windowScore | 1 | |
| 48.65% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 74 | | glossingSentenceCount | 3 | | matches | | 0 | "felt like opening a door she’d fought h" | | 1 | "something like hope" | | 2 | "as if offering his opinion" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1352 | | matches | (empty) | |
| 73.21% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 3 | | totalSentences | 107 | | matches | | 0 | "scrolls that covered" | | 1 | "cared, that whatever" | | 2 | "considered that, her" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 47 | | mean | 28.77 | | std | 18.18 | | cv | 0.632 | | sampleLengths | | 0 | 70 | | 1 | 17 | | 2 | 74 | | 3 | 24 | | 4 | 70 | | 5 | 17 | | 6 | 24 | | 7 | 15 | | 8 | 24 | | 9 | 32 | | 10 | 24 | | 11 | 52 | | 12 | 15 | | 13 | 49 | | 14 | 20 | | 15 | 33 | | 16 | 42 | | 17 | 17 | | 18 | 20 | | 19 | 36 | | 20 | 10 | | 21 | 30 | | 22 | 21 | | 23 | 36 | | 24 | 50 | | 25 | 54 | | 26 | 8 | | 27 | 32 | | 28 | 59 | | 29 | 12 | | 30 | 8 | | 31 | 17 | | 32 | 11 | | 33 | 16 | | 34 | 20 | | 35 | 21 | | 36 | 13 | | 37 | 54 | | 38 | 9 | | 39 | 14 | | 40 | 31 | | 41 | 8 | | 42 | 13 | | 43 | 15 | | 44 | 15 | | 45 | 48 | | 46 | 52 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 84 | | matches | | |
| 67.99% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 202 | | matches | | 0 | "was staying" | | 1 | "was, standing" | | 2 | "was, looking" | | 3 | "was standing" |
| |
| 36.05% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 107 | | ratio | 0.037 | | matches | | 0 | "She cracked the door just enough to peer out—and froze." | | 1 | "His platinum hair was perfectly slicked back, his heterochromatic eyes—one amber, one black—piercing as they met hers." | | 2 | "Aurora crossed her arms over her chest, her fingers brushing the small crescent-shaped scar on her wrist—a nervous habit she couldn’t seem to break." | | 3 | "Somewhere outside, the sounds of Brick Lane filtered through the thin walls—laughter, the hum of traffic, the faint sizzle of food from the curry house below." |
| |
| 78.56% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1081 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small crescent-shaped scar" |
| | adverbCount | 61 | | adverbRatio | 0.056429232192414434 | | lyAdverbCount | 23 | | lyAdverbRatio | 0.02127659574468085 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 107 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 107 | | mean | 12.64 | | std | 7.57 | | cv | 0.599 | | sampleLengths | | 0 | 9 | | 1 | 11 | | 2 | 27 | | 3 | 23 | | 4 | 7 | | 5 | 10 | | 6 | 27 | | 7 | 17 | | 8 | 30 | | 9 | 24 | | 10 | 11 | | 11 | 1 | | 12 | 22 | | 13 | 15 | | 14 | 21 | | 15 | 17 | | 16 | 15 | | 17 | 9 | | 18 | 15 | | 19 | 22 | | 20 | 2 | | 21 | 24 | | 22 | 8 | | 23 | 20 | | 24 | 4 | | 25 | 5 | | 26 | 24 | | 27 | 23 | | 28 | 10 | | 29 | 5 | | 30 | 12 | | 31 | 18 | | 32 | 19 | | 33 | 18 | | 34 | 2 | | 35 | 20 | | 36 | 12 | | 37 | 1 | | 38 | 11 | | 39 | 18 | | 40 | 13 | | 41 | 2 | | 42 | 14 | | 43 | 1 | | 44 | 14 | | 45 | 6 | | 46 | 6 | | 47 | 30 | | 48 | 7 | | 49 | 3 |
| |
| 67.29% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.4205607476635514 | | totalSentences | 107 | | uniqueOpeners | 45 | |
| 81.30% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 82 | | matches | | 0 | "Then he exhaled, a barely" | | 1 | "Somewhere outside, the sounds of" |
| | ratio | 0.024 | |
| 20.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 41 | | totalSentences | 82 | | matches | | 0 | "She crossed the room, careful" | | 1 | "She cracked the door just" | | 2 | "His platinum hair was perfectly" | | 3 | "He leaned on his ivory-handled" | | 4 | "he said, his voice smooth" | | 5 | "She stared at him, her" | | 6 | "It had been months since" | | 7 | "Her voice came out sharper" | | 8 | "she said flatly, though her" | | 9 | "He tilted his head, studying" | | 10 | "His smirk faltered, just for" | | 11 | "She hesitated, her mind racing." | | 12 | "he remarked, his gaze sweeping" | | 13 | "She crossed her arms again," | | 14 | "he repeated, his voice quieter" | | 15 | "She laughed, a sharp, humorless" | | 16 | "His jaw tightened, but he" | | 17 | "he said simply" | | 18 | "She stared at him, her" | | 19 | "she asked finally" |
| | ratio | 0.5 | |
| 51.46% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 67 | | totalSentences | 82 | | matches | | 0 | "The knock at the door" | | 1 | "Aurora set down her book" | | 2 | "Eva wasn’t due back for" | | 3 | "She crossed the room, careful" | | 4 | "She cracked the door just" | | 5 | "Lucien Moreau stood on the" | | 6 | "His platinum hair was perfectly" | | 7 | "He leaned on his ivory-handled" | | 8 | "he said, his voice smooth" | | 9 | "She stared at him, her" | | 10 | "It had been months since" | | 11 | "Months of silence, of unanswered" | | 12 | "Her voice came out sharper" | | 13 | "Lucien raised an eyebrow, his" | | 14 | "she said flatly, though her" | | 15 | "He tilted his head, studying" | | 16 | "Aurora crossed her arms over" | | 17 | "His smirk faltered, just for" | | 18 | "She hesitated, her mind racing." | | 19 | "Lucien stepped past her, his" |
| | ratio | 0.817 | |
| 60.98% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 82 | | matches | | 0 | "Because one thing was certain:" |
| | ratio | 0.012 | |
| 80.75% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 46 | | technicalSentenceCount | 4 | | matches | | 0 | "Lucien Moreau stood on the threshold, looking as immaculate as ever in a charcoal suit that clung to his frame like it had been tailored by angels." | | 1 | "For a moment, he said nothing, just looked at her with that unreadable expression that drove her mad." | | 2 | "Aurora wanted to stay angry, to hold onto the hurt like armor, but it was hard to do when he was standing there, looking at her like she was the only thing in t…" | | 3 | "Ptolemy meowed softly from his perch, as if offering his opinion." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 22 | | uselessAdditionCount | 7 | | matches | | 0 | "he repeated, his voice quieter now, less polished" | | 1 | "he admitted, his voice low" | | 2 | "He trailed, his gaze dropping to the floor" | | 3 | "she said finally, her voice softer than she intended" | | 4 | "she added, though her heart wasn’t in the words" | | 5 | "he prompted, his amber eye glinting with something like hope" | | 6 | "he replied, his tone carefully neutral" |
| |
| 38.89% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 16 | | fancyCount | 5 | | fancyTags | | 0 | "he repeated (repeat)" | | 1 | "he admitted (admit)" | | 2 | "she added (add)" | | 3 | "she admitted quietly (admit)" | | 4 | "she muttered (mutter)" |
| | dialogueSentences | 45 | | tagDensity | 0.356 | | leniency | 0.711 | | rawRatio | 0.313 | | effectiveRatio | 0.222 | |