Run: 2026-07-09-01KX40V2FZ95YGA7Y3K80Y0MM8

Run Details

Duration:
1m 20s
Cost:
$0.124965
Provider:
OpenAI

Model input

System
You are an expert novelist with a gift for vivid, immersive prose. You write in tight third-person limited point of view with a strong narrative voice. Your prose is clean, precise, and engaging — you favor strong verbs, concrete details, and natural-sounding dialogue. You will be given a story bible (codex) containing canonical details about characters, locations, items, and lore. Use these details to ground your writing in the established world. Stay consistent with the codex. Write only the prose of the scene. Do not include titles, chapter headings, markdown formatting, or any commentary before or after the scene.
User/Human
<codex> <character id="4412" name="Aurora Carter" aliases="Rory, Laila, Aurora, Carter, Malphora" pronouns="she/her" species="Human" storyRole="Protagonist"> <eyeColor>bright blue</eyeColor> <hair>straight shoulder-length black</hair> <height>5'6"</height> <age>25</age> <scar>small crescent-shaped scar on her left wrist from a childhood accident</scar> <description>Aurora, referred to by her friends as Rory, is cool-headed, intelligent, and known for quick out-of-the-box thinking.</description> <backstory>Born in Cardiff to an Irish barrister father (Brendan Carter) and Welsh teacher mother (Jennifer Carter née Ellis), Rory reluctantly pursued Pre-Law at Cardiff University. She fled to London at the behest of her childhood friend Eva after leaving an abusive ex named Evan. By day, Rory works part-time as a delivery person for Yu-Fei Cheung's Golden Empress restaurant. She lives in a flat above Silas' bar.</backstory> </character> <character id="4415" name="Lucien Moreau" aliases="Lucien, Luc, the Frenchman" pronouns="he/him" species="Half-Demon" storyRole="Ally"> <eyeColor>heterochromatic — one amber, one black</eyeColor> <hair>slicked-back platinum blond</hair> <height>5'11"</height> <age>32</age> <cane>ivory-handled cane that conceals a thin blade</cane> <dress>tailored charcoal suits</dress> <description>An impeccably dressed fixer and information broker in London's supernatural underworld. He speaks four languages fluently.</description> <backstory>Born in Marseille to a human mother and a demon father from the realm of Avaros.</backstory> </character> <location id="858" name="Eva's Flat" aliases="Eva's place, the flat on Brick Lane" realm="Earth"> <cat>tabby cat named Ptolemy</cat> <security>three deadbolts on the front door</security> <description>A cramped one-bedroom flat above a curry house on Brick Lane, East London. Every surface is covered with books, scrolls, and research notes.</description> </location> </codex> Write a fully fleshed out scene of at least 1000 words in the romance genre. Two people who parted on complicated terms are forced together again when one shows up unannounced at the other's flat. There's history between them — attraction, hurt, and things left unsaid. Write the scene from the moment the door opens. Use the codex entries above as your world reference for characters and setting. Only include the prose of the scene without any markdown or commentary.

Model response

AI
The door opened on Lucien Moreau. For one stupid second, Rory forgot she had been holding her breath. He stood beneath the flickering landing light as if he’d arranged the faulty bulb for dramatic effect. Platinum hair slicked back. Charcoal suit immaculate despite the rain darkening the shoulders. One hand rested on the ivory handle of his cane; the other hung at his side, gloved in black leather. His face hadn’t changed in the eleven weeks since she’d last seen it. It was still sharp enough to cut paper, still composed with that faintly bored elegance he wore like another tailored layer. His amber eye caught the light. The black one swallowed it. There was blood on his collar. Rory slammed the door. Or tried to. The toe of his polished shoe struck the threshold, and the door rebounded hard enough to rattle all three deadbolts. “Charming,” he said. “Move your foot.” “I would rather not.” “I wasn’t asking what you’d rather.” “No. You rarely do.” The words slipped neatly between her ribs. Lucien watched her absorb them, his expression giving nothing away, and the old anger came awake inside her—hot, immediate, embarrassingly tangled with relief. She shoved harder. He didn’t move. From somewhere behind her, Ptolemy gave an outraged yowl. The tabby had been sleeping on a precarious tower of annotated grimoires and apparently considered the disturbance a personal attack. “Go away, Lucien.” “I need to speak to Eva.” “She’s not here.” “So I gathered.” “Then this has been productive.” Rory leaned her shoulder into the door. “Good night.” His jaw tightened. It was a tiny movement, but she knew his face too well. Knew the shifts beneath that polished calm, the warnings other people missed. Once, she’d thought being able to read him meant he trusted her. Once, she’d been an idiot. “Rory,” he said quietly, “let me in.” The use of her nickname was worse than the accusation had been. In his voice, softened by Marseille and too many other places, it sounded intimate. Stolen. “You lost the right to call me that.” A shadow moved on the wall behind him. Lucien’s head snapped around. He moved before Rory understood what she’d seen. His shoulder hit the door, forcing her back, and he came through the gap in a blur of charcoal and rain. The cane flashed up. Steel whispered free of ivory. Something struck the outside of the door with a wet, heavy thud. Lucien kicked it shut. “Locks.” Rory stared at him. “Now, Aurora.” That name did it. She shot the first deadbolt, then the second and third. The old wood shivered under another impact. Dust trickled from the frame. Ptolemy streaked past with his tail inflated to twice its proper size and vanished into the bedroom. “What the hell is that?” Lucien angled his blade toward the door. It was thin as a knitting needle and much longer than the cane should have allowed. Black fluid smoked along its edge. “A disagreement.” “A disagreement followed you up three flights of stairs?” “It is tenacious.” The door buckled inward. One hinge groaned. Rory seized the nearest object with any weight: a brass candlestick half buried beneath photocopied pages on Mesopotamian burial rites. Lucien glanced at it. “Excellent. We shall dazzle it with ecclesiastical décor.” “You brought it here.” “Yes.” “To Eva’s flat.” “Yes.” “While she’s in Prague.” His attention flicked toward her. “You told me she wasn’t here.” “I lied.” “Badly.” The thing struck the door again. A dark shape pressed through the narrow gap at the bottom—not smoke, exactly, though it moved like smoke. It spread over the worn carpet in branching black veins. Lucien reversed the blade and drew its point across his bare wrist between glove and cuff. Blood welled, startlingly red. He let three drops fall across the threshold. The shadow recoiled with a shriek that Rory felt in her molars. Every lamp in the flat went out. In the darkness, Lucien caught her around the waist. Her back hit his chest. The blade crossed in front of her, a bright line as pale blue fire raced from hilt to tip. His arm was hard against her stomach, his breath warm at her temple. Rain, expensive soap, and the metallic tang of blood crowded her senses. For eleven weeks she had trained herself not to remember this: the exact shape of him close to her. The maddening certainty of his hands. “Don’t,” she said. “I am preventing your disembowelment.” “Do it from farther away.” “An appealing tactical innovation.” The shadow tested the threshold again. Blue flame leapt from Lucien’s blade and snapped across it. Something screamed on the other side of the door, then fled down the landing with a sound like claws skittering over plaster. Silence dropped into the flat. Lucien did not release her. Neither did Rory step away. Her pulse pounded against the pressure of his forearm. She was suddenly aware of every point of contact: his fingers spread over her waist, the front of his body braced along her back, the controlled rise and fall of his chest. Memory uncoiled with vicious precision. His mouth at the corner of hers in an alley behind Silas’ bar. His thumb tracing the crescent scar on her left wrist. The way he had looked at her afterward, as if astonishment were a luxury he could permit himself only in the dark. Then another memory cut through it. An empty room. A cooling cup of coffee. A note in his precise hand: Do not look for me. Rory drove her elbow backward. Lucien grunted and let go. The lights stuttered on. She turned to find him bent slightly at the waist, one hand pressed to his side. For the first time, the blood at his collar looked less like someone else’s. “You’re hurt.” “Your concern overwhelms me.” “That wasn’t concern. It was an observation.” “Of course.” He slid the blade back into the cane. The movement was smooth until the last inch, when his hand trembled. Rory noticed. He noticed her noticing. “Sit down,” she said. “I am fine.” “You’re bleeding on Eva’s occult taxonomy.” He looked at the page beneath him. A dark drop had landed directly on a diagram labelled Variations in Infernal Dentition. “I’m sure she has another copy.” “Sit.” Lucien’s mouth curved, but there was no humour in it. “You always were at your most commanding in borrowed flats.” “You always were at your most irritating while haemorrhaging.” He made it two steps toward the sofa before his knee folded. Rory caught him under the arm. The candlestick clattered from her hand, hit a stack of books, and sent six months of Eva’s research sliding across the floor. Lucien’s weight dragged at her shoulders. For a lean man, he was inconveniently solid. “Fine?” she hissed. “A relative term.” “You’re unbelievable.” “Yet here I am.” Together they staggered to the sofa. Rory swept scrolls and a chipped teacup onto the floor with her forearm and lowered him onto the cushions. He leaned back, eyes briefly closed. Without his composure trained directly on her, he looked exhausted. There were bruised hollows beneath his eyes. Rain had loosened one pale strand of hair over his forehead. The sight of it made something treacherous tighten in her chest. She went to Eva’s kitchen alcove and found the first-aid box behind three jars of turmeric and a bottle labelled HOLY WATER—NOT FOR TEA, RORY. The smell from the curry house below rose through the floorboards, cumin and hot oil, absurdly ordinary against the smoking black residue at the threshold. When she returned, Lucien had removed his jacket. His waistcoat was soaked dark at the ribs. “How bad?” “Not fatal.” “That wasn’t the question.” “It is the answer that matters.” “To you, perhaps.” Rory knelt beside the sofa and opened the box. Her hands stayed steady. They usually did when there was a practical problem in front of her. Practical problems had edges. They could be assessed, cleaned, stitched. Lucien was not a practical problem. He was a catastrophe in a good suit. “Shirt,” she said. His amber eye opened. “Buy me dinner first.” She glared. A trace of the old Lucien surfaced then, the one who had once leaned against the Golden Empress delivery scooter and argued that stealing Rory’s spring roll had been an act of quality control. His mouth softened at one corner. It vanished before she could decide whether she’d imagined it. He unbuttoned his waistcoat and shirt. Rory concentrated fiercely on the wound. Concentrating did not stop her noticing the pale planes of his chest or the dark line of hair disappearing beneath his waistband. It did not stop her remembering how warm his skin felt beneath her palms. She had kissed the scar near his sternum once and made him tell her where it came from. He’d lied. She’d known he was lying. She’d kissed it again anyway. The new wound ran along his lower ribs, four parallel gashes with blackened edges. “What did this?” “A varcolac.” “That means nothing to me.” “It should mean run faster.” She poured antiseptic onto gauze. Lucien caught her wrist before she touched him. His fingers closed just below the crescent scar. Both of them went still. His gaze dropped to the old white mark. His thumb shifted once, barely grazing it. Rory’s throat tightened. “Let go.” He did at once. That hurt more than it should have. She cleaned the wound. Lucien’s abdomen went rigid, but he made no sound. Outside, rain tapped the windows. Somewhere below, a delivery driver shouted over the growl of a moped. London continued with its night, careless of monsters and half-demons and women foolish enough to let either through the door. “What did it want?” Rory asked. “The same thing everyone wants.” “Your sparkling company?” “Information.” “About?” He watched her work. “You.” The gauze stopped in her hand. Rory looked up. “No.” “Yes.” “What information?” “Where you live. Where you work. Whether you still take the alley behind Fournier Street when you finish late at the restaurant.” Cold slid over her skin. She thought of the Golden Empress’s warm kitchen, Yu-Fei shouting orders over the hiss of woks. Her scooter chained behind the bins. The alley gleaming after rain. “How would it know to ask you?” “It didn’t ask.” The black residue on his wound seemed to move. Rory blinked, and it was only blood again. “You’ve been following me.” “Watching.” “That is not better.” “I know.” “Since when?” Lucien glanced toward the window. “Since I left.” The anger she’d kept sharpened for eleven weeks faltered. “You told me not to look for you.” “Yes.” “You disappeared.” “Yes.” “You didn’t answer a single message.” “No.” “And all that time, you were watching me?” “When possible.” The hurt came back harder, stripped of its protective rage. Rory stood too quickly and nearly kicked over the first-aid box. “You don’t get to do that.” “I am aware.” “No, you’re not. You don’t get to decide I’m safer without you, vanish before I wake up, and then lurk on rooftops or whatever melodramatic nonsense you’ve been doing.” “Mostly parked cars.” “Not the point.” “No.” “Stop agreeing with me.” A muscle jumped in his jaw. “Would you prefer I lie?” “I’d prefer you explain.” Lucien looked down at his open shirt. Blood had seeped through the fresh gauze in thin red freckles. “When you were seen with me,” he said, “people began to ask who you were. At first, it was curiosity. Then a man in Whitechapel offered money for your surname.” “My surname isn’t difficult to find.” “He offered more for your mother’s.” Rory’s breath snagged. Jennifer Carter, née Ellis. Her mother’s name, hidden nowhere, protected by nothing more substantial than ordinary life. “I discouraged him,” Lucien continued. His voice had gone flat in the way it did when the truth beneath the words was ugly. “Others took his place. Leaving you was intended to make you uninteresting.” “You could have told me.” “And you would have agreed?” “No.” “Precisely.” She stared at him. “So you thought hurting me was acceptable because you’d already decided you were right.” His black eye gave away nothing. The amber one did. It lowered. “Yes.” The bluntness struck harder than an excuse. Rory folded her arms, gripping her elbows. “I waited in your flat for six hours.” “I know.” “You know?” “I returned after you left.” She pictured him standing in that immaculate room, seeing the two cups, the blanket she’d dragged from his bed, the note crushed on the floor. She wanted to throw something at him. Eva’s flat offered plenty of options. “Did you read my messages?” “All of them.” “The one where I called you a coward?” “Several were variations on that theme.” “I meant them.” “I know.” “The one where I said I hated you?” His gaze found hers. The room seemed to contract around them, crowded shelves and hanging herbs and rain-streaked glass pushing closer. “No,” he said. “You did not.” The quiet certainty in his voice sent heat up Rory’s throat. “Arrogant bastard.” “Frequently.” “I could hate you.” “I have hoped you would.” That silenced her. Lucien leaned forward, elbows on his knees. Without his jacket and cane, without the perfect vertical line of him, he looked less like the Frenchman whispered about in back rooms and more like a wounded man who hadn’t slept in days. “It would be easier,” he said. “For you.” “You don’t know what’s easy for me.” “No.” His gaze dropped to his bloodied hands. “I know only that I made the attempt, and it failed rather comprehensively.” The anger inside her shifted again, refusing to remain simple. “Why come here tonight?” “The varcolac found me near your street. Once it had my scent, I could not risk leading it to your flat.” “So you led it to Eva’s?” “Her wards are better.” Rory glanced at the scorched threshold. “Debatable.” “They held.” “Barely.” “Still counts.” Despite herself, a breath of laughter escaped her. It was small and bitter and real. Lucien looked up as if the sound had touched him. That look was a mistake. Rory crossed the narrow space before she could reason herself out of it. She caught his face between her hands and kissed him. For one suspended heartbeat, he did nothing. Then Lucien made a rough sound deep in his throat and pulled her between his knees. One hand pressed to the small of her back; the other slid into her hair. His mouth opened beneath hers, warm and hungry and devastatingly familiar. Eleven weeks of anger burned through the kiss. Rory tasted rain and blood where his lip had split. She gripped his shoulders, careful of the wound for perhaps half a second before he drew her closer and caution went to hell. He kissed her like a man who had rehearsed restraint until it poisoned him. She felt every unsent message in it. Every morning she’d woken reaching across an empty bed. Every glimpse she’d imagined of platinum hair in a crowd. Hurt did not vanish beneath desire; it sharpened it, gave teeth to the wanting. When his fingers brushed the scar on her wrist again, tenderness broke through the heat. Rory pulled back. Lucien followed an inch before stopping himself. His breathing was ragged. His usually immaculate hair had come loose beneath her hands, pale strands falling over his brow. She had never seen him look less controlled. It suited him. “This does not mean I forgive you,” she said. “I would be disappointed if it did.” “I’m still furious.” “You are magnificent when furious.” “Don’t.” “Very well.” “And you’re not leaving tonight.” Something guarded moved across his face. “Aurora—” “The creature is outside, you’re leaking infernal blood onto Eva’s sofa, and if you disappear again, I will find you. I don’t care which realm you run to.” “Avaros is unpleasant this time of year.” “I’m serious.” “So am I.” She narrowed her eyes. Lucien’s hand remained at her waist, not holding her now, merely resting there as though he couldn’t quite convince himself to surrender the contact. “I will stay,” he said. “Until morning?” His expression stilled. There it was: the edge of the real question. Morning had been where they failed before. Darkness had always made honesty easier. In the dark, he could touch her scar and tell her half a secret. In the dark, she could pretend his caution wasn’t fear. Rory held his mismatched gaze and refused to rescue him. “Until you ask me to leave,” he said at last. The answer settled somewhere deep. Ptolemy emerged from the bedroom, surveyed the wreckage, and approached with the grave disapproval of a landlord inspecting criminal tenants. He sniffed Lucien’s discarded jacket, sneezed, then leapt onto the sofa and planted himself directly between them. Lucien looked down at the tabby. Ptolemy stared back. “I see my rival remains,” Lucien said. “He lives here.” “A significant advantage.” Rory reached for fresh gauze. “Take the win. He usually bites.” As if prompted, Ptolemy sank his teeth into Lucien’s sleeve. Lucien sighed. “Your allies are merciless.” “You’re one to talk.” She knelt again and pressed clean gauze to his ribs. This time, when he caught her wrist, there was no urgency in it. His fingers were warm. His thumb rested beside the crescent scar. Outside the three locked deadbolts, something scraped once along the landing and went quiet. Rory looked toward the door. Lucien tightened his hold. “I won’t let it touch you,” he said. She turned back to him. “That isn’t a promise you get to make alone.” For a moment, his face held the old instinct to argue, to shield, to decide. Then he inclined his head. “Together, then.” “Together.” The word frightened her more than the thing beyond the door. She said it anyway.
created_at"2026-07-09T18:04:34.695Z" 7/9/2026, 6:04:34 PM
model"openai/gpt-5.6-sol-20260709"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency2593
moderation_latency(null)
generation_time80303
tokens_prompt808
tokens_completion5118
native_tokens_prompt753
native_tokens_completion4040
native_tokens_completion_images0
native_tokens_reasoning110
native_tokens_cached0
num_media_prompt(null)
num_input_audio_prompt(null)
num_media_completion0
num_search_results(null)
num_fetches(null)
web_search_engine(null)
origin"https://ncbench.com/"
is_byokfalse
finish_reason"stop"
native_finish_reason"completed"
service_tier"default"
usage0.124965
router(null)
provider_responses
0
endpoint_id"a54c5de0-89bf-4ad7-a212-cf977eed918a"
id"resp_0a79dc37a65a9c36016a4fe2b2c6388197b7571a87b4ef4975"
is_byokfalse
latency420
model_permaslug"openai/gpt-5.6-sol-20260709"
provider_name"OpenAI"
status200
user_agent"langchainjs-openai/1.0.0 ((node/v24.18.0; linux; x64))"
http_referer(null)
request_id"req-1783620274-xRtUPIqGvFHFczpBS6xl"
session_id(null)
preset_id(null)
api_type"completions"
id"gen-1783620274-TZOIWJ2iP1cX78Mw7y1X"
upstream_id"resp_0a79dc37a65a9c36016a4fe2b2c6388197b7571a87b4ef4975"
total_cost0.124965
cache_discount(null)
upstream_inference_cost0
provider_name"OpenAI"
response_cache_source_id(null)
data_region"global"

Evaluation details

Result Evaluator Details Meta Data
100.00% Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags18
adverbTagCount1
adverbTags
0"he said quietly [quietly]"
dialogueSentences160
tagDensity0.113
leniency0.225
rawRatio0.056
effectiveRatio0.012
91.63% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2986
totalAiIsmAdverbs5
found
0
adverb"suddenly"
count1
1
adverb"slightly"
count1
2
adverb"quickly"
count1
3
adverb"precisely"
count1
4
adverb"very"
count1
highlights
0"suddenly"
1"slightly"
2"quickly"
3"precisely"
4"very"
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)
73.21% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2986
totalAiIsms16
found
0
word"weight"
count2
1
word"flicked"
count1
2
word"raced"
count1
3
word"stomach"
count1
4
word"silence"
count1
5
word"pulse"
count1
6
word"tracing"
count1
7
word"trembled"
count1
8
word"treacherous"
count1
9
word"gleaming"
count1
10
word"perfect"
count1
11
word"familiar"
count1
12
word"desire"
count1
13
word"tenderness"
count1
14
word"grave"
count1
highlights
0"weight"
1"flicked"
2"raced"
3"stomach"
4"silence"
5"pulse"
6"tracing"
7"trembled"
8"treacherous"
9"gleaming"
10"perfect"
11"familiar"
12"desire"
13"tenderness"
14"grave"
100.00% Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches0
maxInWindow0
found(empty)
highlights(empty)
100.00% Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells1
narrationSentences254
matches
0"d with relief"
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount1
hedgeCount3
narrationSentences254
filterMatches
0"look"
hedgeMatches
0"tried to"
1"seemed to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences396
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
repeatedSegmentCount0
maxSentenceWordsSeen34
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2983
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions39
unquotedAttributions0
matches(empty)
66.67% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions89
wordCount2264
uniqueNames19
maxNameDensity1.41
worstName"Lucien"
maxWindowNameDensity3
worstWindowName"Lucien"
discoveredNames
Lucien32
Moreau1
Rory30
Ptolemy5
Marseille1
Mesopotamian1
Do1
Variations1
Infernal1
Dentition1
Eva3
Together1
Golden2
Empress2
Yu-Fei1
Carter1
Ellis1
Frenchman1
One3
persons
0"Lucien"
1"Moreau"
2"Rory"
3"Ptolemy"
4"Eva"
5"Empress"
6"Carter"
7"Ellis"
8"Frenchman"
9"One"
places
0"Marseille"
1"Infernal"
globalScore0.793
windowScore0.667
100.00% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences164
glossingSentenceCount2
matches
0"grimoires and apparently considered the dist"
1"quite convince himself to surrender the contact"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches0
per1kWords0
wordCount2983
matches(empty)
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount0
totalSentences396
matches(empty)
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs268
mean11.13
std12.94
cv1.163
sampleLengths
06
112
250
345
46
54
63
720
83
93
104
116
124
1330
146
1529
163
176
183
193
2014
2139
225
237
2427
258
268
274
2838
2912
305
314
322
3326
3417
355
3629
372
389
393
407
4120
4212
434
441
453
461
474
4811
492
100.00% Passive voice overuse
Target: ≤2% passive sentences
passiveCount0
totalSentences254
matches(empty)
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount1
totalVerbs414
matches
0"was lying"
99.57% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount3
semicolonCount3
flaggedSentences6
totalSentences396
ratio0.015
matches
0"One hand rested on the ivory handle of his cane; the other hung at his side, gloved in black leather."
1"Lucien watched her absorb them, his expression giving nothing away, and the old anger came awake inside her—hot, immediate, embarrassingly tangled with relief."
2"A dark shape pressed through the narrow gap at the bottom—not smoke, exactly, though it moved like smoke."
3"She went to Eva’s kitchen alcove and found the first-aid box behind three jars of turmeric and a bottle labelled HOLY WATER—NOT FOR TEA, RORY."
4"One hand pressed to the small of her back; the other slid into her hair."
5"Hurt did not vanish beneath desire; it sharpened it, gave teeth to the wanting."
98.08% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount1114
adjectiveStacks0
stackExamples(empty)
adverbCount47
adverbRatio0.0421903052064632
lyAdverbCount10
lyAdverbRatio0.008976660682226212
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences396
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences396
mean7.53
std6
cv0.797
sampleLengths
06
112
217
34
49
520
613
721
86
95
106
114
123
1320
143
153
164
176
184
197
2023
213
223
239
2420
253
266
273
283
2912
302
313
3212
3312
3412
355
367
3712
3814
391
408
418
424
438
4421
454
465
4712
484
491
45.45% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats18
diversityRatio0.27525252525252525
totalSentences396
uniqueOpeners109
85.47% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount6
totalSentences234
matches
0"Once, she’d thought being able"
1"Once, she’d been an idiot."
2"Then another memory cut through"
3"Somewhere below, a delivery driver"
4"Then Lucien made a rough"
5"Then he inclined his head."
ratio0.026
86.67% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount78
totalSentences234
matches
0"He stood beneath the flickering"
1"His face hadn’t changed in"
2"It was still sharp enough"
3"His amber eye caught the"
4"She shoved harder."
5"He didn’t move."
6"His jaw tightened."
7"It was a tiny movement,"
8"he said quietly"
9"He moved before Rory understood"
10"His shoulder hit the door,"
11"She shot the first deadbolt,"
12"It was thin as a"
13"His attention flicked toward her."
14"It spread over the worn"
15"He let three drops fall"
16"Her back hit his chest."
17"His arm was hard against"
18"Her pulse pounded against the"
19"She was suddenly aware of"
ratio0.333
49.74% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount192
totalSentences234
matches
0"The door opened on Lucien"
1"He stood beneath the flickering"
2"Platinum hair slicked back."
3"Charcoal suit immaculate despite the"
4"His face hadn’t changed in"
5"It was still sharp enough"
6"His amber eye caught the"
7"The black one swallowed it."
8"Rory slammed the door."
9"The toe of his polished"
10"The words slipped neatly between"
11"Lucien watched her absorb them,"
12"She shoved harder."
13"He didn’t move."
14"The tabby had been sleeping"
15"Rory leaned her shoulder into"
16"His jaw tightened."
17"It was a tiny movement,"
18"he said quietly"
19"The use of her nickname"
ratio0.821
21.37% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount1
totalSentences234
matches
0"As if prompted, Ptolemy sank"
ratio0.004
100.00% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences91
technicalSentenceCount4
matches
0"He stood beneath the flickering landing light as if he’d arranged the faulty bulb for dramatic effect."
1"Without his jacket and cane, without the perfect vertical line of him, he looked less like the Frenchman whispered about in back rooms and more like a wounded m…"
2"He kissed her like a man who had rehearsed restraint until it poisoned him."
3"As if prompted, Ptolemy sank his teeth into Lucien’s sleeve."
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags18
uselessAdditionCount0
matches(empty)
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags16
fancyCount2
fancyTags
0"she hissed (hiss)"
1"Lucien continued (continue)"
dialogueSentences160
tagDensity0.1
leniency0.2
rawRatio0.125
effectiveRatio0.025
90.5952%