Run: 2026-03-18-01KM08XD42GX9W4FGAC5BX618N

Run Details

Duration:
18.8s
Cost:
$0.015239
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 when she cracked the second deadbolt was Lucien Moreau’s hand resting on the edge of the doorframe, elegant fingers half-curled as if he had been about to knock a second time and thought better of it. The second thing was his face. He looked exactly as she remembered and just a shade worse for it: charcoal suit immaculate despite the rain, platinum hair slicked back from a sharp brow, one amber eye and one black eye fixed on her with that maddening steadiness that made him seem both utterly patient and secretly amused by everyone in the room. His ivory-handled cane stood planted beside his leg like an accessory and a threat in equal measure. Rory’s grip tightened on the door. “You’ve got a lot of nerve.” Lucien’s mouth shifted, not quite a smile, not quite regret. “Bonsoir to you as well, Aurora.” She hated that he used her full name. Hated more that, after six months, it still did something annoying and immediate to her pulse. “How did you get past the first deadbolt?” “I rang.” “I mean before that.” “I knocked.” She stared at him. His amber eye flicked over her face, her bare feet, the hoodie she’d stolen from Eva, the delivery bag still slung over one shoulder. “You look tired.” “Don’t change the subject.” “Unrelated, and yet true.” His gaze dropped briefly to the scar at her left wrist, exposed where her sleeve had ridden up. It was a small thing, a crescent moon cut into pale skin from years ago, but the look he gave it made Rory feel suddenly, stupidly seen. “May I come in?” “No.” “Rory.” The way he said her nickname was worse than Aurora. Softer. Familiar. A hand on the small of her back when she wasn’t looking. She should have shut the door in his face. That was the smart choice. The safe one. The one she’d rehearsed in some abstract, angry corner of her mind for months. She should have remembered every sharp thing he’d said the last time they saw each other, every cold strategic silence, every reason she’d sworn she was done letting Lucien Moreau occupy space in her life like smoke. Instead, she stood there with the flat’s stale warmth pressing behind her and his expensive cologne sliding under the door’s edge, and said, “This is a bad idea.” His expression gentled in a way that made her want to slam the door harder. “I know.” That was the problem. He did know. Rory exhaled through her nose and stepped back just enough to let him enter on sufferance. “One minute,” she muttered. “And if this is some kind of elaborate scheme, I will throw you down the stairs myself.” “I should hope you’d at least make me tea first.” He moved past her, tall and composed, bringing a trace of cold rain and city night with him. Rory shut the door behind him and slid the deadbolt into place out of reflex, then the second, then the third, each metallic click sounding like an accusation. The flat was dim except for the kitchen light Eva had left on. Books and loose papers sprawled over every available surface; a stack of parchment covered in cramped notes nearly collapsed off the table when Lucien brushed by. He caught it with one precise hand and set it back where it had been. Ptolemy, curled on the back of the sagging sofa amid a pile of research notes, lifted his head and narrowed golden eyes. Then, apparently deciding Lucien was beneath his concern, the tabby yawned and laid his chin back down. Lucien’s gaze flicked to the cat. “Your guardian appears unimpressed.” “He has standards.” “And yet he tolerates you.” Rory stared at him, then despite herself let out a short, disbelieving laugh. The sound surprised her enough that she hated it immediately. Lucien’s eyes sharpened, as if he’d caught something delicate moving under ice. She crossed her arms. “Why are you here?” He took in the cramped flat with a quick, assessing sweep. The kettle on the counter. The pile of courier flyers by the sink. Eva’s research notes stacked in careful, anxious towers. Rory’s trainers kicked under the table. Her life, compressed and chaotic, all of it out in the open. His gaze returned to her. “Because I need your help.” Of course he did. That was Lucien’s favorite way to re-enter a room, as if necessity made him welcome. Rory leaned back against the door with deliberate care. “No.” “You haven’t heard what I need.” “I don’t have to. Every time you show up, something goes wrong.” “That is not fair.” “You’re right.” She lifted a hand before he could respond. “Sometimes something goes wrong and then you show up.” The corners of his mouth moved again, but this time the amusement didn’t reach his eyes. That was new. The old Lucien would have deflected, flattered, teased her until she forgot why she was angry. The old Lucien would have made the whole thing feel like a game with rules only he understood. Now he looked tired too. Rory hated noticing that. He set his cane against the side table with care. “I need someone who can move in and out of a place without attracting attention.” “That’s not me.” “It is exactly you.” She gave him a flat look. “I deliver noodles across East London, Lucien. I am conspicuous in a fluorescent jacket and a raincoat that smells like takeaway. If you want invisible, hire a ghost.” “I did try.” His voice stayed smooth, but something hard sat underneath it. “He was unavailable.” The reply was dry enough to draw another unwilling twitch from her mouth. Rory turned away before he could see it. She busyed herself with the kettle, filling it at the sink just to have something to do with her hands. The tap rattled. The room seemed too small with him in it, all tailored lines and expensive calm, as if a shark had found its way into a terrarium. “What do you want moved?” “A ledger.” “That’s it?” “Yes.” “Bullshit.” A quiet beat. “No,” Lucien said. “Not quite. But the rest becomes less important if I tell you the wrong person is looking for it.” Rory paused with the kettle in her hand. She glanced over her shoulder. “What wrong person?” His black eye was unreadable. “The kind who would kill for the information inside.” That should have made her say no harder. Instead her stomach gave a small, traitorous sink. “And you came here alone?” “I did not wish to involve anyone else.” “That is the first sensible thing you’ve said.” “I am touched.” “You shouldn’t be.” He watched her for a long moment, and the silence between them thinned until Rory could hear the hum of the fridge, the distant shout from the curry house downstairs, Ptolemy’s claws kneading the sofa fabric. She became acutely aware of how close they were despite the room’s cramped dimensions. Two steps at most. Two steps and she’d be able to smell rain on his coat, the faint bitter note of whatever cologne he wore when he wanted to seem untouchable, the colder, stranger scent that clung beneath it if she let herself get close enough to notice. She did not want to notice. “Why me?” she asked quietly. Lucien’s gaze held hers. “Because you are clever. Because you are careful. Because you know how to disappear in plain sight. Because you ask questions before agreeing to anything.” A pause, almost too slight to catch. “And because you are the only person I trust to tell me no.” Something in her chest twisted at that, unpleasant and familiar. Trust. Coming from him, it was either the highest compliment or the cruelest manipulation. Sometimes Rory could never tell which until too late. She turned back to the kettle before her face betrayed her. “You don’t get points for honesty after disappearing for months.” “I know.” “There was no note.” “I know.” “No explanation.” “I know.” “No warning. One second you were—” She stopped herself with effort, the last word catching in her throat like a shard. Here. Not here. Not in the kitchen. Not in the dark with the rain tapping the glass and his voice hovering too near. She swallowed. “You were gone.” Lucien didn’t speak. Rory waited for the joke, the smooth excuse, the half-truth wrapped in silk. When it didn’t come, she forced herself to flick the kettle on and listen to the heating element begin to whisper. The silence that followed was worse than any argument. At last he said, “I did not leave because I wanted to.” She let out a sharp laugh with no humor in it. “That’s supposed to make me feel better?” “No.” He moved, just slightly, enough that she caught the shift of his shoulder. He hadn’t crossed the room, but the air had changed anyway. “It is supposed to be true.” Rory turned then, bracing a hand on the counter. “Lucien.” His name felt dangerous in her mouth. One eyebrow lifted a fraction, that old infuriating elegance. “Aurora.” The kettle clicked softly as it approached a boil. Rory stared at him and felt the ache of all the things they had done and not done, all the near-misses and almosts. The last time she’d seen him, he’d been standing exactly like this in a narrow corridor lit by emergency lights, his face carved into shadow and disappointment. She’d been angry then, yes, but worse than angry—hurt in the way only someone who’d let herself hope could be hurt. He had asked her to trust him with something she hadn’t wanted to understand. She had told him to go to hell. He had left without looking back. She had spent months telling herself that meant something. Now he was here, on Eva’s patchwork rug, in her friend’s impossible little flat above a curry house, as if the world had folded back on itself and delivered him to her door as a punishment or a second chance. “Do you know,” she said carefully, “how much I hate that you can stand there looking like that and still expect me to help you?” A faint crease appeared between his brows. “Looking like what?” “Like you’ve never done a dishonest thing in your life.” A real smile touched his mouth then, quick and private and almost painful in its familiarity. “That is because I am very beautiful.” Rory barked out a laugh despite herself. Ptolemy lifted his head at the sound, offended by the disturbance. She pressed her lips together hard, furious that the laugh had come so easily, furious that Lucien looked relieved to have coaxed it out of her. “You’re unbearable,” she said. “And yet?” “And yet nothing.” The kettle began to whistle. Rory turned to snatch it off the heat, but Lucien was suddenly there, closer than he ought to have been in the tiny kitchen, reaching past her for the mug beside the sink. His sleeve brushed her wrist. Nothing more than cloth against skin. Everything in her went still. He noticed. Of course he did. His hand paused, fingers hovering where they had touched her. Not taking, not withdrawing. She could feel the warmth of him in the narrow space between them, the clean line of his body, the restrained force that always lived just under his polish. She could have stepped away. She should have. Instead she looked up. His gaze had dropped to her wrist again, to the crescent scar there, and something in his expression had altered. Not pity. Never pity. Something rawer and more dangerous, as if seeing that old injury had opened a door neither of them had meant to unlock. When he spoke, his voice was lower. “I missed you.” The words hit her harder than if he’d shouted. Rory went very still, the mug suspended in her hand. For one stupid, suspended second there was only the hiss of the kettle settling, the soft breathing of the cat, and the impossible fact of Lucien Moreau standing in her kitchen saying the one thing she had not prepared herself for. She had built six months of anger around the shape of his absence. Anger was armor. Anger kept a person upright. But this—this stripped it away and left her standing with all the tenderness she’d buried under resentment. Her throat tightened. “That’s not fair.” “No.” “You can’t just say that and expect it to fix anything.” “I do not expect anything.” His eyes held hers, amber and black, both of them far too steady. “I only thought you should know.” Rory laughed once, softly, because the alternative was to do something far more dangerous and humiliating. “Well. There’s a confession.” His gaze flicked down to her mouth and back up so quickly she might have imagined it if she hadn’t felt it like a touch. “There are many.” The room had narrowed to the distance between them, the counter edge at her back, his hand still near hers around the mug he’d lifted but not yet taken. Rory could hear her own pulse. She hated how much she wanted to bridge the gap. Hated that the memory of him was a physical thing in her body, not just in her head. “You disappear for months,” she said, quieter now, “and you walk in here and say you missed me.” “Yes.” “That’s insane.” “I did not claim wisdom.” She should have told him to leave. She should have made him say the rest in the street where it belonged, in the rain and under the sodium lights, where his face would be just another face and not this close, this alive. Instead she watched his fingers curl around the mug, careful and unhurried, and heard herself ask, “Did you come here because of the ledger or because of me?” Lucien’s expression did not change, but the air between them did. “Must it be one or the other?” Rory’s breath caught. There it was, the old Lucien again—not lying, exactly, but refusing the comfort of simple answers. He had always done this to her: made everything precise except the one thing she wanted most. She stepped back first, because if she didn’t, she was going to touch him. “Fine,” she said, too brisk. “You can stay long enough to explain. Sit down before Ptolemy decides you’re a threat and takes your ankle off.” The cat, insulted, gave an indignant chirp as if to clarify that he had other, more sophisticated methods of murder. Lucien looked past her to the sofa, to the papers, to the tabby supervising all of it like an unimpressed king. Then he looked back at Rory, and the faintest trace of his old smile returned, tempered now by something softer, almost fragile. “As you wish,” he said. And as he moved deeper into the flat, setting his cane aside and ducking under the low hanging lamp, Rory realized with a sudden, sinking clarity that this was worse than if he had come to use her and leave. Because if he had come back needing her, and if he was telling the truth, and if he really had missed her— then the door he had opened might not close so easily this time.
created_at"2026-03-18T10:47:25.584Z" 3/18/2026, 10:47:25 AM
model"openai/gpt-5.4-mini-20260317"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency3185
moderation_latency(null)
generation_time18666
tokens_prompt808
tokens_completion4083
native_tokens_prompt753
native_tokens_completion3261
native_tokens_completion_images0
native_tokens_reasoning49
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.01523925
router(null)
provider_responses
0
endpoint_id"9ee065b2-3d1c-43bc-bdd7-28af3b148282"
id"resp_0a881ad3f39fe09e0169ba82bda6f4819698f4f140aeb6f91c"
is_byokfalse
latency243
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-1773830845-14zysE6i2yuXXHzcvR1H"
upstream_id"resp_0a881ad3f39fe09e0169ba82bda6f4819698f4f140aeb6f91c"
total_cost0.01523925
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
totalTags17
adverbTagCount4
adverbTags
0"His gaze dropped briefly [briefly]"
1"she asked quietly [quietly]"
2"He moved just [just]"
3"she said carefully [carefully]"
dialogueSentences89
tagDensity0.191
leniency0.382
rawRatio0.235
effectiveRatio0.09
78.56% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2565
totalAiIsmAdverbs11
found
0
adverb"utterly"
count1
1
adverb"suddenly"
count2
2
adverb"slightly"
count1
3
adverb"softly"
count2
4
adverb"carefully"
count1
5
adverb"very"
count2
6
adverb"quickly"
count1
7
adverb"really"
count1
highlights
0"utterly"
1"suddenly"
2"slightly"
3"softly"
4"carefully"
5"very"
6"quickly"
7"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)
59.06% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2565
totalAiIsms21
found
0
word"pulse"
count2
1
word"flicked"
count3
2
word"familiar"
count2
3
word"silence"
count3
4
word"warmth"
count2
5
word"chaotic"
count1
6
word"unreadable"
count1
7
word"stomach"
count1
8
word"silk"
count1
9
word"whisper"
count1
10
word"eyebrow"
count1
11
word"could feel"
count1
12
word"restrained"
count1
13
word"tenderness"
count1
highlights
0"pulse"
1"flicked"
2"familiar"
3"silence"
4"warmth"
5"chaotic"
6"unreadable"
7"stomach"
8"silk"
9"whisper"
10"eyebrow"
11"could feel"
12"restrained"
13"tenderness"
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
emotionTells3
narrationSentences167
matches
0"was angry"
1"felt the ache"
2"looked relieved"
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount2
hedgeCount3
narrationSentences167
filterMatches
0"feel"
hedgeMatches
0"seemed to"
1"begin to"
2"began to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences238
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
maxSentenceWordsSeen56
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2562
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions23
unquotedAttributions0
matches(empty)
66.67% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions54
wordCount2055
uniqueNames6
maxNameDensity1.17
worstName"Rory"
maxWindowNameDensity3
worstWindowName"Lucien"
discoveredNames
Rory24
Lucien19
Moreau3
Eva4
Aurora1
Ptolemy3
persons
0"Rory"
1"Lucien"
2"Moreau"
3"Eva"
4"Ptolemy"
places(empty)
globalScore0.916
windowScore0.667
85.90% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences117
glossingSentenceCount3
matches
0"not quite a smile, not quite regret"
1"not quite regret"
2"Then, apparently deciding Lucien was"
3"as if seeing that old injury had opened a door neither of them had meant to unlock"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches1
per1kWords0.39
wordCount2562
matches
0"not lying, exactly, but refusing the comfort of simple answers"
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount4
totalSentences238
matches
0"hated that he"
1"enough that she"
2"Hated that the"
3"clarify that he"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs116
mean22.09
std23.1
cv1.046
sampleLengths
047
173
212
316
432
52
64
72
84
927
104
1153
121
131
1424
1568
1628
1717
187
1937
2010
21100
2239
2310
243
255
2635
278
2860
2929
306
3112
324
3319
3453
355
364
3725
383
394
4034
4116
4275
432
442
451
461
473
4822
4916
100.00% Passive voice overuse
Target: ≤2% passive sentences
passiveCount0
totalSentences167
matches(empty)
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount2
totalVerbs353
matches
0"wasn’t looking"
1"was telling"
82.83% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount4
semicolonCount1
flaggedSentences5
totalSentences238
ratio0.021
matches
0"Books and loose papers sprawled over every available surface; a stack of parchment covered in cramped notes nearly collapsed off the table when Lucien brushed by."
1"She’d been angry then, yes, but worse than angry—hurt in the way only someone who’d let herself hope could be hurt."
2"But this—this stripped it away and left her standing with all the tenderness she’d buried under resentment."
3"There it was, the old Lucien again—not lying, exactly, but refusing the comfort of simple answers."
4"Because if he had come back needing her, and if he was telling the truth, and if he really had missed her—"
87.84% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount2062
adjectiveStacks1
stackExamples
0"delicate moving under ice."
adverbCount97
adverbRatio0.04704170708050436
lyAdverbCount26
lyAdverbRatio0.012609117361784675
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences238
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences238
mean10.76
std9.58
cv0.89
sampleLengths
041
16
256
317
46
56
610
76
88
916
108
112
124
132
144
1524
163
174
1822
1927
204
211
221
2310
241
251
2612
279
285
293
3014
3137
3228
3315
342
354
363
3716
384
3917
4010
4118
4228
4313
4426
4515
4622
4717
486
494
42.86% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats17
diversityRatio0.25210084033613445
totalSentences238
uniqueOpeners60
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount10
totalSentences154
matches
0"Instead, she stood there with"
1"Then, apparently deciding Lucien was"
2"Of course he did."
3"Instead her stomach gave a"
4"Sometimes Rory could never tell"
5"Of course he did."
6"Instead she looked up."
7"Instead she watched his fingers"
8"Then he looked back at"
9"then the door he had"
ratio0.065
69.35% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount58
totalSentences154
matches
0"He looked exactly as she"
1"His ivory-handled cane stood planted"
2"She hated that he used"
3"She stared at him."
4"His amber eye flicked over"
5"His gaze dropped briefly to"
6"It was a small thing,"
7"She should have shut the"
8"She should have remembered every"
9"His expression gentled in a"
10"He did know."
11"He moved past her, tall"
12"He caught it with one"
13"She crossed her arms."
14"He took in the cramped"
15"Her life, compressed and chaotic,"
16"His gaze returned to her."
17"She lifted a hand before"
18"He set his cane against"
19"She gave him a flat"
ratio0.377
54.16% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount125
totalSentences154
matches
0"The first thing Rory saw"
1"The second thing was his"
2"He looked exactly as she"
3"His ivory-handled cane stood planted"
4"Rory’s grip tightened on the"
5"Lucien’s mouth shifted, not quite"
6"She hated that he used"
7"She stared at him."
8"His amber eye flicked over"
9"His gaze dropped briefly to"
10"It was a small thing,"
11"The way he said her"
12"A hand on the small"
13"She should have shut the"
14"That was the smart choice."
15"The safe one."
16"The one she’d rehearsed in"
17"She should have remembered every"
18"His expression gentled in a"
19"That was the problem."
ratio0.812
97.40% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount3
totalSentences154
matches
0"Now he looked tired too."
1"Now he was here, on"
2"Because if he had come"
ratio0.019
50.09% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences77
technicalSentenceCount10
matches
0"The first thing Rory saw when she cracked the second deadbolt was Lucien Moreau’s hand resting on the edge of the doorframe, elegant fingers half-curled as if h…"
1"He looked exactly as she remembered and just a shade worse for it: charcoal suit immaculate despite the rain, platinum hair slicked back from a sharp brow, one …"
2"Lucien’s eyes sharpened, as if he’d caught something delicate moving under ice."
3"The room seemed too small with him in it, all tailored lines and expensive calm, as if a shark had found its way into a terrarium."
4"Two steps and she’d be able to smell rain on his coat, the faint bitter note of whatever cologne he wore when he wanted to seem untouchable, the colder, strange…"
5"Not in the dark with the rain tapping the glass and his voice hovering too near."
6"Now he was here, on Eva’s patchwork rug, in her friend’s impossible little flat above a curry house, as if the world had folded back on itself and delivered him…"
7"Something rawer and more dangerous, as if seeing that old injury had opened a door neither of them had meant to unlock."
8"For one stupid, suspended second there was only the hiss of the kettle settling, the soft breathing of the cat, and the impossible fact of Lucien Moreau standin…"
9"The cat, insulted, gave an indignant chirp as if to clarify that he had other, more sophisticated methods of murder."
95.59% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags17
uselessAdditionCount1
matches
0"She stopped, the last word catching in her throat like a shard"
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags9
fancyCount1
fancyTags
0"she muttered (mutter)"
dialogueSentences89
tagDensity0.101
leniency0.202
rawRatio0.111
effectiveRatio0.022
89.0102%