Run: 2026-09-02-01M1HJXQH8KWXNGJ9KJ6Z5XJKN

Run Details

Duration:
2m 6s
Cost:
$0.003415
Provider:
Alibaba

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 onto the smell of cumin, rain, and a life Aurora had not chosen for Lucien Moreau to invade at half past eleven at night. He stood in Eva’s narrow landing under the too-bright bulb, one hand resting on the head of an ivory cane that looked like something stolen from a museum display. His charcoal suit was tailored to make ordinary men feel like apologies, and though London had spent the evening trying to ruin it, Lucien had emerged from the storm with the polished, irritating air of someone who had negotiated with the weather and won. His platinum hair was slicked back. His heterochromatic eyes looked at her with one amber warmth and one black distance. Rory, he began softly. Aurora did not step back. The door stayed half open, the tabby cat Ptolemy weaving a furious figure eight around her ankles. Behind her, Eva’s flat was a disaster of books and scrolls, every surface colonized by research notes, cold tea, and the particular chaos of a woman who believed sleep was negotiable. The floorboards smelled of fried onions from the curry house below. A stack of paperbacks leaned against the bookshelf as though they had been waiting for an excuse to fall. You have a name, she said. I know. Then why do you keep leaving it in your pocket? He looked past her into the apartment. Three deadbolts gleamed along the doorframe, each one an act of paranoia Eva had once laughed off and Aurora had since learned to appreciate. May I? Lucien asked. You came here unannounced. I came here because I wanted to see you. Aurora laughed, but it was a short, dry thing. That is not the same as having the right to be here. No. I suppose it is not. He waited, as if he thought courtesy might win what she had not yet conceded. Rainwater beaded on his sleeve. He had a coat over one shoulder, dark with wet, and his shoes were immaculate despite the puddles in the landing. She wanted him to leave. She wanted him to say something that would make leaving easy. Instead, she stepped back. If you drip on her rug, I am making you clean it with your tie. That seems fair, he said, though there was no smile in it yet. Lucien came inside. The door closed, and the lock did not feel safe again because he was in the room, only that he was trapped there with her. He set his cane against the small kitchen table and began removing his coat as though they were meeting for tea and not for the slow excavation of a wound neither had healed. You’re wearing your apron. I finished a shift an hour ago. At Golden Empress. How do you know? I know where you work. She took off the apron, folded it once, and set it on the back of a chair. The motion freed her sleeve from where it had been caught, and the small crescent scar on her left wrist slipped pale under the kitchen light. Lucien saw it. He always saw things he had no business seeing. Eva isn’t here, she said. I know. Then why are you? He looked at the chair opposite him as if inviting it to betray him. It did not. I received a message. Aurora crossed her arms. You don’t receive messages. You receive problems and decide whether they are expensive enough to solve. His mouth moved once. Almost a smile. It failed. Something happened at Silas’ place. She went still. Lucien turned his hands on the table, careful, as though they might contain damage. There was a man asking questions. One who knew about Evan. The name was a small, ugly stone in her stomach. Aurora had not heard it spoken aloud in months and had assumed silence meant distance, meant the past had learned where the door was and stayed behind it. Who is it? I do not know yet. Not properly. I know what he asked. She sat before she realized she had needed to. Her knees had developed opinions about the situation, and Lucien’s presence in Eva’s cramped flat made the whole room feel too small for the things it was about to say. You should have texted, she said. I thought about it. You thought about it, and then you stood outside in the rain? I came to look at you. Not to make a performance. Aurora rubbed the scar with her thumb. It was a nervous habit, a childhood thing. When she was eight, she had reached for a broken teacup in her mother’s kitchen and decided the blood was more interesting than the fear. Evan had once bitten the words into her when they were alone: You’re dramatic. You’re careless. You need someone to watch your back. Lucien, worse, had never needed to say anything. He had only looked at her sometimes, in the quiet seconds after a lie collapsed, as if he could map the damage by moonlight. What did he ask? she said. If I knew where you lived. And did you? Yes. She lifted her eyes. The black one was flat. The amber one had a light in it that hurt worse than anger. Lucien, she said. I told him I did not know. The breath she had been holding left her in one uneven line. She wanted to be furious. She wanted to be relieved. They were both there, tangled together like the cables beneath Eva’s television. You lied, she said. For your protection. You used to do that. Pretend honesty was a luxury and I would be safer if I couldn’t afford it. He did not deny it. Why now? she asked. Why come after all this time, after you left, after you made it very clear you had better things to do than deal with me? Lucien looked down at his hands, long-fingered, steady, useless in the way of men who fixed problems for other people and called their own emotions bad investments. Because I made it clear, he said. Because you did. Because you heard it as finality when it was fear. She stared at him. That is a very convenient translation. Possibly. He met her eyes. But I was afraid. The room seemed to lean. Ptolemy jumped onto the counter, knocked a pen off the edge with one deliberate paw, and watched them both with the superior indifference of a creature who had never been asked to choose between survival and desire. Lucien’s voice was lower when he spoke again. You fled Evan, he said. You were terrified. And I had spent three years learning what people become when they attach themselves to someone in my world. I thought if I stayed close to you, I would make you a target. If I left, you might have time to build a life I could not ruin. You didn’t ask me. No. You decided for me. Yes. She stood so fast the chair scraped sharply against the floor. Lucien did not move, which made it worse somehow, as if he had already known how much space she needed and was giving it to her like a concession. That is exactly why I didn’t trust you, she said. Because you looked at me like I was another problem. Another piece of bad intelligence. Another thing to handle at a distance. You were not a problem. Then what was I? His jaw tightened. For the first time, his composure flickered, showing the seam underneath, the half-demon inheritance that kept him too aware, too controlled, too aware that control was a lie people told themselves before they broke. My favorite thought, he said. Aurora stopped. The words were simple and ruinous. He looked at her as if he had not meant to say it and would still rather have bled from the mouth than let her hear it cleanly. My favorite thought, he repeated, quieter. She turned away toward the window, to the rain-streaked glass and the dark street of Brick Lane below, neon from the signage smearing through water in red and gold. Her eyes were bright with something she refused to let become a tear. She had spent enough of her life learning that crying in front of a man was an invitation. Why are you here tonight? she asked. To warn you. You could have warned me by phone. I said I received a message. It was not a secure one. I had to know where you were. And now that you know? Now that I know, I need to make sure no one reaches you before I decide what to do. She looked at him over her shoulder. You still think you are in charge of the problem. His mouth twisted. You still think I am incapable of being in charge of anything. No. I think you have been in charge of the wrong thing for too long. Lucien rose. He moved like still water, careful and dangerous, and when he reached the small kitchen he stopped where he could see her without touching her. Close enough to make it unbearable. Rory, he said. She hated the name from him. It had once sounded like being held. Don’t call me that, she said, but her voice was soft. I came because the man who asked for you has a scar on his neck shaped like the signet of a house from Avaros. I came because I do not trust him, and I do not trust silence, and I do not trust anyone else to keep you alive while I make them talk. Aurora turned fully. You want me to stay here? Tonight. Tomorrow I will move you somewhere safer. I have a shift tomorrow. Not anymore. I have a life tomorrow. You have a life you have been guarding too hard for too long. She stepped closer without deciding to. The anger in her chest had become something warmer, less honorable, and she was tired enough to be tempted. You disappeared in the morning, she said. Yes. You didn’t say goodbye. No. You left me in your bed. His eyes went faintly gold around the edges. And then? And then you did not call. You did not write. You did not let me finish the sentence you had started on my wrist. Lucien looked down at her left hand. Aurora noticed where he was looking, noticed his gaze move over the small crescent scar as if he had once kissed it and remembered the precise location. She flexed her fingers. I was waiting for you to come back. He exhaled like a man who had been running through snow for years. I know. You don’t know. I do know. Aurora’s throat tightened. Lucien lifted his cane, not to threaten, not to retreat, but to remove his coat fully and lay it over the back of a chair. He rolled his sleeves down with deliberate care, exposing the pale wrists that had held hers only months ago, when she had been too shaken by Evan’s memory to make a sound. I wanted to come back, he said. I thought it would be better for you if I did not. You are a coward. Yes. You are also insufferable. Yes. You can’t just walk into Eva’s flat and be honest now. I can, he said. I have decided to be. She wanted to break the moment into safe, sharp pieces. She wanted to tell him his honesty was too expensive, his timing too selfish. Instead, Ptolemy leapt from the counter and landed on the floor with a muffled thud, and the cat’s arrival broke the tension in the most ridiculous way possible. Aurora laughed, a startled, exhausted sound, and Lucien’s gaze went soft enough to ruin her. What? he asked. Nothing. Rory. You’re looking at me like I’m your favorite thought. His mouth curved, brief and broken. You are. She stepped closer. The kitchen was too small. His presence was too large. You have to leave soon, she said. Yes. But not now. No. Because I’m not finished. His breath caught. Aurora lifted her hand and touched the lapel of his suit, feeling the fine damp there, the rain, the shape of him underneath. She saw the scar on his knuckle that had appeared after the night they had spent arguing in a hotel room in Southwark, after he had taken a blow meant for her and pretended it had nothing to do with love. Say it, she whispered. His hand came up slowly, stopping short of her cheek. Lucien had learned something about restraint from watching her survive. I left because I loved you, he said. The words were not dramatic. They were the plainest thing she had ever heard. And I am here because I still do. Aurora closed the remaining distance between them. His mouth was warm when she kissed him, and he made a quiet sound against her lips as though he had been starving and only just found the table. His cane clattered softly to the floor. Aurora caught his jaw, tilted his face, and felt him shudder under her hands. For a moment neither of them was clever or careful or guarded. They were only two people who had spent too long translating the same need into different languages, one human, one half-demon, neither fluent until now. When they broke apart, Lucien rested his forehead against hers. I hate that I missed you, he said. Aurora laughed wetly. You’re impossible. Yes. You can’t stay here. No. Eva will kill us both. She has tried before, he said, and failed, and I have made it worse. The flat was quiet around them. Rain tapped against the window. Below, the curry house had closed, the kitchen smells thickening with oil and spice. On the counter, Ptolemy watched with profound judgment. Aurora’s thumb brushed over the crescent scar on his wrist, though it was not his; her gaze lifted from Lucien’s hand to his face. Something in her chest loosened, not into forgiveness, not yet, but into the beginning of a decision. Tomorrow, she said. I know. You move me somewhere safe. I promise. And then you talk to me. He took one of her hands in both of his, his fingers lacing slowly through hers, as if asking permission to hold something fragile. Yes, Lucien said. Then I talk. Aurora looked at him, at the impossible brightness of his eyes, the careful set of his shoulders, the ruin he was trying not to bring because he could not decide if she was worth it. Good, she said softly. Because I’m not finished with you either.
created_at"2026-09-02T17:33:45.651Z" 9/2/2026, 5:33:45 PM
model"qwen/qwen3.8-flash-20260826"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency789
moderation_latency(null)
generation_time111736
tokens_prompt788
tokens_completion7639
native_tokens_prompt844
native_tokens_completion7215
native_tokens_completion_images(null)
native_tokens_reasoning4027
native_tokens_cached768
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"stop"
service_tier(null)
usage0.003414738
router(null)
user_agent"langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))"
http_referer(null)
request_id"req-1788370425-ip4TwsXoL1pxW9EBDQWc"
session_id(null)
preset_id(null)
api_type"completions"
id"gen-1788370425-ZXYr7IC4xN6rY8EwSPll"
upstream_id"chatcmpl-3488fa8b-9b92-9a7d-86db-6ba32f729dea"
provider_responses
0
endpoint_id"84b1e4a7-5aed-4464-818f-1994f0b4ee18"
id"chatcmpl-3488fa8b-9b92-9a7d-86db-6ba32f729dea"
is_byokfalse
latency789
model_permaslug"qwen/qwen3.8-flash-20260826"
provider_name"Alibaba"
status200
total_cost0.003414738
cache_discount0.000102912
upstream_inference_cost0
provider_name"Alibaba"
response_cache_source_id(null)
data_region"global"
workspace_id"97e315e5-d303-487d-83c1-83180e8a13d4"

Evaluation details

Result Evaluator Details Meta Data
100.00% Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags1
adverbTagCount0
adverbTags(empty)
dialogueSentences0
tagDensity1
leniency1
rawRatio0
effectiveRatio0
83.73% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2458
totalAiIsmAdverbs8
found
0
adverb"softly"
count3
1
adverb"very"
count2
2
adverb"sharply"
count1
3
adverb"slowly"
count2
highlights
0"softly"
1"very"
2"sharply"
3"slowly"
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)
83.73% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2458
totalAiIsms8
found
0
word"warmth"
count1
1
word"stomach"
count1
2
word"silence"
count2
3
word"desire"
count1
4
word"flickered"
count1
5
word"tension"
count1
6
word"profound"
count1
highlights
0"warmth"
1"stomach"
2"silence"
3"desire"
4"flickered"
5"tension"
6"profound"
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
emotionTells2
narrationSentences268
matches
0"was afraid"
1"o with love"
62.90% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount14
hedgeCount1
narrationSentences268
filterMatches
0"feel"
1"know"
2"hear"
3"know, decide"
4"think"
hedgeMatches
0"seemed to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences268
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
repeatedSegmentCount0
maxSentenceWordsSeen44
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2458
ratio0
matches(empty)
0.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions27
unquotedAttributions20
matches
0"You have a name, she said."
1"That seems fair, he said, though there was no smile in it yet."
2"You should have texted, she said."
3"Lucien, she said."
4"You lied, she said."
5"Because I made it clear, he said."
6"You fled Evan, he said."
7"My favorite thought, he said."
8"Rory, he said."
9"You disappeared in the morning, she said."
10"I wanted to come back, he said."
11"I can, he said."
12"You have to leave soon, she said."
13"Say it, she whispered."
14"I left because I loved you, he said."
15"I hate that I missed you, he said."
16"She has tried before, he said, and failed, and I have made it worse."
17"Tomorrow, she said."
18"Yes, Lucien said."
19"Good, she said softly."
33.33% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions102
wordCount2456
uniqueNames15
maxNameDensity1.51
worstName"You"
maxWindowNameDensity4
worstWindowName"You"
discoveredNames
Aurora18
Lucien20
Moreau1
Eva8
London1
Ptolemy4
Golden1
Empress1
Evan4
You37
Brick1
Lane1
Avaros1
Southwark1
Rory3
persons
0"Aurora"
1"Lucien"
2"Moreau"
3"Eva"
4"Ptolemy"
5"Evan"
6"You"
7"Rory"
places
0"London"
1"Golden"
2"Brick"
3"Lane"
4"Avaros"
5"Southwark"
globalScore0.747
windowScore0.333
78.57% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences140
glossingSentenceCount4
matches
0"looked like something stolen from a museu"
1"as if inviting it to betray him"
2"sounded like being held"
3"as if asking permission to hold something fragile"
37.27% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches4
per1kWords1.627
wordCount2458
matches
0"not to threaten, not to retreat, but to remove his coat fully"
1"not to retreat, but to remove his coat fully"
2"not into forgiveness, not yet, but into the beginning of a decision"
3"not yet, but into the beginning of a decision"
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount2
totalSentences268
matches
0"learning that crying"
1"hate that I"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs162
mean15.17
std19.08
cv1.258
sampleLengths
027
193
24
383
46
52
610
731
84
94
109
1121
126
1357
144
1515
1613
173
1858
194
207
213
224
235
2455
255
262
274
2817
294
3020
319
325
333
3425
3538
363
3712
3839
396
404
4112
4211
4395
446
456
463
471
4822
493
97.41% Passive voice overuse
Target: ≤2% passive sentences
passiveCount6
totalSentences268
matches
0"was tailored"
1"was slicked"
2"been caught"
3"been asked"
4"were terrified"
5"being held"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount5
totalVerbs515
matches
0"were meeting"
1"was giving"
2"was looking"
3"was waiting"
4"was trying"
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount0
semicolonCount1
flaggedSentences1
totalSentences268
ratio0.004
matches
0"Aurora’s thumb brushed over the crescent scar on his wrist, though it was not his; her gaze lifted from Lucien’s hand to his face."
100.00% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount593
adjectiveStacks0
stackExamples(empty)
adverbCount20
adverbRatio0.03372681281618887
lyAdverbCount2
lyAdverbRatio0.003372681281618887
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences268
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences268
mean9.17
std8.58
cv0.936
sampleLengths
027
129
244
36
414
54
65
717
831
911
1019
116
122
1310
147
1524
162
172
184
199
209
2112
221
235
2415
255
2621
275
2811
294
3015
3113
323
3325
3433
354
367
373
384
395
4017
4126
423
439
445
452
464
4714
483
494
43.28% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats18
diversityRatio0.2126865671641791
totalSentences268
uniqueOpeners57
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount7
totalSentences229
matches
0"Then why do you keep"
1"Instead, she stepped back."
2"Then why are you?"
3"Almost a smile."
4"Then what was I?"
5"Instead, Ptolemy leapt from the"
6"Then I talk."
ratio0.031
12.14% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount119
totalSentences229
matches
0"He stood in Eva’s narrow"
1"His charcoal suit was tailored"
2"His platinum hair was slicked"
3"His heterochromatic eyes looked at"
4"You have a name, she"
5"He looked past her into"
6"You came here unannounced."
7"I came here because I"
8"I suppose it is not."
9"He waited, as if he"
10"He had a coat over"
11"She wanted him to leave."
12"She wanted him to say"
13"He set his cane against"
14"You’re wearing your apron."
15"I finished a shift an"
16"I know where you work."
17"She took off the apron,"
18"He always saw things he"
19"He looked at the chair"
ratio0.52
73.54% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount177
totalSentences229
matches
0"The door opened onto the"
1"He stood in Eva’s narrow"
2"His charcoal suit was tailored"
3"His platinum hair was slicked"
4"His heterochromatic eyes looked at"
5"Rory, he began softly."
6"Aurora did not step back."
7"The door stayed half open,"
8"The floorboards smelled of fried"
9"A stack of paperbacks leaned"
10"You have a name, she"
11"He looked past her into"
12"You came here unannounced."
13"I came here because I"
14"Aurora laughed, but it was"
15"That is not the same"
16"I suppose it is not."
17"He waited, as if he"
18"Rainwater beaded on his sleeve."
19"He had a coat over"
ratio0.773
100.00% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount11
totalSentences229
matches
0"If you drip on her"
1"If I knew where you"
2"Because I made it clear,"
3"Because you did."
4"Because you heard it as"
5"If I left, you might"
6"Because you looked at me"
7"To warn you."
8"Now that I know, I"
9"Because I’m not finished."
10"Because I’m not finished with"
ratio0.048
9.97% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences86
technicalSentenceCount16
matches
0"He stood in Eva’s narrow landing under the too-bright bulb, one hand resting on the head of an ivory cane that looked like something stolen from a museum displa…"
1"His charcoal suit was tailored to make ordinary men feel like apologies, and though London had spent the evening trying to ruin it, Lucien had emerged from the …"
2"Behind her, Eva’s flat was a disaster of books and scrolls, every surface colonized by research notes, cold tea, and the particular chaos of a woman who believe…"
3"A stack of paperbacks leaned against the bookshelf as though they had been waiting for an excuse to fall."
4"He set his cane against the small kitchen table and began removing his coat as though they were meeting for tea and not for the slow excavation of a wound neith…"
5"He looked at the chair opposite him as if inviting it to betray him."
6"Lucien turned his hands on the table, careful, as though they might contain damage."
7"He had only looked at her sometimes, in the quiet seconds after a lie collapsed, as if he could map the damage by moonlight."
8"Lucien looked down at his hands, long-fingered, steady, useless in the way of men who fixed problems for other people and called their own emotions bad investme…"
9"Ptolemy jumped onto the counter, knocked a pen off the edge with one deliberate paw, and watched them both with the superior indifference of a creature who had …"
10"For the first time, his composure flickered, showing the seam underneath, the half-demon inheritance that kept him too aware, too controlled, too aware that con…"
11"Aurora noticed where he was looking, noticed his gaze move over the small crescent scar as if he had once kissed it and remembered the precise location."
12"He rolled his sleeves down with deliberate care, exposing the pale wrists that had held hers only months ago, when she had been too shaken by Evan’s memory to m…"
13"His mouth was warm when she kissed him, and he made a quiet sound against her lips as though he had been starving and only just found the table."
14"They were only two people who had spent too long translating the same need into different languages, one human, one half-demon, neither fluent until now."
15"He took one of her hands in both of his, his fingers lacing slowly through hers, as if asking permission to hold something fragile."
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags1
uselessAdditionCount0
matches(empty)
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags0
80.5286%