| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 1 | | adverbTags | | 0 | "Rory said carefully [carefully]" |
| | dialogueSentences | 25 | | tagDensity | 0.24 | | leniency | 0.48 | | rawRatio | 0.167 | | effectiveRatio | 0.08 | |
| 86.60% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 746 | | totalAiIsmAdverbs | 2 | | 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) | |
| 32.98% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 746 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "eyebrow" | | 1 | "gleaming" | | 2 | "silence" | | 3 | "unreadable" | | 4 | "weight" | | 5 | "implication" | | 6 | "pulse" | | 7 | "traced" |
| |
| 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 | 55 | | matches | (empty) | |
| 90.91% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 0 | | narrationSentences | 55 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 74 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 39 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 6 | | totalWords | 735 | | ratio | 0.008 | | matches | | 0 | "Stay. Just for tonight." | | 1 | "Owe him?" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 52.28% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 35 | | wordCount | 614 | | uniqueNames | 11 | | maxNameDensity | 1.95 | | worstName | "Rory" | | maxWindowNameDensity | 3 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 12 | | Lucien | 9 | | Moreau | 1 | | Ptolemy | 2 | | Eva | 4 | | Black | 1 | | Ledger | 2 | | London | 1 | | Marseille | 1 | | Vault | 1 | | Thames | 1 |
| | persons | | 0 | "Rory" | | 1 | "Lucien" | | 2 | "Moreau" | | 3 | "Eva" |
| | places | | 0 | "London" | | 1 | "Marseille" | | 2 | "Thames" |
| | globalScore | 0.523 | | windowScore | 0.667 | |
| 87.50% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 40 | | glossingSentenceCount | 1 | | matches | | 0 | "something like that—*Stay" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 735 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 74 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 33 | | mean | 22.27 | | std | 15.48 | | cv | 0.695 | | sampleLengths | | 0 | 70 | | 1 | 32 | | 2 | 10 | | 3 | 13 | | 4 | 30 | | 5 | 9 | | 6 | 18 | | 7 | 35 | | 8 | 25 | | 9 | 37 | | 10 | 9 | | 11 | 18 | | 12 | 4 | | 13 | 5 | | 14 | 43 | | 15 | 6 | | 16 | 14 | | 17 | 32 | | 18 | 7 | | 19 | 39 | | 20 | 41 | | 21 | 13 | | 22 | 8 | | 23 | 42 | | 24 | 12 | | 25 | 30 | | 26 | 7 | | 27 | 32 | | 28 | 2 | | 29 | 10 | | 30 | 41 | | 31 | 17 | | 32 | 24 |
| |
| 98.88% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 55 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 106 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 74 | | ratio | 0.122 | | matches | | 0 | "There he stood—Lucien Moreau, leaning against the doorframe as if he owned the place, one pale eyebrow arched in that infuriating way of his." | | 1 | "His charcoal suit was immaculate, the ivory handle of his cane gleaming under the dim hallway light, and his heterochromatic eyes—one amber, one black—locked onto hers with unsettling precision." | | 2 | "The scent of him—bergamot and something darker, something that always made her think of storm clouds—filled the cramped flat." | | 3 | "Lucien smirked, turning to take in the chaos of Eva’s flat—towers of books teetering on every available surface, scrolls unrolled across the coffee table, the faint scent of curry clinging to the air." | | 4 | "The Black Ledger was no joke—a tome rumored to hold the names of every supernatural being in London, mortal and otherwise." | | 5 | "She could still remember the last time he’d said something like that—*Stay." | | 6 | "Just for tonight.*—before vanishing at dawn without a word." | | 7 | "*Owe him?* After everything—after the way he’d left, after the way he’d made her feel like she was the only person in the world before deciding she wasn’t worth staying for—he had the audacity to say that?" | | 8 | "But as she stared at the closed door, her fingers traced the scar on her wrist, and she wondered if maybe—just maybe—she already had." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 627 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 22 | | adverbRatio | 0.03508771929824561 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.004784688995215311 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 74 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 74 | | mean | 9.93 | | std | 7.6 | | cv | 0.765 | | sampleLengths | | 0 | 17 | | 1 | 24 | | 2 | 29 | | 3 | 3 | | 4 | 7 | | 5 | 22 | | 6 | 10 | | 7 | 9 | | 8 | 4 | | 9 | 16 | | 10 | 7 | | 11 | 7 | | 12 | 9 | | 13 | 10 | | 14 | 3 | | 15 | 5 | | 16 | 9 | | 17 | 19 | | 18 | 7 | | 19 | 12 | | 20 | 13 | | 21 | 33 | | 22 | 4 | | 23 | 4 | | 24 | 5 | | 25 | 8 | | 26 | 5 | | 27 | 5 | | 28 | 4 | | 29 | 5 | | 30 | 2 | | 31 | 21 | | 32 | 7 | | 33 | 2 | | 34 | 11 | | 35 | 6 | | 36 | 10 | | 37 | 4 | | 38 | 8 | | 39 | 3 | | 40 | 12 | | 41 | 9 | | 42 | 5 | | 43 | 2 | | 44 | 23 | | 45 | 16 | | 46 | 2 | | 47 | 15 | | 48 | 13 | | 49 | 11 |
| |
| 72.97% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.44594594594594594 | | totalSentences | 74 | | uniqueOpeners | 33 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 52 | | matches | | 0 | "Just for tonight.*—before vanishing at" | | 1 | "Then, slowly, he reached out," | | 2 | "Then he nodded, stepping back." |
| | ratio | 0.058 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 15 | | totalSentences | 52 | | matches | | 0 | "His charcoal suit was immaculate," | | 1 | "She hadn’t seen him in" | | 2 | "he said, voice smooth as" | | 3 | "His gaze remained fixed on" | | 4 | "He pushed off the doorframe," | | 5 | "she said, shutting the door" | | 6 | "He sighed, tapping his cane" | | 7 | "He turned, his amber eye" | | 8 | "She could still remember the" | | 9 | "She forced herself to exhale." | | 10 | "she asked, voice steadier than" | | 11 | "His black eye gleamed." | | 12 | "She jerked back, heart hammering." | | 13 | "He smiled, but it didn’t" | | 14 | "She should have slammed the" |
| | ratio | 0.288 | |
| 46.54% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 43 | | totalSentences | 52 | | matches | | 0 | "The door swung open before" | | 1 | "There he stood—Lucien Moreau, leaning" | | 2 | "His charcoal suit was immaculate," | | 3 | "Rory’s breath hitched." | | 4 | "She hadn’t seen him in" | | 5 | "he said, voice smooth as" | | 6 | "Rory replied, gripping the edge" | | 7 | "Ptolemy, Eva’s tabby cat, chose" | | 8 | "Lucien didn’t so much as" | | 9 | "His gaze remained fixed on" | | 10 | "The words were light, but" | | 11 | "Rory’s fingers tightened." | | 12 | "He pushed off the doorframe," | | 13 | "The scent of him—bergamot and" | | 14 | "she said, shutting the door" | | 15 | "The three deadbolts clicked into" | | 16 | "Lucien smirked, turning to take" | | 17 | "Rory crossed her arms." | | 18 | "He sighed, tapping his cane" | | 19 | "The sound was sharp, deliberate." |
| | ratio | 0.827 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 52 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 22 | | technicalSentenceCount | 1 | | matches | | 0 | "There he stood—Lucien Moreau, leaning against the doorframe as if he owned the place, one pale eyebrow arched in that infuriating way of his." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 6 | | uselessAdditionCount | 3 | | matches | | 0 | "he said, voice smooth as aged whiskey" | | 1 | "He turned, his amber eye catching the light" | | 2 | "she asked, voice steadier than she felt" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 25 | | tagDensity | 0.2 | | leniency | 0.4 | | rawRatio | 0 | | effectiveRatio | 0 | |