Run: 2026-03-18-01KM08Y6TMXX6YSR0J900K2FXN

Run Details

Duration:
19.0s
Cost:
$0.015667
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 deadbolt came free with a metallic thunk that Rory felt in her teeth. She hesitated with her fingers still on the lock, the stale warmth of the flat pressed against her back and the curry-shop smells from downstairs seeping faintly through the floorboards. Ptolemy, sprawled in a haughty loaf atop a stack of books near the umbrella stand, lifted his head and gave a low, offended mrrp. “Not helping,” Rory muttered. She’d been expecting Eva’s spare key to be in use, maybe Eva herself if the message about “come up, I need your opinion on something” had actually meant “I’ve discovered a curse in the kettle again.” Maybe one of the neighbors. Maybe Silas, if the music downstairs got too loud and he decided her opinion mattered. She never expected the man standing on the other side of the door to take up the whole landing with his presence. Lucien Moreau. For one absurd second, Rory simply stared at him through the opening as if the lock had jammed on reality and she might still be able to shake the door hard enough to make him vanish. He was dressed, of course, as if he had stepped out of a dark tailoring advertisement and into her life by mistake: charcoal suit fitted to his narrow waist, ivory-handled cane resting lightly in one gloved hand. His platinum-blond hair was slicked back from his forehead with almost infuriating precision. One eye was amber, sharp and bright as a lit brand. The other was black, bottomless, unreadable. He looked exactly as he always did, except now there was something slightly off in the set of his shoulders, a strain he’d made no effort to hide because he’d probably decided it was more efficient to make her notice it and worry. Rory’s pulse stumbled, then tried to recover by tripping over itself. Lucien’s mouth, which had always been too well-shaped for his own good, curved into something that was not quite a smile. “Bonsoir, Rory.” She should have slammed the door. She should have done any number of sensible things, including pretending she was not home and letting him stand in the hallway until he got bored and went away. Instead she heard herself say, “How did you get up here?” One brow lifted. “A staircase, I’m afraid. The lift in this building is a crime against engineering.” “That’s not what I meant.” “No,” he said softly. “It usually isn’t.” The words landed between them with the familiar precision of a knife laid flat on a table. Rory’s hand tightened on the edge of the door. She could feel the crescent scar on her left wrist pulling as her pulse raced under it. Behind Lucien, the narrow corridor was dim and smelled faintly of damp plaster and old spice. Someone downstairs was arguing in rapid Bengali. A motorbike rattled past on the street. Normal life kept going, stubborn and oblivious. “Why are you here?” she asked. His gaze flicked over her face, the black eye unreadable, the amber one almost too attentive. “You did not answer your phone.” “I saw the missed call.” “And yet.” “And yet I didn’t call back.” “Yes.” “Because I was busy.” “At nine in the evening?” She gave him a flat look. “Some of us have jobs.” One corner of his mouth twitched. It was almost a smile, and that was somehow worse than a full one. “May I come in?” he asked. Every instinct Rory had, honed by bad decisions and experience, screamed no. But he was already here, and whatever game he was playing had the terrible shape of urgency. Lucien did not show up unannounced unless something had gone wrong. Lucien did not come to her flat unless he wanted something, or unless he was trying not to want something and had lost the argument. She should have shut the door in his face anyway. Instead she opened it wider. He stepped in with that smooth, silent grace he had, cane tapping once against the floorboards before he transferred his weight and glanced around Eva’s flat as though cataloguing every object for later use. Books were piled on every available surface: old paperbacks, battered notebooks, scrolls tied with ribbon, research pages marked in Eva’s furious handwriting. A teacup balanced on top of a stack of folklore texts. A candle burned down in a jam jar beside three grim-looking charms made of twine and hair. Ptolemy rose from the books with the slow outrage of a landlord inspecting a trespasser. Lucien’s gaze dropped to the cat. “Still alive, I see.” Ptolemy’s tail puffed. “Don’t,” Rory said quickly, because she knew the warning in her own voice and that the cat did not. “He hates you.” The cat sat and began washing one paw with deliberate disdain. “Mutual,” Lucien said. Rory shut the door and slid the first deadbolt home. Then the second. The sound felt obscene in the silence after his arrival. When she straightened, he was still looking at her. Not at the room. Not at the books. At her. She hated how quickly he could make her feel noticed, as if she’d stepped under a spotlight she hadn’t seen rigged overhead. “You look well,” he said. She gave a bark of humorless laughter. “That’s a lie.” His eyes moved over her with maddening care: the delivery jacket she’d forgotten to take off, the frayed cuffs, the ink smear on her knuckle from whatever note she’d been copying for Eva earlier. “You are standing,” he corrected. “That is a start.” “And you’re still insufferable.” “Also true.” It should have been easier, after all this time, to look at him and feel only irritation. Hurt. The cold clean break of self-preservation. Instead her body remembered things her mind tried very hard to keep buried: the warmth of his hand at the small of her back in crowded rooms; the low murmur of his voice in her ear; the way he had once looked at her like he was trying to decide whether to save her or ruin her. Complicated was a charitable word. Rory crossed her arms. “What do you want, Lucien?” That time his expression changed. Just slightly. The easy, polished mask he wore in public slid a fraction out of place, revealing something tired beneath it. “I need your help.” She stared. “No.” “I have not explained the matter.” “You don’t need to. Whatever it is, no.” “That is disappointingly predictable.” “Thank you. I work hard at being a disappointment.” Ptolemy leapt down from the stack of books and stalked to Lucien’s polished shoe, sniffed it with contempt, then slapped it once with a paw before retreating as if he had made a point and didn’t care to hear the response. Lucien looked down at the cat, then back at Rory. “You always did choose charming company.” “Better than choosing you.” The words came too fast. Too sharp. They hung in the room for half a second and then spread wider, filling the cramped flat with all the things she had not said and all the things he had not answered. Lucien’s face remained composed, but his cane shifted against his palm. A tiny movement. She saw it anyway. “Yes,” he said quietly. “That is, in fact, the issue.” Rory’s jaw tightened. She hated that her stomach had gone tight first. Hated that he could still unsettle her with a sentence and a look, as if the months apart had not happened, as if she had not spent entire nights convincing herself that whatever existed between them had been a bad idea wearing a beautiful face. She turned away before he could read more in her expression than she wanted. The flat suddenly felt too small, the clutter too intimate. Eva’s notebooks, the pinned scraps of research, the kettle with its dented side, the blanket thrown over the back of the sofa. Evidence of a life she had built around herself, stubborn and narrow and safe. Lucien standing in the middle of it made the whole place feel exposed. “You’ve got five minutes,” she said. “After that, I throw you out.” “I thought we had established your appetite for hospitality was limited.” “Lucien.” He held up one hand in surrender, though the gesture was too elegant to be real. “Very well.” Rory went to the tiny kitchen nook and flicked on the kettle because she needed something to do with her hands. Need, she corrected bitterly. Wanted, maybe. She despised that distinction. “Tea?” “I thought we were beyond pretending civility.” “I’m not pretending. I’m being generous.” “A remarkable quality.” She shot him a look over her shoulder. He had not moved farther into the room. He was still by the door, cane planted, shoulders straight, as if he expected to be told to leave at any moment and had come prepared to obey if it meant he could keep standing here one minute longer than necessary. That thought snagged in her. “What happened?” she asked before she could stop herself. Something unreadable crossed his face. Not relief, exactly. But the faintest loosening around the eyes. As if he had been waiting for her to ask the right question and had not dared hope. He took a breath. “There has been a theft.” Rory snorted. “That’s what dragged you here? The supernatural police lose a trinket and you come knocking on my door like a rejected suitor?” His gaze sharpened at that, and she immediately wished she’d bitten the words back. But Lucien only said, “It is not a trinket.” “What is it, then?” “A seal.” She turned the kettle off without even realizing she’d clicked it on. “Whose seal?” He looked at her for a moment too long. “A dangerous one.” That was not an answer, but the way he said it was enough to tell her he had reached the part of the conversation where he expected resistance. Rory folded her arms again, because she needed armor and because there was no point pretending she didn’t know what his arrival meant. Trouble. The kind that came with names people whispered only when the doors were locked. “And you came to me because…?” “Because someone needs to go somewhere that will be less welcoming to me.” “Oh, brilliant. So you’ve decided I’m your cover?” “Among other things.” She stared at him. “Among other things?” The corner of his mouth curved in that slow, dangerous way that had once made her forget the shape of her own name. “Do not pretend you are surprised I still find you useful.” The words hit their mark, and he knew it. She saw the flash of regret immediately after, the almost invisible pause like a hand reaching out and stopping short of contact. Rory’s face went hot. “Useful.” “Yes.” She laughed once, sharp as breaking glass. “You always did know how to make a woman feel cherished.” His eyes didn’t leave hers. “Rory.” The way he said her name was the problem. Soft. Low. Like he was trying not to touch her with it. Like he remembered the shape of her more intimately than he had any right to. Her throat tightened. She looked at the counter, the chipped mug beside the sink, the stack of unpaid bills she’d shoved under a cookbook, anything that wasn’t him. “You don’t get to show up here and act like we’re—” “Like we are what?” The question was quiet. Not challenging. Worse. Earnest. She swallowed. Her pulse was in her wrists, her neck, the back of her knees. “Like nothing happened.” For the first time since he’d arrived, Lucien looked genuinely tired. Not polished-tired. Not charmingly weary. Just tired, in the way a person is after carrying something too long and refusing to let it show. “No,” he said. “I do not suppose I do.” The room went still around them. Even Ptolemy had gone quiet, as if the cat had sense enough to recognize the moment before a collapse. Rory pressed her palm against the counter. She could feel the scar on her wrist under her fingers, a small hard ridge that had outlasted the childhood accident that made it. Proof that pain stayed whether you wanted it or not. “Say what you came to say,” she told him, because if she didn’t keep moving she might start remembering exactly why she’d let herself care in the first place. Lucien’s gaze dropped briefly to her hand. Then he looked back at her face. “I came,” he said, each word measured, “because I have failed to find anyone else I trust with this. And because when I thought of the place I might need to go, I thought of you.” Rory felt the answer in her chest before she understood it. Not flattery. Not manipulation, though Lucien could do both with surgical skill. Something more dangerous. Something honest enough to hurt. She wanted to tell him it was too late. Wanted to tell him he should have thought of her before whatever had happened happened. Wanted to tell him that trust was not a favor he could request after disappearing and leaving her to stitch herself back together. Instead she heard herself ask, “Is this going to get me killed?” Lucien looked at her for a long moment, amber eye bright, black eye dark as spilled ink. “Yes,” he said at last. “Possibly.” Her breath left her in one sharp exhale. “You absolute bastard.” “I have been called worse.” “Not to your face, I’m sure.” “Only because they lacked courage.” Despite everything, despite the anger and the old ache and the memory of his hands and mouth and voice, a laugh escaped her. It surprised them both. It felt like opening a window in a room that had grown stale. Lucien’s expression shifted then, something softer entering it with almost painful caution. He was looking at her like he’d found the edge of an old wound and did not know whether touching it would make her bleed or heal. Rory hated that part of her wanted him to touch it anyway. The kettle clicked softly as the water settled. Outside, Brick Lane carried on with its noisy, ordinary life. Inside, the space between them had changed shape. Not mended. Not forgiven. But altered. Pressured from the inside by everything still unresolved. Lucien set one hand over the ivory handle of his cane, not using it so much as anchoring himself. “If you wish to refuse, I will leave.” She should have said yes. Instead she looked at his face, at the strain he had failed to hide, at the familiar arrogance worn thin enough to reveal the man beneath it, and felt her resolve buckle in the exact place it always had where he was concerned. “Five minutes,” Rory said. “You get five minutes to explain why I shouldn’t call you a cab and slam the door in your face.” Something like relief passed over him so quickly she might have imagined it. Then his expression smoothed again into that dangerous, elegant calm. “Five minutes,” he agreed. Ptolemy huffed as if the whole arrangement had become everyone else’s problem now. Rory glanced at the cat, then back at Lucien, and felt the old tension between them tighten into something sharper, warmer, impossible to ignore. She folded her arms, lifted her chin, and braced herself for whatever he was about to say. Lucien, in the middle of her cluttered little flat, under the dim yellow light and the watchful stare of a cat who trusted no one, looked at her as if he had come to the end of a very long road and found her waiting there unchanged. That, more than anything, was the trouble.
created_at"2026-03-18T10:47:51.905Z" 3/18/2026, 10:47:51 AM
model"openai/gpt-5.4-mini-20260317"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency6883
moderation_latency(null)
generation_time18887
tokens_prompt808
tokens_completion4204
native_tokens_prompt753
native_tokens_completion3356
native_tokens_completion_images0
native_tokens_reasoning57
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.01566675
router(null)
provider_responses
0
endpoint_id"9ee065b2-3d1c-43bc-bdd7-28af3b148282"
id"resp_03062c7b5e2cb6a50169ba82d7f9d08194ba58d14130298afc"
is_byokfalse
latency193
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-1773830871-QljlqbcuLKPUP6i67IFe"
upstream_id"resp_03062c7b5e2cb6a50169ba82d7f9d08194ba58d14130298afc"
total_cost0.01566675
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
totalTags21
adverbTagCount4
adverbTags
0"he said softly [softly]"
1"Rory said quickly [quickly]"
2"he said quietly [quietly]"
3"But Lucien only said [only]"
dialogueSentences84
tagDensity0.25
leniency0.5
rawRatio0.19
effectiveRatio0.095
77.14% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2625
totalAiIsmAdverbs12
found
0
adverb"lightly"
count1
1
adverb"slightly"
count2
2
adverb"softly"
count2
3
adverb"quickly"
count3
4
adverb"very"
count3
5
adverb"suddenly"
count1
highlights
0"lightly"
1"slightly"
2"softly"
3"quickly"
4"very"
5"suddenly"
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)
54.29% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2625
totalAiIsms24
found
0
word"warmth"
count2
1
word"unreadable"
count3
2
word"efficient"
count1
3
word"pulse"
count3
4
word"familiar"
count2
5
word"could feel"
count2
6
word"raced"
count1
7
word"flicked"
count2
8
word"weight"
count1
9
word"silence"
count1
10
word"predictable"
count1
11
word"stomach"
count1
12
word"remarkable"
count1
13
word"measured"
count1
14
word"resolve"
count1
15
word"tension"
count1
highlights
0"warmth"
1"unreadable"
2"efficient"
3"pulse"
4"familiar"
5"could feel"
6"raced"
7"flicked"
8"weight"
9"silence"
10"predictable"
11"stomach"
12"remarkable"
13"measured"
14"resolve"
15"tension"
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
narrationSentences185
matches
0"t with contempt"
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount3
hedgeCount1
narrationSentences185
filterMatches
0"notice"
1"feel"
hedgeMatches
0"tried to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences248
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
maxSentenceWordsSeen57
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2625
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions27
unquotedAttributions1
matches
0"Need, she corrected bitterly."
100.00% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions63
wordCount2186
uniqueNames11
maxNameDensity0.91
worstName"Rory"
maxWindowNameDensity2
worstWindowName"Lucien"
discoveredNames
Rory20
Eva6
Silas1
Moreau1
One3
Lucien20
Bengali1
Ptolemy6
Brick1
Lane1
Wanted3
persons
0"Rory"
1"Eva"
2"Silas"
3"Moreau"
4"One"
5"Lucien"
6"Ptolemy"
places
0"Brick"
1"Lane"
globalScore1
windowScore1
65.97% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences119
glossingSentenceCount4
matches
0"not quite a smile"
1"as though cataloguing every object for later use"
2"felt like opening a window in a room th"
3"Something like relief passed over him so qui"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches1
per1kWords0.381
wordCount2625
matches
0"not an answer, but the way he said it was enough to tell her he had reached the"
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount4
totalSentences248
matches
0"hated that her"
1"Hated that he"
2"despised that distinction"
3"hated that part"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs128
mean20.51
std20.41
cv0.995
sampleLengths
015
154
24
378
42
536
6110
711
821
92
1046
1117
125
137
1443
1537
166
1722
185
192
206
211
224
235
2411
2520
266
2765
2810
295
3084
3115
3210
333
3422
3511
363
3723
3841
395
4010
4143
424
432
4481
455
469
4726
484
493
95.78% Passive voice overuse
Target: ≤2% passive sentences
passiveCount5
totalSentences185
matches
0"was dressed"
1"was slicked"
2"got bored"
3"were piled"
4"was concerned"
81.56% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount7
totalVerbs394
matches
0"was arguing"
1"was playing"
2"was trying"
3"was still looking"
4"was trying"
5"was trying"
6"was looking"
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount0
semicolonCount2
flaggedSentences1
totalSentences248
ratio0.004
matches
0"Instead her body remembered things her mind tried very hard to keep buried: the warmth of his hand at the small of her back in crowded rooms; the low murmur of his voice in her ear; the way he had once looked at her like he was trying to decide whether to save her or ruin her."
90.31% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount2193
adjectiveStacks0
stackExamples(empty)
adverbCount112
adverbRatio0.05107159142726858
lyAdverbCount28
lyAdverbRatio0.012767897856817145
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences248
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences248
mean10.58
std9.98
cv0.943
sampleLengths
015
130
224
34
441
515
622
72
836
937
1013
1111
126
1343
1411
1521
162
176
1829
1911
203
2114
225
234
243
2517
269
2717
2816
297
307
317
326
3316
346
355
362
376
381
394
405
416
425
436
4414
456
4612
4717
4811
4925
48.12% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats14
diversityRatio0.3225806451612903
totalSentences248
uniqueOpeners80
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount10
totalSentences155
matches
0"Maybe Silas, if the music"
1"Instead she heard herself say,"
2"Instead she opened it wider."
3"Then the second."
4"Instead her body remembered things"
5"Just tired, in the way"
6"Then he looked back at"
7"Instead she heard herself ask,"
8"Instead she looked at his"
9"Then his expression smoothed again"
ratio0.065
85.81% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount52
totalSentences155
matches
0"She hesitated with her fingers"
1"She’d been expecting Eva’s spare"
2"She never expected the man"
3"He was dressed, of course,"
4"His platinum-blond hair was slicked"
5"He looked exactly as he"
6"She should have slammed the"
7"She should have done any"
8"he said softly"
9"She could feel the crescent"
10"His gaze flicked over her"
11"She gave him a flat"
12"It was almost a smile,"
13"She should have shut the"
14"He stepped in with that"
15"She hated how quickly he"
16"She gave a bark of"
17"His eyes moved over her"
18"It should have been easier,"
19"They hung in the room"
ratio0.335
85.81% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount116
totalSentences155
matches
0"The first deadbolt came free"
1"She hesitated with her fingers"
2"Ptolemy, sprawled in a haughty"
3"She’d been expecting Eva’s spare"
4"She never expected the man"
5"He was dressed, of course,"
6"His platinum-blond hair was slicked"
7"The other was black, bottomless,"
8"He looked exactly as he"
9"Rory’s pulse stumbled, then tried"
10"Lucien’s mouth, which had always"
11"She should have slammed the"
12"She should have done any"
13"he said softly"
14"The words landed between them"
15"Rory’s hand tightened on the"
16"She could feel the crescent"
17"Someone downstairs was arguing in"
18"A motorbike rattled past on"
19"His gaze flicked over her"
ratio0.748
64.52% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount2
totalSentences155
matches
0"As if he had been"
1"Even Ptolemy had gone quiet,"
ratio0.013
75.63% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences85
technicalSentenceCount8
matches
0"He was dressed, of course, as if he had stepped out of a dark tailoring advertisement and into her life by mistake: charcoal suit fitted to his narrow waist, iv…"
1"Lucien’s mouth, which had always been too well-shaped for his own good, curved into something that was not quite a smile."
2"He stepped in with that smooth, silent grace he had, cane tapping once against the floorboards before he transferred his weight and glanced around Eva’s flat as…"
3"Hated that he could still unsettle her with a sentence and a look, as if the months apart had not happened, as if she had not spent entire nights convincing her…"
4"He was still by the door, cane planted, shoulders straight, as if he expected to be told to leave at any moment and had come prepared to obey if it meant he cou…"
5"The corner of his mouth curved in that slow, dangerous way that had once made her forget the shape of her own name."
6"She could feel the scar on her wrist under her fingers, a small hard ridge that had outlasted the childhood accident that made it."
7"Lucien, in the middle of her cluttered little flat, under the dim yellow light and the watchful stare of a cat who trusted no one, looked at her as if he had co…"
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags21
uselessAdditionCount1
matches
0"he said, each word measured,"
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags19
fancyCount4
fancyTags
0"Rory muttered (mutter)"
1"she heard (hear)"
2"he corrected (correct)"
3"he agreed (agree)"
dialogueSentences84
tagDensity0.226
leniency0.452
rawRatio0.211
effectiveRatio0.095
90.8307%