Run: 2026-03-18-01KM08RP2G7XXCYJWEC5X0Y354

Run Details

Duration:
19.3s
Cost:
$0.018182
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 first thing Rory saw was the cane. Not the man holding it, though he filled the doorway so neatly it was hard to miss him. Not the rain clinging to the shoulders of his charcoal coat, darkening the cloth into a richer black. The cane caught her eye first: ivory handle, polished to a soft pale gleam, the kind of object that looked decorative until you knew better. Then she looked at Lucien’s face and forgot how to breathe for one stupid, furious second. He stood just outside Eva’s flat with the kind of composed stillness that made the cramped landing feel even smaller. Slicked-back platinum hair, no sign of it out of place despite the weather. One eye amber, the other black, both fixed on her with a focus so direct it was almost rude. Rory’s hand tightened around the edge of the door. Behind her, three deadbolts sat undone on the frame, the last one still stubborn under her thumb. She became aware, all at once, of how flimsy a barrier a door was when a man like Lucien Moreau decided he wanted in. “Did you get lost?” she asked. His mouth tipped, not quite a smile. “Hello to you as well, Rory.” She hated that he said her name like he had a right to it. She hated more that hearing it from his mouth made something deep in her chest give a hard, disloyal tug. “I didn’t invite you.” “No.” His gaze flicked to the gap behind her, to the books stacked on the side table, the curls of paper spilling from a chair, the scribbled notes taped to the wall. “That much is clear.” Rory should have shut the door in his face. It would have been satisfying. It would have been sensible. It would have spared her from whatever this was. Instead she opened it another inch and glared at him. “How did you even find me here?” “You would be surprised how many people know where Eva keeps her excess paper and her poor decisions.” A laugh almost escaped her. It irritated her that he still knew how to do that—slip one sharp line under her guard and make her want to answer instead of throw him back into the rain. Ptolemy chose that moment to appear, winding himself around Rory’s ankles with the offended dignity of a creature who owned the flat and tolerated its occupants. The tabby stared at Lucien through the doorway, tail high, ears angled forward. Not welcoming. Not exactly hostile, either. Merely skeptical. Lucien glanced down at the cat. “At least someone in this house has standards.” “Ptolemy has better manners than you.” The cat made a soft, contemptuous sound, as if agreeing. Rory should have laughed. Instead she felt the old, prickly hurt of recognition. Lucien looked exactly as he had the last time she’d seen him in any situation that mattered—expensively dressed, too calm, too beautiful in a way that felt engineered to annoy her. His suit fit his shoulders like the tailor had been briefed on every weakness in the world and chosen to ignore them. His face was as unreadable as a locked drawer. The only giveaway was the rain. Water darkened the lapels of his coat, beaded at the edge of his hairline, traced the strong line of his throat. He had come here in the weather without an umbrella. Lucien Moreau, who probably had an umbrella that cost more than Rory’s monthly food budget, stood on Eva’s landing in the rain like a man who had forgotten how to care about appearances. Which was, she suspected with a jolt, more alarming than if he had arrived perfect. “What do you want?” she asked. His black eye held steady on hers. “To speak with you.” “That sounds ominous.” “It is meant to be.” There it was. The infuriating calm. The smooth control. The sense that he had already decided the shape of this conversation and was waiting for her to walk into it. Rory leaned one shoulder against the doorframe, careful to keep the chain of the deadbolt between them. “I’m busy.” He looked past her again, as if inventorying the flat from the doorway. The narrow hall. The leaning towers of books. The scrolls on the table. A chipped mug beside a stack of notes. Her coat hung on the back of a chair, damp from the weather. Everything about Eva’s place looked temporary and overfull, like someone had tried to fit three lives into one room and given up halfway through. Lucien’s gaze returned to her face. “You have time enough to answer a door.” Rory narrowed her eyes. “And you have time enough to come all the way here without telling me. So clearly we’re both making excellent choices tonight.” A muscle in his jaw shifted. Small. Easy to miss. But Rory saw it. Good, she thought. Bleed a little. He drew a slow breath, and for the first time she noticed how carefully he was holding himself. Not stiffly. Lucien never looked stiff; he looked deliberate, as if even his stillness had been practiced. But there was a tension under the polish now, something pressed down and contained. “May I come in?” he asked. The question hit her harder than it should have. Not because he’d asked politely. Lucien could be polite when he wanted to be. No, it was the shape of it. The restraint. The tiny concession. He had crossed whatever line pride normally drew for him and chosen to ask rather than assume. It made her suspicious. It made her chest ache. Rory’s fingers tightened on the door. “No.” His expression didn’t change, but the amber eye sharpened. “You always were merciless.” “And you always were infuriating.” “Yes.” The agreement disarmed her for half a second. She had expected him to argue, to charm, to press until she gave in or slammed the door. Instead he stood there in the rain, looking at her with a patience so odd it made the hair rise along her arms. She hated that she still remembered the exact shade of his hands when they had been wrapped around her waist. Hated that the sight of him brought back the smell of smoke and expensive cologne and the low, dangerous sound of his voice in her ear. Hated that the anger in her had never fully extinguished the other thing, the thing that had no business surviving after the way they’d parted. “What happened?” she asked before she could stop herself. Lucien’s gaze held hers, and for a moment she thought he might lie. He was good at lies. He could wrap them in manners and language and make them look like truths polished smooth. Instead he said, “That depends on your definition of the word.” Rory let out a breath through her nose. “I’m serious.” “So am I.” That was the problem, wasn’t it? Lucien never did anything lightly. If he had come here, if he had crossed London in the rain and climbed these stairs and stood at Eva’s door like a man asking for entry into a country that had once rejected him, then there was a reason. A real one. And Rory, against all reason, wanted to know it. She stared at him for another heartbeat, then swore softly and unhooked the chain. “If you’re here to waste my time, I’ll throw you back into the stairwell.” His gaze tracked the movement of her hand. “Duly noted.” The deadbolt gave with a metallic snap. Then the next. Then the last, slow and reluctant. Rory opened the door wide enough for him to step inside. He did. The flat was suddenly too small for both of them. Lucien brought the rain in with him, the cold damp smell of it, and the room seemed to notice. Ptolemy, offended by the intrusion, brushed past Rory’s ankle and stalked deeper into the flat with his tail straight in the air. The cat stopped beside Lucien’s polished shoe, looked up at him, and then deliberately turned away as if he had found a less interesting threat in the corner. “Charming welcome,” Lucien murmured. “He’s judging you.” “I am aware.” Rory shut the door, locked the deadbolts again with more force than necessary, and turned. Lucien had not moved farther in. He stood just inside the cramped hallway, one hand resting lightly on the cane, the other at his side. The overhead light caught the pale edge of his hair and the angular planes of his face. In another room, in another life, he would have looked like he belonged in an opera house or a private club with too much velvet and too little shame. Here, with books spilling off every surface and a cat glaring from the floorboards, he looked almost human. Almost. Rory crossed her arms. “You can say whatever this is and then leave.” “Such hospitality,” he said. “Lucien.” Something in her tone must have reached him. He tilted his head by the smallest degree, all mockery gone from his face. “I came,” he said, “because I needed to see you.” The words landed between them and sat there, dangerous and warm. Rory’s mouth went dry. She hated that he could still do that, too—say something simple and make it feel like a trap. “You could have texted.” “I did.” She frowned. “I didn’t get anything.” His mouth flattened. “Then you have a different sort of problem.” Rory almost reached for her phone out of habit, then remembered she’d left it in her coat pocket by the radiator charging cable she’d been meaning to replace for a week. That was embarrassing enough. What was worse was the tiny flare of hope that he might have contacted her and she simply hadn’t seen it. As if that would have changed the fact that he was here now, in the flesh, impossibly alive and close enough to touch. “Why?” she asked. Lucien’s gaze dipped, just once, to her mouth. So quick she almost missed it. But she didn’t. Her pulse kicked hard enough to be rude. Then he looked back up, expression unreadable again. “You know why.” Rory laughed once, short and without humor. “No, I really don’t.” He studied her for a moment. The silence stretched. She could hear the faint hum of the fridge, the distant clatter of plates from the curry house below, Ptolemy’s soft paws moving across the floorboards. At last Lucien said, “I had an opportunity to tell you something before. I chose not to.” Her stomach tightened. There it was. The edge of it. The thing sitting under every sentence like a knife under velvet. “And now?” she asked. “Now I am less inclined toward foolishness.” Rory’s throat worked. “That supposed to mean something to me?” “Yes.” He said it so plainly she almost took a step back. It had not been a confession, not exactly. Not an apology, either. But it was close enough to make her wary, and vulnerable, and angry with herself for reacting at all. Lucien did not come to people unless he had already turned the situation in his head a dozen times. He did not stand in doorways in the rain and ask to be let in because of nostalgia. He was here because something had shifted. Because he wanted something. Because he had finally decided not to keep her at arm’s length, or because he needed her enough to break his own rules. Rory didn’t know which possibility was worse. She noticed then that his right hand, the one resting against the cane, was tight enough at the knuckles to blanch. The only crack in the lacquered surface. “You’re not fine,” she said. He looked faintly amused. “How astute.” “Don’t do that.” “Do what?” “Turn everything into a game because you can’t say it straight.” His eyes flashed. Amber and black, bright and bottomless. “And you,” he said, voice quieter now, “turn everything into a fight because it is safer than admitting you care.” The words hit with ugly precision. Rory went still. Heat rose in her face, not from embarrassment alone. From anger. From the shock of being seen. From the old, familiar fury of being understood by someone who had no right to understand her this well. “That is not fair.” “No,” Lucien said. “It isn’t.” The answer robbed her of the argument. For one suspended moment, neither of them moved. Lucien stood just inside the threshold like he might still be weighing the cost of retreat. Rory stood in the narrow hall, heart banging against her ribs, unable to tell whether she wanted to strike him or grab the lapels of his coat and drag him closer. The flat seemed to hold its breath with them. Then Lucien shifted. It was only a fraction, but Rory noticed. His shoulders loosened by a degree. His voice, when he spoke again, was lower. “I should not have come without warning.” “No,” she said automatically. “You shouldn’t have.” “And yet.” “And yet,” she repeated, because she had no better answer. Ptolemy leapt onto the arm of the sofa and began washing one paw with militant indifference. Rory wondered, wildly, if the cat knew something she didn’t. If every creature in this flat had been waiting for Lucien to show up like a storm that had been building all week. She looked at him. Really looked. The fatigue hidden under the elegance. The tension in his jaw. The faint shadow under one eye that makeup or glamour or whatever he used to smooth away his more inhuman edges had not quite erased. He was not here for pleasure. Not entirely. But there was something else too, something that made her pulse trip each time he looked at her like that, with a restraint that was almost more intimate than touch. “Whatever it is,” Rory said carefully, “you can say it.” Lucien held her gaze for one beat longer, then another. The air between them thickened, charged with all the words they had not spoken the last time, and the time before, and every time one of them had chosen the safer exit. At last he said, “I’ve missed you.” It was not the confession she expected. It was worse. Because there was no way to mock it. No way to turn it into a tactical maneuver. No way to pretend it meant nothing, not when he was standing there with rain on his coat and regret in his eyes and that careful, dangerous stillness cracking just enough for her to see the shape of what he was trying not to say. Rory’s breath caught. Her mouth opened, then closed again. Lucien watched her with a patience that felt almost painful. The truth was, she had missed him too. Missed him in stupid, inconvenient flashes: the smooth cadence of his voice, the way he looked at her as if he expected brilliance and was rarely disappointed, the impossible comfort of being in the same room with someone who never seemed surprised by what she was. She had missed the infuriating elegance of his lies, the way he never raised his voice because he never needed to. She had missed his hands. God, she had missed his hands. That did not erase the hurt. It did not make him safe. It did not change the fact that some part of her still braced for the moment he would reveal the angle, the bargain, the cost. But standing there, in the cluttered warmth of Eva’s flat with the smell of rain in the air and a cat glaring from the sofa, Rory realized that he had come anyway. Whatever he had lost or risked to be here, he had chosen this. That counted for something. She swallowed. “Lucien,” she said, and his name sounded different now, softer around the edges. Less like a warning. His gaze dropped to her mouth again, and this time he didn’t bother hiding it. Rory felt the movement of it like a touch. Outside, the rain kept falling against the window. Inside, the silence stretched thin and bright between them, full of every unsaid thing they had carried too long. Then Lucien took one step closer, slow enough for her to stop him if she wanted. She didn’t.
created_at"2026-03-18T10:44:50.908Z" 3/18/2026, 10:44:50 AM
model"openai/gpt-5.4-mini-20260317"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency2917
moderation_latency(null)
generation_time19094
tokens_prompt808
tokens_completion4132
native_tokens_prompt753
native_tokens_completion3915
native_tokens_completion_images0
native_tokens_reasoning516
native_tokens_cached0
num_media_prompt(null)
num_input_audio_prompt(null)
num_media_completion0
num_search_results(null)
origin"https://ncbench.com/"
is_byokfalse
finish_reason"stop"
native_finish_reason"completed"
usage0.01818225
router(null)
provider_responses
0
endpoint_id"9ee065b2-3d1c-43bc-bdd7-28af3b148282"
id"resp_03505935407037b70169ba8222f83481968bfa6433be37c6c8"
is_byokfalse
latency179
model_permaslug"openai/gpt-5.4-mini-20260317"
provider_name"OpenAI"
status200
user_agent"langchainjs-openai/1.0.0 ((node/v24.14.0; linux; x64))"
http_referer(null)
api_type"completions"
id"gen-1773830690-B7qV3M51TKukZFu1Wc7h"
upstream_id"resp_03505935407037b70169ba8222f83481968bfa6433be37c6c8"
total_cost0.01818225
cache_discount(null)
upstream_inference_cost0
provider_name"OpenAI"

Evaluation details

Result Evaluator Details Meta Data
100.00% Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags20
adverbTagCount2
adverbTags
0"she said automatically [automatically]"
1"Rory said carefully [carefully]"
dialogueSentences63
tagDensity0.317
leniency0.635
rawRatio0.1
effectiveRatio0.063
83.50% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2727
totalAiIsmAdverbs9
found
0
adverb"carefully"
count2
1
adverb"lightly"
count2
2
adverb"softly"
count1
3
adverb"suddenly"
count1
4
adverb"deliberately"
count1
5
adverb"really"
count2
highlights
0"carefully"
1"lightly"
2"softly"
3"suddenly"
4"deliberately"
5"really"
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)
67.00% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2727
totalAiIsms18
found
0
word"flicked"
count1
1
word"unreadable"
count2
2
word"traced"
count1
3
word"perfect"
count1
4
word"tension"
count2
5
word"charm"
count1
6
word"velvet"
count2
7
word"pulse"
count2
8
word"silence"
count2
9
word"stomach"
count1
10
word"familiar"
count1
11
word"charged"
count1
12
word"warmth"
count1
highlights
0"flicked"
1"unreadable"
2"traced"
3"perfect"
4"tension"
5"charm"
6"velvet"
7"pulse"
8"silence"
9"stomach"
10"familiar"
11"charged"
12"warmth"
100.00% Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches1
maxInWindow1
found
0
label"let out a breath"
count1
highlights
0"let out a breath"
100.00% Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells1
narrationSentences223
matches
0"seemed surprised"
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount3
hedgeCount3
narrationSentences223
filterMatches
0"feel"
1"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)
analyzedSentences266
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
maxSentenceWordsSeen46
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2724
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions31
unquotedAttributions0
matches(empty)
90.06% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions67
wordCount2419
uniqueNames7
maxNameDensity1.2
worstName"Rory"
maxWindowNameDensity2
worstWindowName"Rory"
discoveredNames
Rory29
Lucien25
Eva5
Moreau2
London1
Ptolemy4
Less1
persons
0"Rory"
1"Lucien"
2"Eva"
3"Moreau"
4"Ptolemy"
5"Less"
places
0"London"
globalScore0.901
windowScore1
47.96% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences147
glossingSentenceCount6
matches
0"not quite a smile"
1"as if agreeing"
2"as if inventorying the flat from the doorway"
3"looked like he belonged in an opera house"
4"not quite erased"
5"seemed surprised by what she was"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches0
per1kWords0
wordCount2724
matches(empty)
66.42% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount8
totalSentences266
matches
0"hated that he"
1"do that—slip"
2"chose that moment"
3"hated that she"
4"Hated that the"
5"Hated that the"
6"hated that he"
7"realized that he"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs132
mean20.64
std21.47
cv1.04
sampleLengths
08
161
216
352
49
541
66
713
814
920
104
1136
1228
1317
1418
1536
1647
1714
186
1910
2075
2170
2215
236
2411
253
265
2730
2819
2971
3014
3126
3214
336
3449
356
369
3743
384
395
407
4113
425
431
4449
4571
469
4734
4811
4910
97.40% Passive voice overuse
Target: ≤2% passive sentences
passiveCount5
totalSentences223
matches
0"been briefed"
1"been practiced"
2"been wrapped"
3"being seen"
4"being understood"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount4
totalVerbs426
matches
0"was waiting"
1"was holding"
2"was standing"
3"was trying"
99.89% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount3
semicolonCount1
flaggedSentences4
totalSentences266
ratio0.015
matches
0"It irritated her that he still knew how to do that—slip one sharp line under her guard and make her want to answer instead of throw him back into the rain."
1"Lucien looked exactly as he had the last time she’d seen him in any situation that mattered—expensively dressed, too calm, too beautiful in a way that felt engineered to annoy her."
2"Lucien never looked stiff; he looked deliberate, as if even his stillness had been practiced."
3"She hated that he could still do that, too—say something simple and make it feel like a trap."
89.86% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount2423
adjectiveStacks0
stackExamples(empty)
adverbCount125
adverbRatio0.051588939331407346
lyAdverbCount34
lyAdverbRatio0.014032191498142799
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences266
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences266
mean10.24
std8.53
cv0.833
sampleLengths
08
118
218
325
416
520
613
719
89
917
1024
116
127
136
1414
1520
164
1732
184
199
205
215
229
2310
247
2518
265
2731
2826
2913
302
314
322
336
348
356
3610
374
389
3931
4022
419
426
4321
4410
4533
4615
476
487
494
39.47% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats28
diversityRatio0.2518796992481203
totalSentences266
uniqueOpeners67
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount11
totalSentences200
matches
0"Then she looked at Lucien’s"
1"Instead she opened it another"
2"Instead she felt the old,"
3"Instead he stood there in"
4"Instead he said,"
5"Then the next."
6"Then the last, slow and"
7"So quick she almost missed"
8"Then he looked back up,"
9"Then Lucien shifted."
10"Then Lucien took one step"
ratio0.055
100.00% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount60
totalSentences200
matches
0"He stood just outside Eva’s"
1"She became aware, all at"
2"His mouth tipped, not quite"
3"She hated that he said"
4"She hated more that hearing"
5"His gaze flicked to the"
6"It would have been satisfying."
7"It would have been sensible."
8"It would have spared her"
9"It irritated her that he"
10"His suit fit his shoulders"
11"His face was as unreadable"
12"He had come here in"
13"His black eye held steady"
14"He looked past her again,"
15"Her coat hung on the"
16"He drew a slow breath,"
17"He had crossed whatever line"
18"It made her suspicious."
19"It made her chest ache."
ratio0.3
92.50% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount147
totalSentences200
matches
0"The first thing Rory saw"
1"The cane caught her eye"
2"He stood just outside Eva’s"
3"Rory’s hand tightened around the"
4"She became aware, all at"
5"His mouth tipped, not quite"
6"She hated that he said"
7"She hated more that hearing"
8"His gaze flicked to the"
9"Rory should have shut the"
10"It would have been satisfying."
11"It would have been sensible."
12"It would have spared her"
13"A laugh almost escaped her."
14"It irritated her that he"
15"Ptolemy chose that moment to"
16"The tabby stared at Lucien"
17"Lucien glanced down at the"
18"The cat made a soft,"
19"Rory should have laughed."
ratio0.735
100.00% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount6
totalSentences200
matches
0"If he had come here,"
1"As if that would have"
2"Because he wanted something."
3"Because he had finally decided"
4"If every creature in this"
5"Because there was no way"
ratio0.03
40.82% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences84
technicalSentenceCount12
matches
0"The cane caught her eye first: ivory handle, polished to a soft pale gleam, the kind of object that looked decorative until you knew better."
1"He stood just outside Eva’s flat with the kind of composed stillness that made the cramped landing feel even smaller."
2"Ptolemy chose that moment to appear, winding himself around Rory’s ankles with the offended dignity of a creature who owned the flat and tolerated its occupants…"
3"Lucien looked exactly as he had the last time she’d seen him in any situation that mattered—expensively dressed, too calm, too beautiful in a way that felt engi…"
4"Lucien Moreau, who probably had an umbrella that cost more than Rory’s monthly food budget, stood on Eva’s landing in the rain like a man who had forgotten how …"
5"He looked past her again, as if inventorying the flat from the doorway."
6"Lucien never looked stiff; he looked deliberate, as if even his stillness had been practiced."
7"The cat stopped beside Lucien’s polished shoe, looked up at him, and then deliberately turned away as if he had found a less interesting threat in the corner."
8"From the old, familiar fury of being understood by someone who had no right to understand her this well."
9"If every creature in this flat had been waiting for Lucien to show up like a storm that had been building all week."
10"But there was something else too, something that made her pulse trip each time he looked at her like that, with a restraint that was almost more intimate than t…"
11"Missed him in stupid, inconvenient flashes: the smooth cadence of his voice, the way he looked at her as if he expected brilliance and was rarely disappointed, …"
75.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags20
uselessAdditionCount2
matches
0"His gaze flicked, to the books stacked on the side table, the curls of paper spilling from a chair, the scribbled notes taped to the wall"
1"he said, voice quieter now,"
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags19
fancyCount2
fancyTags
0"Lucien murmured (murmur)"
1"she repeated (repeat)"
dialogueSentences63
tagDensity0.302
leniency0.603
rawRatio0.105
effectiveRatio0.063
89.6622%