| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 22 | | adverbTagCount | 2 | | adverbTags | | 0 | "he said quietly [quietly]" | | 1 | "heterochromatic gaze dropped meaningfully [meaningfully]" |
| | dialogueSentences | 37 | | tagDensity | 0.595 | | leniency | 1 | | rawRatio | 0.091 | | effectiveRatio | 0.091 | |
| 87.05% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1931 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "precisely" | | 1 | "suddenly" | | 2 | "really" | | 3 | "slowly" | | 4 | "perfectly" |
| |
| 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.39% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1931 | | totalAiIsms | 18 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | word | "down her spine" | | count | 1 |
| | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | |
| | highlights | | 0 | "pulse" | | 1 | "reminder" | | 2 | "velvet" | | 3 | "sanctuary" | | 4 | "flicked" | | 5 | "flickered" | | 6 | "down her spine" | | 7 | "charged" | | 8 | "eyebrow" | | 9 | "warmth" | | 10 | "traced" | | 11 | "vibrated" | | 12 | "blown wide" | | 13 | "racing" | | 14 | "unraveling" | | 15 | "silence" |
| |
| 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 | 119 | | matches | (empty) | |
| 94.84% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 3 | | narrationSentences | 119 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 134 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 51 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1917 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 20 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 40 | | wordCount | 1449 | | uniqueNames | 18 | | maxNameDensity | 0.69 | | worstName | "Lucien" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Lucien" | | discoveredNames | | Aurora | 5 | | Carter | 2 | | Moreau | 1 | | French | 1 | | Eva | 3 | | Lucien | 10 | | Oxfords | 1 | | Brick | 2 | | Lane | 2 | | October | 1 | | Deptford | 1 | | Ptolemy | 5 | | Silas | 1 | | Ice | 1 | | Evan | 1 | | Damn | 1 | | Demon | 1 | | London | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Carter" | | 2 | "Moreau" | | 3 | "Eva" | | 4 | "Lucien" | | 5 | "Ptolemy" | | 6 | "Silas" | | 7 | "Ice" | | 8 | "Evan" | | 9 | "Demon" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "Deptford" | | 3 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 63.79% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 87 | | glossingSentenceCount | 3 | | matches | | 0 | "as though memorizing her" | | 1 | "tasted like bergamot and smoke" | | 2 | "sound that seemed to undo him; his cane clattered forgotten to the floor as both arms came around her, lifting her onto the counter amid the scrolls and half-empty mugs" |
| |
| 95.67% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.043 | | wordCount | 1917 | | matches | | 0 | "Not touching, but near enough" | | 1 | "no longer a mark of old pain but" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 134 | | matches | | 0 | "remembered that night" | | 1 | "chose that moment" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 43 | | mean | 44.58 | | std | 30.01 | | cv | 0.673 | | sampleLengths | | 0 | 53 | | 1 | 66 | | 2 | 37 | | 3 | 21 | | 4 | 18 | | 5 | 49 | | 6 | 77 | | 7 | 15 | | 8 | 42 | | 9 | 43 | | 10 | 73 | | 11 | 20 | | 12 | 4 | | 13 | 21 | | 14 | 86 | | 15 | 56 | | 16 | 64 | | 17 | 10 | | 18 | 24 | | 19 | 73 | | 20 | 37 | | 21 | 18 | | 22 | 99 | | 23 | 107 | | 24 | 47 | | 25 | 101 | | 26 | 56 | | 27 | 95 | | 28 | 48 | | 29 | 35 | | 30 | 17 | | 31 | 12 | | 32 | 71 | | 33 | 14 | | 34 | 93 | | 35 | 29 | | 36 | 8 | | 37 | 34 | | 38 | 81 | | 39 | 39 | | 40 | 3 | | 41 | 20 | | 42 | 1 |
| |
| 96.42% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 119 | | matches | | 0 | "been painted" | | 1 | "was startled" | | 2 | "were blown" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 242 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 2 | | flaggedSentences | 13 | | totalSentences | 134 | | ratio | 0.097 | | matches | | 0 | "Lucien Moreau looked exactly as she remembered—impossibly composed, dangerously beautiful." | | 1 | "The ivory handle of his cane gleamed under the bare bulb, and those impossible eyes—one warm amber, one depthless black—fixed on her with the same unnerving focus that had once made her feel seen down to the marrow." | | 2 | "Every surface groaned under Eva’s research—scrolls unrolled like ancient carpets, books splayed open with passages underlined in three different inks, coffee mugs turned into paperweights for yellow legal pads." | | 3 | "The kettle still held water from an hour ago; she flicked it on anyway." | | 4 | "His reflection joined hers—taller, broader, close enough that she could smell the faint trace of vetiver and smoke that always clung to him." | | 5 | "She remembered that night too well—the flat above Silas’s bar that she officially called home but had barely slept in since meeting him." | | 6 | "The memory of his voice—low, reasonable, then suddenly not—still lived behind her ribs like a parasite." | | 7 | "“I told myself I would deliver the message and leave. But standing here, seeing you…” He gestured at the chaos surrounding them, at her—hair loose around her shoulders, flour from the restaurant still dusting her sleeves." | | 8 | "And Lucien waited—beautiful, patient, dangerous—as though the next words from her mouth could rewrite every contract he’d ever sealed in blood and shadow." | | 9 | "She made a small helpless sound that seemed to undo him; his cane clattered forgotten to the floor as both arms came around her, lifting her onto the counter amid the scrolls and half-empty mugs." | | 10 | "When they finally broke apart for air, his eyes were blown wide—amber ringed in black, but still unmistakably Lucien." | | 11 | "Outside, London moved on—taxis splashing through puddles on Brick Lane, late-night scholars arguing over tikka masala, the supernatural underworld spinning its endless webs." | | 12 | "They had hours before the real world intruded again—hours to talk, to touch, to begin unraveling six months of silence." |
| |
| 84.79% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1033 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 58 | | adverbRatio | 0.05614714424007745 | | lyAdverbCount | 22 | | lyAdverbRatio | 0.021297192642787996 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 134 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 134 | | mean | 14.31 | | std | 11.4 | | cv | 0.797 | | sampleLengths | | 0 | 22 | | 1 | 31 | | 2 | 10 | | 3 | 18 | | 4 | 38 | | 5 | 7 | | 6 | 21 | | 7 | 7 | | 8 | 2 | | 9 | 5 | | 10 | 16 | | 11 | 12 | | 12 | 6 | | 13 | 22 | | 14 | 6 | | 15 | 20 | | 16 | 1 | | 17 | 14 | | 18 | 8 | | 19 | 29 | | 20 | 26 | | 21 | 10 | | 22 | 5 | | 23 | 15 | | 24 | 14 | | 25 | 13 | | 26 | 13 | | 27 | 19 | | 28 | 5 | | 29 | 3 | | 30 | 3 | | 31 | 13 | | 32 | 23 | | 33 | 19 | | 34 | 7 | | 35 | 11 | | 36 | 11 | | 37 | 4 | | 38 | 5 | | 39 | 4 | | 40 | 16 | | 41 | 5 | | 42 | 10 | | 43 | 51 | | 44 | 8 | | 45 | 2 | | 46 | 15 | | 47 | 3 | | 48 | 15 | | 49 | 38 |
| |
| 59.20% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.39552238805970147 | | totalSentences | 134 | | uniqueOpeners | 53 | |
| 30.58% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 109 | | matches | | 0 | "Then she’d remembered what clean" |
| | ratio | 0.009 | |
| 58.53% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 44 | | totalSentences | 109 | | matches | | 0 | "Her pulse hammered against the" | | 1 | "he said at last" | | 2 | "She gripped the doorframe, knuckles" | | 3 | "He took one fluid step" | | 4 | "She moved to the tiny" | | 5 | "He set the cane against" | | 6 | "She kept her back to" | | 7 | "His reflection joined hers—taller, broader," | | 8 | "She had believed it for" | | 9 | "he said quietly" | | 10 | "He gave a soft, humorless" | | 11 | "She spun, bright blue eyes" | | 12 | "Her voice cracked on the" | | 13 | "She hadn’t meant to say" | | 14 | "She remembered that night too" | | 15 | "She turned it off but" | | 16 | "She hated how breathless she" | | 17 | "He stepped closer" | | 18 | "His heterochromatic gaze dropped meaningfully" | | 19 | "She hadn’t heard Evan’s name" |
| | ratio | 0.404 | |
| 56.33% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 88 | | totalSentences | 109 | | matches | | 0 | "The three deadbolts rasped open" | | 1 | "The smell of cardamom and" | | 2 | "Lucien Moreau looked exactly as" | | 3 | "Platinum hair swept back from" | | 4 | "The ivory handle of his" | | 5 | "Her pulse hammered against the" | | 6 | "he said at last" | | 7 | "The French curl of her" | | 8 | "The words came out thinner" | | 9 | "She gripped the doorframe, knuckles" | | 10 | "He took one fluid step" | | 11 | "The door clicked shut behind" | | 12 | "Ptolemy materialized from beneath a" | | 13 | "Aurora folded her arms, trying" | | 14 | "The flat felt smaller with" | | 15 | "Every surface groaned under Eva’s" | | 16 | "The single window overlooking Brick" | | 17 | "Lucien’s gaze traveled the chaos" | | 18 | "She moved to the tiny" | | 19 | "The kettle still held water" |
| | ratio | 0.807 | |
| 45.87% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 109 | | matches | | | ratio | 0.009 | |
| 46.70% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 52 | | technicalSentenceCount | 7 | | matches | | 0 | "The ivory handle of his cane gleamed under the bare bulb, and those impossible eyes—one warm amber, one depthless black—fixed on her with the same unnerving foc…" | | 1 | "Half-demon, half something that had once looked at her like she was the only clean thing in his world." | | 2 | "The way his mouth had moved over her pulse point, slow and reverent, as though memorizing her." | | 3 | "And Lucien waited—beautiful, patient, dangerous—as though the next words from her mouth could rewrite every contract he’d ever sealed in blood and shadow." | | 4 | "She made a small helpless sound that seemed to undo him; his cane clattered forgotten to the floor as both arms came around her, lifting her onto the counter am…" | | 5 | "The edge of the counter pressed into her, grounding her even as the kiss deepened and the world narrowed to the glide of tongues, the scrape of teeth, the low g…" | | 6 | "The scar on her wrist caught the lamplight as she threaded her fingers through his platinum hair, no longer a mark of old pain but simply part of the map that h…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 22 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 95.95% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 2 | | fancyTags | | 0 | "she admitted (admit)" | | 1 | "she whispered (whisper)" |
| | dialogueSentences | 37 | | tagDensity | 0.162 | | leniency | 0.324 | | rawRatio | 0.333 | | effectiveRatio | 0.108 | |