| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 28 | | adverbTagCount | 2 | | adverbTags | | 0 | "she said finally [finally]" | | 1 | "she said finally [finally]" |
| | dialogueSentences | 75 | | tagDensity | 0.373 | | leniency | 0.747 | | rawRatio | 0.071 | | effectiveRatio | 0.053 | |
| 81.57% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1628 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "softly" | | 1 | "precisely" | | 2 | "completely" | | 3 | "really" | | 4 | "suddenly" | | 5 | "quickly" |
| |
| 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) | |
| 53.93% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1628 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "intensity" | | 1 | "familiar" | | 2 | "flicked" | | 3 | "scanning" | | 4 | "fascinating" | | 5 | "navigated" | | 6 | "stomach" | | 7 | "charged" | | 8 | "unspoken" | | 9 | "implication" | | 10 | "perfect" | | 11 | "tension" | | 12 | "echoed" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 79 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 79 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 122 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 44 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1615 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 25 | | unquotedAttributions | 0 | | matches | (empty) | |
| 52.66% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 56 | | wordCount | 976 | | uniqueNames | 12 | | maxNameDensity | 1.95 | | worstName | "Lucien" | | maxWindowNameDensity | 3 | | worstWindowName | "Lucien" | | discoveredNames | | Eva | 5 | | Lucien | 19 | | Moreau | 3 | | French | 1 | | Aurora | 19 | | London | 2 | | Hackney | 1 | | Crimson | 1 | | Court | 1 | | Ptolemy | 2 | | Veil | 1 | | Mayfair | 1 |
| | persons | | 0 | "Eva" | | 1 | "Lucien" | | 2 | "Moreau" | | 3 | "Aurora" |
| | places | | | globalScore | 0.527 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 61 | | glossingSentenceCount | 1 | | matches | | 0 | "not-quite smile she used to find so fascinating" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1615 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 122 | | matches | | 0 | "annoyed that he" | | 1 | "lost that intensity" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 68 | | mean | 23.75 | | std | 13.01 | | cv | 0.548 | | sampleLengths | | 0 | 41 | | 1 | 24 | | 2 | 16 | | 3 | 40 | | 4 | 22 | | 5 | 9 | | 6 | 27 | | 7 | 52 | | 8 | 15 | | 9 | 47 | | 10 | 17 | | 11 | 28 | | 12 | 25 | | 13 | 17 | | 14 | 27 | | 15 | 26 | | 16 | 6 | | 17 | 3 | | 18 | 30 | | 19 | 25 | | 20 | 39 | | 21 | 11 | | 22 | 36 | | 23 | 32 | | 24 | 8 | | 25 | 23 | | 26 | 46 | | 27 | 26 | | 28 | 11 | | 29 | 29 | | 30 | 4 | | 31 | 33 | | 32 | 28 | | 33 | 5 | | 34 | 4 | | 35 | 27 | | 36 | 16 | | 37 | 30 | | 38 | 21 | | 39 | 31 | | 40 | 8 | | 41 | 25 | | 42 | 18 | | 43 | 13 | | 44 | 56 | | 45 | 8 | | 46 | 14 | | 47 | 36 | | 48 | 10 | | 49 | 25 |
| |
| 96.38% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 79 | | matches | | 0 | "was slicked" | | 1 | "was stressed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 176 | | matches | | 0 | "was falling" | | 1 | "were standing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 122 | | ratio | 0.09 | | matches | | 0 | "His platinum hair was slicked back as immaculately as ever, and his mismatched eyes—one amber, one black—fixed on her with unnerving intensity." | | 1 | "Lucien leaned on his ivory-handled cane, and the familiar gesture sent a cascade of memories through her mind—his elegant fingers curled around that same handle as he'd guided her through the shadowy corners of London's supernatural underworld six months ago." | | 2 | "Aurora knew what lay inside it—a thin, deadly blade that had saved both their lives more than once." | | 3 | "The small crescent scar on her left wrist—a childhood injury long before all this supernatural madness—tingled as it always did when she was stressed." | | 4 | "She recalled everything about the night he'd warned her—the rain on the windows of his expensive car, the smell of his cologne, the way his hand had felt against her cheek before she'd pulled away and told him that their arrangement was over." | | 5 | "Aurora could smell his familiar cologne—something expensive and subtle, with notes of amber and sandalwood." | | 6 | "The Veil was a club that catered to supernatural beings—a place where Lucien had first introduced her to London's hidden world." | | 7 | "Aurora remembered their last kiss—desperate and heated against the wall of his Mayfair apartment, before everything had fallen apart." | | 8 | "Aurora studied him—the perfect cut of his charcoal suit, the precise angle of his platinum hair, the subtle tension in his shoulders that most people would never notice." | | 9 | "Something flashed in his mismatched eyes—relief, perhaps, or something deeper." | | 10 | "Whatever had broken between them six months ago, some connections remained intact—whether she wanted them to or not." |
| |
| 92.70% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 993 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 48 | | adverbRatio | 0.04833836858006042 | | lyAdverbCount | 16 | | lyAdverbRatio | 0.016112789526686808 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 122 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 122 | | mean | 13.24 | | std | 8.38 | | cv | 0.633 | | sampleLengths | | 0 | 19 | | 1 | 22 | | 2 | 20 | | 3 | 4 | | 4 | 13 | | 5 | 3 | | 6 | 40 | | 7 | 22 | | 8 | 9 | | 9 | 17 | | 10 | 7 | | 11 | 3 | | 12 | 6 | | 13 | 27 | | 14 | 13 | | 15 | 6 | | 16 | 5 | | 17 | 10 | | 18 | 12 | | 19 | 22 | | 20 | 13 | | 21 | 17 | | 22 | 15 | | 23 | 13 | | 24 | 12 | | 25 | 6 | | 26 | 7 | | 27 | 17 | | 28 | 20 | | 29 | 7 | | 30 | 8 | | 31 | 18 | | 32 | 6 | | 33 | 2 | | 34 | 1 | | 35 | 24 | | 36 | 6 | | 37 | 8 | | 38 | 17 | | 39 | 39 | | 40 | 5 | | 41 | 6 | | 42 | 14 | | 43 | 22 | | 44 | 8 | | 45 | 24 | | 46 | 8 | | 47 | 15 | | 48 | 8 | | 49 | 3 |
| |
| 69.67% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.4426229508196721 | | totalSentences | 122 | | uniqueOpeners | 54 | |
| 90.09% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 74 | | matches | | 0 | "Always maintaining the advantage of" | | 1 | "At least the cat had" |
| | ratio | 0.027 | |
| 57.84% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 30 | | totalSentences | 74 | | matches | | 0 | "His platinum hair was slicked" | | 1 | "he said, his French accent" | | 2 | "he asked, with that infuriating" | | 3 | "His heterochromatic gaze flicked past" | | 4 | "she said, stepping aside" | | 5 | "He entered with his characteristic" | | 6 | "He navigated around a stack" | | 7 | "he asked, nodding at the" | | 8 | "He remained standing, though there" | | 9 | "She cut the memory off." | | 10 | "His voice softened" | | 11 | "She did recall." | | 12 | "She recalled everything about the" | | 13 | "She meant it to sound" | | 14 | "She stood up, pacing between" | | 15 | "he countered, taking a step" | | 16 | "She unconsciously touched her side" | | 17 | "His voice dropped" | | 18 | "They were standing too close" | | 19 | "His accent thickened as it" |
| | ratio | 0.405 | |
| 0.54% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 68 | | totalSentences | 74 | | matches | | 0 | "Aurora nearly dropped her takeout" | | 1 | "His platinum hair was slicked" | | 2 | "he said, his French accent" | | 3 | "Aurora clutched the door frame," | | 4 | "Lucien leaned on his ivory-handled" | | 5 | "he asked, with that infuriating" | | 6 | "The question came out sharper" | | 7 | "His heterochromatic gaze flicked past" | | 8 | "Aurora's fingers tightened on the" | | 9 | "The last time Lucien had" | | 10 | "Lucien Moreau never forgot a" | | 11 | "she said, stepping aside" | | 12 | "Lucien's lips quirked in that" | | 13 | "He entered with his characteristic" | | 14 | "He navigated around a stack" | | 15 | "he asked, nodding at the" | | 16 | "Aurora set her food on" | | 17 | "He remained standing, though there" | | 18 | "Ptolemy, Eva's tabby cat, slinked" | | 19 | "Lucien sighed, twisting the handle" |
| | ratio | 0.919 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 74 | | matches | | 0 | "Before she'd discovered his deception." | | 1 | "Before she'd grabbed her coat" |
| | ratio | 0.027 | |
| 68.97% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 29 | | technicalSentenceCount | 3 | | matches | | 0 | "Aurora knew what lay inside it—a thin, deadly blade that had saved both their lives more than once." | | 1 | "Aurora looked away first, her gaze falling on Ptolemy, who had settled into a suspicious crouch, watching them." | | 2 | "As Lucien began to explain, Aurora couldn't help noticing how easily they fell back into their old rhythm, finishing each other's thoughts, building on each oth…" |
| |
| 89.29% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 28 | | uselessAdditionCount | 2 | | matches | | 0 | "She meant, but her voice broke on the last word" | | 1 | "Lucien took, careful to maintain a respectful distance" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 2 | | fancyTags | | 0 | "she whispered (whisper)" | | 1 | "he agreed (agree)" |
| | dialogueSentences | 75 | | tagDensity | 0.12 | | leniency | 0.24 | | rawRatio | 0.222 | | effectiveRatio | 0.053 | |