| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 26 | | adverbTagCount | 3 | | adverbTags | | 0 | "he said quietly [quietly]" | | 1 | "The words tasted like [like]" | | 2 | "Lucien said softly [softly]" |
| | dialogueSentences | 60 | | tagDensity | 0.433 | | leniency | 0.867 | | rawRatio | 0.115 | | effectiveRatio | 0.1 | |
| 91.77% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1822 | | totalAiIsmAdverbs | 3 | | found | | 0 | | | 1 | | | 2 | | adverb | "deliberately" | | count | 1 |
|
| | highlights | | 0 | "softly" | | 1 | "slowly" | | 2 | "deliberately" |
| |
| 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) | |
| 61.58% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1822 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "reminder" | | 1 | "sentinel" | | 2 | "tension" | | 3 | "silence" | | 4 | "shattered" | | 5 | "pulse" | | 6 | "resonance" | | 7 | "fluttered" | | 8 | "stomach" | | 9 | "lurched" | | 10 | "implication" | | 11 | "trembled" |
| |
| 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 | 133 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 133 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 166 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 48 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 6 | | markdownWords | 11 | | totalWords | 1807 | | ratio | 0.006 | | matches | | 0 | "Demon." | | 1 | "Your" | | 2 | "You belong to me." | | 3 | "him" | | 4 | "You idiot." | | 5 | "as him" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 28 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 33 | | wordCount | 1090 | | uniqueNames | 6 | | maxNameDensity | 1.56 | | worstName | "Lucien" | | maxWindowNameDensity | 3 | | worstWindowName | "Lucien" | | discoveredNames | | Lucien | 17 | | Eva | 6 | | Ptolemy | 3 | | Lane | 1 | | Evan | 4 | | London | 2 |
| | persons | | 0 | "Lucien" | | 1 | "Eva" | | 2 | "Ptolemy" | | 3 | "Evan" |
| | places | | | globalScore | 0.72 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 69 | | glossingSentenceCount | 1 | | matches | | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.553 | | wordCount | 1807 | | matches | | 0 | "not from fire, but from the inside out" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 166 | | matches | | 0 | "hated that he" | | 1 | "tunnelled, that bastard’s" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 83 | | mean | 21.77 | | std | 16.98 | | cv | 0.78 | | sampleLengths | | 0 | 7 | | 1 | 50 | | 2 | 4 | | 3 | 47 | | 4 | 53 | | 5 | 27 | | 6 | 51 | | 7 | 50 | | 8 | 6 | | 9 | 29 | | 10 | 16 | | 11 | 28 | | 12 | 20 | | 13 | 41 | | 14 | 36 | | 15 | 7 | | 16 | 21 | | 17 | 29 | | 18 | 52 | | 19 | 31 | | 20 | 19 | | 21 | 37 | | 22 | 39 | | 23 | 7 | | 24 | 41 | | 25 | 12 | | 26 | 32 | | 27 | 29 | | 28 | 31 | | 29 | 16 | | 30 | 6 | | 31 | 50 | | 32 | 44 | | 33 | 21 | | 34 | 45 | | 35 | 3 | | 36 | 3 | | 37 | 4 | | 38 | 72 | | 39 | 12 | | 40 | 21 | | 41 | 29 | | 42 | 24 | | 43 | 5 | | 44 | 3 | | 45 | 41 | | 46 | 8 | | 47 | 55 | | 48 | 25 | | 49 | 38 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 133 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 207 | | matches | | 0 | "was handling" | | 1 | "was shaking" | | 2 | "was standing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 166 | | ratio | 0.06 | | matches | | 0 | "His heterochromatic eyes locked onto mine—one amber, one black—uncannily still." | | 1 | "Instead, I shoved past him, the scent of him wrapping around me—bergamot and smoke, expensive cologne riding the edge of something older, something sulphurous." | | 2 | "His gaze dropped to my left wrist—my scar, the little crescent moon from when I was nine and Evan thought it would be a good idea to shove me into a glass cabinet." | | 3 | "“Of course he did. Probably got himself into some supernatural debt he couldn’t pay. Sounds exactly like his style.” My vision tunnelled, that bastard’s face flashing behind my eyes—blond, smug, his hands too large, his voice too smooth." | | 4 | "No one knew that except Eva—and now him." | | 5 | "Vampiric speed, a flick of a blade to the throat—just a demonstration." | | 6 | "*You belong to me.* I’d waited until he was asleep, then I’d carved a sigil into his bedroom floor in salt and rust, whispered the words I’d learned from one of Eva’s research scrolls, and watched as the flat burned—not from fire, but from the inside out." | | 7 | "It fluttered open—Eva’s handwriting, dense and frantic." | | 8 | "I reached for it—my hand was shaking—but Lucien’s fingers closed around my wrist before I could touch it." | | 9 | "Lucien followed, his cane making no sound as he crossed the floor—unnaturally light for something so weighted with implication." |
| |
| 97.75% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1104 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 47 | | adverbRatio | 0.042572463768115944 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.010869565217391304 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 166 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 166 | | mean | 10.89 | | std | 9.34 | | cv | 0.858 | | sampleLengths | | 0 | 7 | | 1 | 12 | | 2 | 28 | | 3 | 10 | | 4 | 4 | | 5 | 3 | | 6 | 1 | | 7 | 9 | | 8 | 24 | | 9 | 10 | | 10 | 7 | | 11 | 19 | | 12 | 9 | | 13 | 18 | | 14 | 14 | | 15 | 13 | | 16 | 15 | | 17 | 28 | | 18 | 8 | | 19 | 26 | | 20 | 7 | | 21 | 17 | | 22 | 6 | | 23 | 13 | | 24 | 16 | | 25 | 15 | | 26 | 1 | | 27 | 13 | | 28 | 7 | | 29 | 7 | | 30 | 1 | | 31 | 10 | | 32 | 10 | | 33 | 4 | | 34 | 37 | | 35 | 33 | | 36 | 3 | | 37 | 7 | | 38 | 9 | | 39 | 9 | | 40 | 3 | | 41 | 9 | | 42 | 20 | | 43 | 5 | | 44 | 38 | | 45 | 9 | | 46 | 11 | | 47 | 20 | | 48 | 3 | | 49 | 3 |
| |
| 55.22% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.3674698795180723 | | totalSentences | 166 | | uniqueOpeners | 61 | |
| 95.24% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 105 | | matches | | 0 | "Instead, I shoved past him," | | 1 | "Probably laughed about it at" | | 2 | "Then I reached out and" |
| | ratio | 0.029 | |
| 44.76% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 46 | | totalSentences | 105 | | matches | | 0 | "He stood in the doorway" | | 1 | "His heterochromatic eyes locked onto" | | 2 | "I didn’t answer." | | 3 | "I spun to face him," | | 4 | "he cut in, leaning the" | | 5 | "His tailored charcoal suit looked" | | 6 | "I turned away, pacing toward" | | 7 | "he said quietly" | | 8 | "I shot back" | | 9 | "He exhaled through his nose," | | 10 | "I hated that he still" | | 11 | "He stepped forward, the floorboards" | | 12 | "I whirled back around." | | 13 | "My voice cracked on the" | | 14 | "His gaze dropped to my" | | 15 | "I staggered back, my hip" | | 16 | "I laughed, sharp and humourless." | | 17 | "My vision tunnelled, that bastard’s" | | 18 | "My breath stopped." | | 19 | "He stepped closer, close enough" |
| | ratio | 0.438 | |
| 55.24% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 85 | | totalSentences | 105 | | matches | | 0 | "The door opened before I" | | 1 | "The hallway light sliced across" | | 2 | "He stood in the doorway" | | 3 | "His heterochromatic eyes locked onto" | | 4 | "I didn’t answer." | | 5 | "The words tangled in my" | | 6 | "*Demon.* The reminder settled in" | | 7 | "Eva’s flat was a storm" | | 8 | "Scrolls spilled from tables, a" | | 9 | "The air smelled of burnt" | | 10 | "Lucien stepped inside and shut" | | 11 | "I spun to face him," | | 12 | "he cut in, leaning the" | | 13 | "His tailored charcoal suit looked" | | 14 | "The memory flared in my" | | 15 | "I turned away, pacing toward" | | 16 | "Brick Lane’s neon glow bled" | | 17 | "he said quietly" | | 18 | "I shot back" | | 19 | "He exhaled through his nose," |
| | ratio | 0.81 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 105 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 32 | | technicalSentenceCount | 1 | | matches | | 0 | "Ptolemy startled awake, his tail puffing, before leaping down and slinking off toward the kitchen." |
| |
| 48.08% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 26 | | uselessAdditionCount | 4 | | matches | | 0 | "Lucien said, voice low" | | 1 | "I finished, my voice hollow" | | 2 | "I said, my voice low and steady now" | | 3 | "Lucien stepped, his cane tapping once against the floor," |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 15 | | fancyCount | 2 | | fancyTags | | 0 | "I whispered (whisper)" | | 1 | "I whispered (whisper)" |
| | dialogueSentences | 60 | | tagDensity | 0.25 | | leniency | 0.5 | | rawRatio | 0.133 | | effectiveRatio | 0.067 | |