| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 10 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 25 | | tagDensity | 0.4 | | leniency | 0.8 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 94.46% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1805 | | 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) | |
| 55.68% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1805 | | totalAiIsms | 16 | | found | | | highlights | | 0 | "reverberated" | | 1 | "traced" | | 2 | "silence" | | 3 | "unreadable" | | 4 | "weight" | | 5 | "warmth" | | 6 | "silk" | | 7 | "tracing" | | 8 | "pulse" | | 9 | "familiar" | | 10 | "whisper" | | 11 | "aligned" |
| |
| 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 | 73 | | matches | (empty) | |
| 64.58% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 2 | | narrationSentences | 73 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 89 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 60 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1796 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 32 | | wordCount | 1272 | | uniqueNames | 14 | | maxNameDensity | 0.63 | | worstName | "Lucien" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Lucien" | | discoveredNames | | Eva | 3 | | Moreau | 1 | | French | 1 | | Avaros | 2 | | London | 2 | | Yu-Fei | 1 | | Pre-Law | 1 | | Evan | 1 | | Ptolemy | 3 | | East | 1 | | Lucien | 8 | | Brick | 1 | | Lane | 1 | | Aurora | 6 |
| | persons | | 0 | "Eva" | | 1 | "Moreau" | | 2 | "Yu-Fei" | | 3 | "Evan" | | 4 | "Ptolemy" | | 5 | "Lucien" | | 6 | "Aurora" |
| | places | | 0 | "Avaros" | | 1 | "London" | | 2 | "East" | | 3 | "Brick" | | 4 | "Lane" |
| | globalScore | 1 | | windowScore | 1 | |
| 38.06% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 67 | | glossingSentenceCount | 3 | | matches | | 0 | "smelled like wet wool and something sharpe" | | 1 | "something like regret" | | 2 | "as if relearning and apologizing in the same motion" |
| |
| 88.64% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.114 | | wordCount | 1796 | | matches | | 0 | "not a demand but an offering" | | 1 | "not as apology but as fact" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 89 | | matches | (empty) | |
| 82.51% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 29 | | mean | 61.93 | | std | 27.17 | | cv | 0.439 | | sampleLengths | | 0 | 90 | | 1 | 72 | | 2 | 24 | | 3 | 39 | | 4 | 14 | | 5 | 70 | | 6 | 39 | | 7 | 90 | | 8 | 55 | | 9 | 53 | | 10 | 105 | | 11 | 53 | | 12 | 79 | | 13 | 72 | | 14 | 12 | | 15 | 63 | | 16 | 70 | | 17 | 78 | | 18 | 26 | | 19 | 73 | | 20 | 54 | | 21 | 124 | | 22 | 83 | | 23 | 87 | | 24 | 83 | | 25 | 50 | | 26 | 32 | | 27 | 25 | | 28 | 81 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 73 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 198 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 5 | | totalSentences | 89 | | ratio | 0.056 | | matches | | 0 | "His platinum hair stayed perfectly slicked back despite the weather, and his mismatched eyes met hers without hesitation—the amber one catching the weak light like a struck match, the black one swallowing it whole." | | 1 | "She had trusted him with the worst details of her old life—the barrister father who still thought she was finishing Pre-Law, the mother who sent worried letters to the wrong address, the nights she had spent planning escapes from Evan that never came fast enough." | | 2 | "In return he offered fragments of his own months away—meetings in languages she didn’t speak, the growing certainty that the half of him from Avaros was not the threat he had feared, only the loneliness that came with hiding it." | | 3 | "His skin beneath the shirt was warm, marked by faint silver lines she had once traced under moonlight—remnants of early encounters with creatures from his father’s world." | | 4 | "Between kisses he whispered the words again—love, not as apology but as fact—and she answered by whispering back the things she had saved for the quiet after he left: how she had kept the scarf he now referenced, how she had practiced saying his name without the ache attached." |
| |
| 99.06% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 852 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 35 | | adverbRatio | 0.04107981220657277 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.005868544600938967 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 89 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 89 | | mean | 20.18 | | std | 12.34 | | cv | 0.611 | | sampleLengths | | 0 | 22 | | 1 | 29 | | 2 | 21 | | 3 | 18 | | 4 | 16 | | 5 | 34 | | 6 | 22 | | 7 | 19 | | 8 | 5 | | 9 | 20 | | 10 | 19 | | 11 | 4 | | 12 | 10 | | 13 | 21 | | 14 | 22 | | 15 | 27 | | 16 | 39 | | 17 | 23 | | 18 | 15 | | 19 | 52 | | 20 | 9 | | 21 | 46 | | 22 | 16 | | 23 | 37 | | 24 | 9 | | 25 | 28 | | 26 | 45 | | 27 | 23 | | 28 | 14 | | 29 | 39 | | 30 | 8 | | 31 | 11 | | 32 | 60 | | 33 | 7 | | 34 | 13 | | 35 | 17 | | 36 | 12 | | 37 | 23 | | 38 | 12 | | 39 | 14 | | 40 | 9 | | 41 | 40 | | 42 | 18 | | 43 | 16 | | 44 | 15 | | 45 | 21 | | 46 | 4 | | 47 | 19 | | 48 | 27 | | 49 | 15 |
| |
| 53.18% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.3258426966292135 | | totalSentences | 89 | | uniqueOpeners | 29 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 71 | | matches | (empty) | | ratio | 0 | |
| 28.45% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 34 | | totalSentences | 71 | | matches | | 0 | "She pulled the door open," | | 1 | "His platinum hair stayed perfectly" | | 2 | "His voice carried the French" | | 3 | "She gripped the doorframe harder" | | 4 | "She hesitated only a second" | | 5 | "She pushed a lock of" | | 6 | "He leaned the cane against" | | 7 | "She had trusted him with" | | 8 | "She turned away, boots scuffing" | | 9 | "His hand brushed her elbow," | | 10 | "She faced him again, close" | | 11 | "Her hand rose without permission," | | 12 | "she asked, voice low" | | 13 | "He caught her hand, turned" | | 14 | "His thumb traced the raised" | | 15 | "She searched his face, the" | | 16 | "Her free hand lifted to" | | 17 | "His voice roughened" | | 18 | "He bent, and their mouths" | | 19 | "She tasted rain and the" |
| | ratio | 0.479 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 66 | | totalSentences | 71 | | matches | | 0 | "Aurora slid the final deadbolt" | | 1 | "The scents of cumin and" | | 2 | "Ptolemy lifted his striped head" | | 3 | "She pulled the door open," | | 4 | "Lucien Moreau stood in the" | | 5 | "His platinum hair stayed perfectly" | | 6 | "The ivory handle of his" | | 7 | "His voice carried the French" | | 8 | "She gripped the doorframe harder" | | 9 | "She hesitated only a second" | | 10 | "The flat shrank around them" | | 11 | "She pushed a lock of" | | 12 | "He leaned the cane against" | | 13 | "The rain on his jacket" | | 14 | "Aurora laughed once, short and" | | 15 | "Lucien’s jaw tightened, the black" | | 16 | "The words landed heavily between" | | 17 | "Aurora swallowed, the space behind" | | 18 | "She had trusted him with" | | 19 | "Lucien had listened without flinching," |
| | ratio | 0.93 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 71 | | matches | (empty) | | ratio | 0 | |
| 23.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 54 | | technicalSentenceCount | 9 | | matches | | 0 | "Aurora slid the final deadbolt free with a dull click that reverberated through the cramped flat, the metal cold against her fingertips." | | 1 | "She hesitated only a second before stepping back, the door closing behind him with a soft thud that felt too final." | | 2 | "She had trusted him with the worst details of her old life—the barrister father who still thought she was finishing Pre-Law, the mother who sent worried letters…" | | 3 | "The fabric was damp and cool, but beneath it he radiated warmth that had nothing to do with the curry heat from downstairs." | | 4 | "The attraction that had never faded flared hotter, threading through the anger and leaving it thinner." | | 5 | "She spoke of mornings with Eva arguing over the fine print in old demon contracts and afternoons where she kept her head down so no one would ask why her delive…" | | 6 | "In return he offered fragments of his own months away—meetings in languages she didn’t speak, the growing certainty that the half of him from Avaros was not the…" | | 7 | "He answered with hands that knew her shape, mapping familiar territory with fresh care, as if relearning and apologizing in the same motion." | | 8 | "Outside, Brick Lane continued its late-night rhythm, but inside the cluttered flat above the curry house, two people who had parted on complicated terms began t…" |
| |
| 25.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 10 | | uselessAdditionCount | 2 | | matches | | 0 | "she asked, voice low" | | 1 | "he said, a smile curving his voice" |
| |
| 70.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 2 | | fancyTags | | 0 | "he murmured (murmur)" | | 1 | "They spoke (speak)" |
| | dialogueSentences | 25 | | tagDensity | 0.2 | | leniency | 0.4 | | rawRatio | 0.4 | | effectiveRatio | 0.16 | |