| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 5 | | adverbTags | | 0 | "he said carefully [carefully]" | | 1 | "he said quietly [quietly]" | | 2 | "She whirled around [around]" | | 3 | "he said finally [finally]" | | 4 | "Finally she looked [Finally]" |
| | dialogueSentences | 42 | | tagDensity | 0.476 | | leniency | 0.952 | | rawRatio | 0.25 | | effectiveRatio | 0.238 | |
| 86.36% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1100 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "carefully" | | 1 | "suddenly" | | 2 | "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) | |
| 81.82% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1100 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "jaw clenched" | | 1 | "electric" | | 2 | "familiar" | | 3 | "flickered" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "jaw/fists clenched" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 62 | | matches | | |
| 96.77% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 62 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 82 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 52 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1091 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 21 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 22 | | wordCount | 837 | | uniqueNames | 11 | | maxNameDensity | 0.72 | | worstName | "Aurora" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Aurora" | | discoveredNames | | Eva | 3 | | Aurora | 6 | | Mayfair | 1 | | Lucien | 3 | | Thursday | 1 | | London | 1 | | God | 1 | | Avaros | 1 | | Thai | 1 | | Ptolemy | 3 | | Finally | 1 |
| | persons | | 0 | "Eva" | | 1 | "Aurora" | | 2 | "Lucien" | | 3 | "God" | | 4 | "Ptolemy" |
| | places | | | globalScore | 1 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 50 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1091 | | matches | (empty) | |
| 44.72% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 3 | | totalSentences | 82 | | matches | | 0 | "chose that moment" | | 1 | "learned that lesson" | | 2 | "business, that the" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 36 | | mean | 30.31 | | std | 20.22 | | cv | 0.667 | | sampleLengths | | 0 | 46 | | 1 | 13 | | 2 | 98 | | 3 | 21 | | 4 | 38 | | 5 | 53 | | 6 | 31 | | 7 | 31 | | 8 | 44 | | 9 | 50 | | 10 | 12 | | 11 | 14 | | 12 | 44 | | 13 | 24 | | 14 | 42 | | 15 | 18 | | 16 | 1 | | 17 | 60 | | 18 | 8 | | 19 | 44 | | 20 | 28 | | 21 | 8 | | 22 | 23 | | 23 | 10 | | 24 | 41 | | 25 | 20 | | 26 | 12 | | 27 | 53 | | 28 | 33 | | 29 | 12 | | 30 | 63 | | 31 | 5 | | 32 | 22 | | 33 | 41 | | 34 | 15 | | 35 | 13 |
| |
| 99.60% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 62 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 148 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 82 | | ratio | 0.073 | | matches | | 0 | "She looked exactly the same—straight black hair falling to her shoulders, that small crescent scar visible on her left wrist as she shifted her grip on the helmet." | | 1 | "The simple motion sent that familiar ache through his chest—too many nights watching her perform that same gesture in his flat, too many mornings waking up to find the chair empty." | | 2 | "Not too close—he'd learned that lesson the hard way." | | 3 | "He could lie—God knew he'd built his reputation on beautiful, useful lies." | | 4 | "\"A misunderstanding?\" She whirled around, and there it was—the fire he'd fallen for in the first place." | | 5 | "He wanted to cross to her, to drop to his knees beside her chair and explain everything—the way she'd become essential as breathing, the terror that had gripped him every time she walked into danger for one of his jobs, the impossible calculation that keeping her ignorant might keep her safer." |
| |
| 89.79% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 848 | | adjectiveStacks | 1 | | stackExamples | | 0 | "same—straight black hair" |
| | adverbCount | 38 | | adverbRatio | 0.04481132075471698 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.015330188679245283 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 82 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 82 | | mean | 13.3 | | std | 8.8 | | cv | 0.661 | | sampleLengths | | 0 | 35 | | 1 | 11 | | 2 | 13 | | 3 | 19 | | 4 | 2 | | 5 | 28 | | 6 | 28 | | 7 | 7 | | 8 | 14 | | 9 | 16 | | 10 | 2 | | 11 | 3 | | 12 | 9 | | 13 | 17 | | 14 | 12 | | 15 | 24 | | 16 | 29 | | 17 | 11 | | 18 | 11 | | 19 | 9 | | 20 | 18 | | 21 | 6 | | 22 | 7 | | 23 | 17 | | 24 | 27 | | 25 | 19 | | 26 | 31 | | 27 | 12 | | 28 | 9 | | 29 | 5 | | 30 | 14 | | 31 | 9 | | 32 | 13 | | 33 | 8 | | 34 | 9 | | 35 | 15 | | 36 | 5 | | 37 | 29 | | 38 | 8 | | 39 | 12 | | 40 | 6 | | 41 | 1 | | 42 | 9 | | 43 | 12 | | 44 | 15 | | 45 | 24 | | 46 | 8 | | 47 | 9 | | 48 | 14 | | 49 | 21 |
| |
| 70.33% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.45121951219512196 | | totalSentences | 82 | | uniqueOpeners | 37 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 58 | | matches | | 0 | "Instead, he said," | | 1 | "Even the cat knew when" | | 2 | "Instead, he remained standing, cane" | | 3 | "Finally, she looked at him" |
| | ratio | 0.069 | |
| 54.48% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 24 | | totalSentences | 58 | | matches | | 0 | "Her bright blue eyes went" | | 1 | "He straightened in the armchair" | | 2 | "It had been six months" | | 3 | "She looked exactly the same—straight" | | 4 | "His fingers found the ivory" | | 5 | "She stepped fully into the" | | 6 | "She bent to scratch behind" | | 7 | "he said carefully, watching her" | | 8 | "He'd forgotten how she filled" | | 9 | "She spun to face him," | | 10 | "She was right, of course." | | 11 | "He'd known she'd taken to" | | 12 | "He could lie—God knew he'd" | | 13 | "She turned away, busying herself" | | 14 | "Her movements were precise, controlled," | | 15 | "She stopped, pressing her palms" | | 16 | "he said quietly" | | 17 | "She whirled around, and there" | | 18 | "She sank into the chair" | | 19 | "he continued, choosing each word" |
| | ratio | 0.414 | |
| 63.45% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 46 | | totalSentences | 58 | | matches | | 0 | "The three deadbolts clicked open" | | 1 | "Her bright blue eyes went" | | 2 | "The name fell from her" | | 3 | "He straightened in the armchair" | | 4 | "It had been six months" | | 5 | "She looked exactly the same—straight" | | 6 | "The defensive hunch was gone," | | 7 | "His fingers found the ivory" | | 8 | "The word came out sharp" | | 9 | "She stepped fully into the" | | 10 | "Ptolemy chose that moment to" | | 11 | "She bent to scratch behind" | | 12 | "he said carefully, watching her" | | 13 | "The slight tightening around her" | | 14 | "Aurora straightened, setting the takeout" | | 15 | "A tower of scrolls wobbled" | | 16 | "The flat felt smaller with" | | 17 | "He'd forgotten how she filled" | | 18 | "Aurora shrugged out of her" | | 19 | "The simple motion sent that" |
| | ratio | 0.793 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 58 | | matches | (empty) | | ratio | 0 | |
| 40.82% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 28 | | technicalSentenceCount | 4 | | matches | | 0 | "He'd known she'd taken to bringing Eva dinner on Thursday evenings, knew it with the same certainty he knew the tides of information that flowed through London'…" | | 1 | "Could pretend the past six months hadn't been a special kind of hell, all charcoal suits and empty conversations with clients who weren't her." | | 2 | "Vulnerable in a way that made his demon blood sing with the need to protect her from everything, including himself." | | 3 | "He wanted to cross to her, to drop to his knees beside her chair and explain everything—the way she'd become essential as breathing, the terror that had gripped…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 1 | | matches | | 0 | "The admission cost, but her shoulders relaxed a fraction" |
| |
| 78.57% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 3 | | fancyTags | | 0 | "Aurora's laugh (aurora laugh)" | | 1 | "he continued (continue)" | | 2 | "She laughed (laugh)" |
| | dialogueSentences | 42 | | tagDensity | 0.19 | | leniency | 0.381 | | rawRatio | 0.375 | | effectiveRatio | 0.143 | |