Run: 2026-03-09-01KK9Q7B875P1ZTZ85THH8XKGZ

Run Details

Duration:
2m 11s
Cost:
$0.079567
Provider:
OpenAI

Model input

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

Model response

AI
The door opened on Lucien Moreau, and for one stupid heartbeat Aurora forgot to breathe. Rain silvered the shoulders of his charcoal suit. Water clung to the slick shine of his platinum hair and ran in a thin line from his temple to the sharp angle of his jaw. He stood in the dim corridor above the curry house with one gloved hand braced on his ivory-handled cane, looking exactly like the sort of trouble sensible women learned to avoid. His eyes undid that thought at once. One was amber, warm as whiskey held to a flame. The other was black from lid to lid, unreadable as a locked room. Tonight both looked tired. “Bonsoir, Rory,” he said. Her hand stayed on the edge of the door. The three deadbolts hung open behind it, the metal still ticking from where she had thrown them back one by one. The smell of frying onions, cardamom, and wet brick drifted up the stairwell. Somewhere below, a pan clanged. Inside the flat, Ptolemy launched himself off a stack of books and hit the floor with a soft thump, already coming to investigate. Aurora found her voice. “You’ve got nerve.” A corner of Lucien’s mouth moved, not quite a smile. “So I’ve been told.” “You don’t get to turn up here like this.” “I’m aware this is not an ideal hour for social calls.” “It’s not the hour I object to.” She had imagined this moment often enough to hate herself for it. On bad nights, lying awake in the narrow bed Eva called a guest bed with more optimism than accuracy, Aurora had pictured opening some door somewhere in London and finding him there—smug, immaculate, impossible. In those fantasies she was cool. Cutting. Unmoved. The reality was messier. She noticed the rain first, then the smell of cold night air on his clothes, then the dark stain seeping through the fabric just under his left ribs. Her gaze dropped. “You’re bleeding.” He glanced down as if the fact had only just occurred to him. “A little.” “Don’t do that.” “Do what?” “Act as if being stabbed is mildly inconvenient.” She pushed the door wider before she could think better of it. “Get inside.” His brows lifted, but he obeyed. Lucien crossed the threshold with the careful grace of a man conserving strength, his cane clicking once against the worn floorboards. Ptolemy trotted up to him, tail high, then froze, puffed sideways, and produced an indignant hiss from somewhere near his tiny tabby soul. “Excellent,” Lucien murmured. “I see I remain popular.” Aurora shut the door hard enough to rattle the frame and shot all three deadbolts home. Habit, fear, and anger moved together in her hands. When she turned back, Lucien had not gone far. The flat did not allow for dignified distances. Books crowded every surface. Open scrolls and Eva’s loose notes colonized the sofa, the windowsill, two chairs, and half the kitchen counter. The only clear space was the strip of floor from the door to the kitchenette and the edge of the tiny table where Aurora had been sorting through a stack of copied pages. Lucien took it in with one sweeping glance. “Eva’s taste in organization remains terrifying.” “Eva isn’t here.” His gaze came back to her face at once. “No?” “She’s in Oxford chasing a professor who claims he’s translated a Sumerian fragment and isn’t actually trying to sell her a grocery list.” Aurora folded her arms. “I’m feeding the cat and keeping her notes from staging a coup.” “And answering doors after midnight. Reckless of you.” She laughed once, sharp and humorless. “You are not in a position to lecture me on reckless behavior.” Something flashed in his expression then—regret, maybe, or pain, though she didn’t trust herself to name anything soft on his face. He set his cane against the table. The movement made him sway. Not much. Enough. Aurora’s irritation snapped into focus. “Sit down.” “Rory—” “Sit.” This time there was no attempt at wit. He lowered himself onto the edge of the sofa, shifting a small avalanche of notebooks and one rolled map onto the floor. His breath shortened once, quickly hidden. Up close, the damage was worse. The blood had spread under his jacket in a dark, wet bloom. Aurora went for the first-aid tin under the sink. Her pulse beat hard in her throat. She hated that her hands were steady. Hated more that part of her was relieved—furiously, shamefully relieved—to see him breathing at all. Six months, she thought while she found scissors, antiseptic, clean cloth. Six months of nothing. Not a note. Not a call. Not even one of his infuriatingly cryptic messages slipped through the right channels. The last thing he had given her was a look on a wet pavement in Soho and a sentence sharp enough to leave a scar. You are a complication I cannot afford. She carried the tin back to him and dropped it on the table with a metallic clatter. “Take off the jacket.” He looked up at her. “You’ve become very authoritative.” “I deliver takeaway on a scooter through central London traffic. Being polite stopped being my first instinct ages ago.” The faintest real smile touched his mouth and vanished again. He shrugged carefully out of the jacket. The waistcoat beneath was ruined on one side, cut cleanly and soaked dark. Aurora crouched in front of him, scissors in hand. “Who did it?” “A gentleman with poor impulse control.” “Lucien.” “A wraithbound collector from Limehouse. He objected to my terms.” “Your terms being what?” “That he refrain from opening a gate in the East End.” She looked up sharply. “He what?” “Attempted to. Past tense, fortunately.” “And you thought the logical next step was to come bleeding to Eva’s flat?” “I thought the logical next step was to avoid every address my enemies know and come to the one place they would not expect me.” “That’s flattering,” she said. “Using me as your least predictable option.” His black eye held hers. “I did not say least.” The air in the cramped room shifted. Aurora hated that her chest answered it. She set the scissors to the waistcoat instead. “Lift your shirt.” He obeyed. The wound sat just above his hip, more slice than stab, but deep enough to matter. Blood welled sluggishly. Not mortal, if she worked quickly. Not trivial either. “Hold this.” She pressed a folded cloth into his hand and added pressure with her own. His skin was hot beneath the ruined linen. Not fever-hot. Something else. Something not entirely human. She knew that warmth. She remembered it against her palms, at her throat, in the hollow beneath her ear the one and only time he had let himself forget caution. That memory was no help at all. Lucien watched her work. “You have not asked why I came to you specifically.” “I assume because every other woman in London had better boundaries.” “Cruel.” “Earned.” He exhaled through his nose. “Yes.” The easy admission unsettled her more than a lie would have. Aurora reached for the antiseptic. “This is going to sting.” “I’ve survived your opinion. I’ll survive—” He bit off the rest as she poured. His hand clenched over the cloth. Color sharpened in his cheekbones. “Good,” she said. “I’m glad it hurts.” “I had gathered that.” She cleaned the wound in efficient, angry strokes. Ptolemy jumped onto the arm of the sofa, stared at Lucien with round accusing eyes, then seemed to decide a weakened adversary was acceptable. He stepped delicately onto Lucien’s good shoulder, turned once, and sat. Aurora blinked. “Traitor.” Lucien glanced sideways at the cat now draped against his neck. “At last, someone in this room recognizes quality.” “Don’t push it.” She taped fresh dressing into place and sat back on her heels. Her shoulder brushed his knee in the process. The contact should have been accidental, meaningless. It landed like a struck match. For a second neither of them moved. She became aware of everything at once: the rain ticking against the window, the hum of the refrigerator, spice rising from the curry house below, Lucien’s breath slowed under the edge of pain, the precise weight of his gaze on her face. The flat was too small for distance and too full of old ghosts for comfort. Aurora stood before the silence could do something reckless. “You can stay until the rain eases.” “It has almost stopped.” “Then until you can walk without pretending not to be injured.” His expression shifted. “Rory.” “What?” “I did not come because I had nowhere else to go.” She busied herself recapping the antiseptic. “That’s a pity. It would at least be practical.” “I came because after six months of proving to myself I could keep away, I found I was very tired of my own discipline.” Her hands stilled. She set the bottle down too carefully. “That line might work on people who haven’t met you before.” “It is not a line.” “No?” She turned to face him fully, anger rising at last into something clean and bright. “What would you call it, then? Because from where I was standing, Lucien, it looked very much like you disappearing after deciding for both of us what I could handle.” He held her gaze. “I decided what would keep you alive.” “There it is.” She let out a sharp breath. “That arrogant, infuriating thing you do where you dress control up as protection.” His jaw tightened. “You were being watched because of me.” “I know that now.” “And had I stayed, they would have kept watching.” “Then you should have told me the truth.” A beat passed. Rain whispered at the glass. “Yes,” he said quietly. “I should have.” The simplicity of it knocked some of the heat from her. She had prepared herself for charm, for deflection, for one of his polished half-truths. Not this bare, unornamented surrender. Aurora folded her arms, partly to hold herself together. “Do you know what was worst?” He waited. “You looked me in the face and made it sound as if I meant nothing. As if all of it had been convenience.” Her voice stayed steady by force. “I could have forgiven danger. I could have forgiven secrets, eventually. I don’t know if I can forgive being made to feel foolish.” Lucien went very still. Even Ptolemy seemed to sense the change and lifted his head. “When I was younger,” Lucien said after a moment, “my mother told me that men like my father never hesitate to use affection as leverage. She said if I inherited anything from him, it would not be the obvious things people fear. It would be the instinct to keep what I wanted by whatever means were available.” He glanced down at his bloodstained shirt, then back at Aurora. “So when I realized how much you had become to me, I chose the cruelest exit I could devise. I wanted you angry enough to shut the door if anyone asked questions.” Aurora stared at him. “That is not an excuse,” he said. “It is only the truth.” The room seemed smaller than ever. Her throat ached with things she had not permitted herself to say. She remembered him on a bridge in winter fog, one gloved hand warm at her back. Remembered the press of his mouth to hers in the shadow of a churchyard wall after they had both come within inches of dying. Remembered the way he had looked at her then, unguarded and almost astonished, as if wanting her were the one thing in his life he had not planned for. “I hated you,” she said. “I know.” “I tried very hard to.” “And?” She gave a brittle little laugh. “And you’ve been here less than ten minutes and I’m kneeling on the floor patching you up.” Something in him softened. It showed more clearly when he was exhausted; the polish thinned, and the man underneath turned dangerously human. “I hated myself for leaving,” he said. “That’s not nearly sufficient punishment.” “No,” he agreed. “But I suspect your company may provide the rest.” She should have smiled. Instead her eyes burned. Annoyed, Aurora looked away toward the window. Brick Lane gleamed black and amber under the streetlamps. A bicycle hissed through a puddle below. When she spoke again, her voice was quieter. “Why tonight?” Lucien’s answer came without pause. “Because a man tried to carve my name out of me in Limehouse, and while I was deciding whether to kill him or merely ruin his decade, I discovered that the only person I wished to see afterward was you.” Her pulse stumbled. “That is still a terrible line,” she said. “It’s true.” “That doesn’t improve it much.” “At least I’m consistent.” She looked back at him then. Really looked. His perfect suit was wrecked. His cane leaned forgotten against the table. Strands of pale hair had fallen loose from their severe arrangement. He looked tired enough to tell the truth and proud enough to hate it. Aurora stepped closer before caution could drag her back. “If you disappear again,” she said, “I will find you.” A flicker of heat lit his amber eye. “Is that a threat?” “Yes.” “Good.” Her hand rose almost of its own accord and touched his jaw. His skin was cool where the rain still clung, warm beneath it. He closed his eyes for the briefest moment, and the trust in that tiny surrender undid her more efficiently than any practiced seduction could have. When his eyes opened, the black one was impossible as midnight, the amber one bright and intent. “Rory.” She should have made him earn more. Made him explain every missing day, every silence, every cut he’d left in her pride. Sensible women would have. Aurora had never claimed sainthood, and she had long ago stopped pretending she did not know what she wanted. So she leaned in. The kiss began carefully, almost formally, like the first line of a confession. His mouth was cool from the night, then warm, then devastatingly familiar. She tasted rain and the faint iron edge of blood and something darkly sweet that was only Lucien. He made a small sound against her lips, the sound of a man whose self-control had cost too much and was finally slipping. Aurora slid one hand to the nape of his neck. Ptolemy, with excellent timing and no respect for passion, objected to being displaced and hopped down to the sofa cushion with a put-upon chirrup. Lucien drew back a fraction, forehead touching hers. His breath fanned warm over her mouth. “I am trying,” he murmured, “to remember that I am injured and in debt to your mercy.” “You should also remember I’m still angry with you.” “I had not forgotten.” “Good.” She kissed him again anyway. This time there was nothing formal about it. His hand came to her waist, careful of his side, then tightened as if he could not help himself. The room narrowed to heat, breath, the rough edge of the sofa against the back of her calves, the rustle of paper as one of Eva’s research stacks surrendered to gravity and slid unnoticed to the floor. When they finally broke apart, Aurora stayed close enough to feel the rise and fall of his chest. “You’re not sleeping on the street,” she said. “An admirable concession.” “You’re sleeping on the sofa.” “A brutal refinement.” “You can have a blanket and exactly one painkiller, because I don’t trust you not to insist you’re fine and then bleed on Eva’s notes.” He looked at her mouth, then met her eyes. “You are very beautiful when issuing orders.” She felt the traitorous heat rise in her face and hated that he noticed. Of course he noticed. Lucien noticed everything. “Don’t flirt,” she said. “As you wish.” He sounded far too pleased for a man who had just been reprimanded. Aurora picked up the fallen notebooks and stacked them on the table. Her hands were no longer entirely steady. Neither, she suspected, was the rest of her life. But the ache in her chest had changed shape. It was still there, still tender, still dangerous. It was no longer empty. Behind her, Lucien reached for his cane and failed to hide the wince this time. Aurora turned at once. “Don’t be heroic. It’s vulgar.” A real smile came then, slow and helpless and so unguarded it stole what breath she had left. “Yes, ma chère,” he said. Outside, the rain tapered into silence. Inside the cramped flat above Brick Lane, with the cat glaring from the sofa and the deadbolts set hard against the night, Aurora went to get him a blanket and knew with a terrible, radiant certainty that complicated was not even close to the word for what came next.
created_at"2026-03-09T16:34:59.473Z" 3/9/2026, 4:34:59 PM
model"openai/gpt-5.4-20260305"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency37510
moderation_latency(null)
generation_time130478
tokens_prompt808
tokens_completion5358
native_tokens_prompt753
native_tokens_completion5179
native_tokens_completion_images0
native_tokens_reasoning1577
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.0795675
router(null)
provider_responses
0
endpoint_id"9ff5625c-403f-4d7f-b895-58ac7295062c"
id"resp_0b327acd65d71ccf0169aef6b38b108193899a34bd98b1b036"
is_byokfalse
latency182
model_permaslug"openai/gpt-5.4-20260305"
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-1773074099-WqvAa87Wl829w18fupbO"
upstream_id"resp_0b327acd65d71ccf0169aef6b38b108193899a34bd98b1b036"
total_cost0.0795675
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
totalTags22
adverbTagCount1
adverbTags
0"he said quietly [quietly]"
dialogueSentences117
tagDensity0.188
leniency0.376
rawRatio0.045
effectiveRatio0.017
76.96% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2821
totalAiIsmAdverbs13
found
0
adverb"quickly"
count2
1
adverb"very"
count6
2
adverb"carefully"
count3
3
adverb"sharply"
count1
4
adverb"really"
count1
highlights
0"quickly"
1"very"
2"carefully"
3"sharply"
4"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)
68.10% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2821
totalAiIsms18
found
0
word"unreadable"
count1
1
word"pulse"
count2
2
word"the last thing"
count1
3
word"predictable"
count1
4
word"warmth"
count1
5
word"unsettled"
count1
6
word"efficient"
count1
7
word"weight"
count1
8
word"silence"
count3
9
word"charm"
count1
10
word"affection"
count1
11
word"perfect"
count1
12
word"flicker"
count1
13
word"familiar"
count1
14
word"radiant"
count1
highlights
0"unreadable"
1"pulse"
2"the last thing"
3"predictable"
4"warmth"
5"unsettled"
6"efficient"
7"weight"
8"silence"
9"charm"
10"affection"
11"perfect"
12"flicker"
13"familiar"
14"radiant"
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
narrationSentences202
matches
0"was relieved"
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount0
hedgeCount2
narrationSentences202
filterMatches(empty)
hedgeMatches
0"seemed to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences297
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
maxSentenceWordsSeen68
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2817
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions30
unquotedAttributions0
matches(empty)
83.33% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions57
wordCount1975
uniqueNames9
maxNameDensity1.22
worstName"Aurora"
maxWindowNameDensity2.5
worstWindowName"Lucien"
discoveredNames
Lucien18
Moreau1
Aurora24
Ptolemy5
Eva3
London1
Soho1
Lane2
Brick2
persons
0"Lucien"
1"Moreau"
2"Aurora"
3"Ptolemy"
4"Eva"
places
0"London"
1"Soho"
2"Lane"
3"Brick"
globalScore0.892
windowScore0.833
93.18% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences132
glossingSentenceCount3
matches
0"not quite a smile"
1"seemed smaller than ever"
2"as if wanting her were the one thing in his life he had not planned for"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches0
per1kWords0
wordCount2817
matches(empty)
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount5
totalSentences297
matches
0"undid that thought"
1"hated that her"
2"hated that her"
3"knew that warmth"
4"hated that he"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs153
mean18.41
std19.97
cv1.085
sampleLengths
015
165
27
327
44
571
67
714
89
911
107
1154
1232
135
1415
153
162
1722
1850
198
2097
2114
223
2310
2439
258
2618
2736
287
291
301
3154
3238
3359
347
3521
369
3719
3839
393
406
411
4210
434
4411
456
465
4714
4825
4911
94.84% Passive voice overuse
Target: ≤2% passive sentences
passiveCount6
totalSentences202
matches
0"was relieved"
1"was ruined"
2"was exhausted"
3"was wrecked"
4"being displaced"
5"been reprimanded"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount1
totalVerbs345
matches
0"was finally slipping"
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount4
semicolonCount1
flaggedSentences4
totalSentences297
ratio0.013
matches
0"On bad nights, lying awake in the narrow bed Eva called a guest bed with more optimism than accuracy, Aurora had pictured opening some door somewhere in London and finding him there—smug, immaculate, impossible."
1"Something flashed in his expression then—regret, maybe, or pain, though she didn’t trust herself to name anything soft on his face."
2"Hated more that part of her was relieved—furiously, shamefully relieved—to see him breathing at all."
3"It showed more clearly when he was exhausted; the polish thinned, and the man underneath turned dangerously human."
84.75% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount1985
adjectiveStacks0
stackExamples(empty)
adverbCount114
adverbRatio0.05743073047858942
lyAdverbCount31
lyAdverbRatio0.015617128463476071
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences297
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences297
mean9.48
std8.63
cv0.91
sampleLengths
015
18
226
331
47
510
613
74
84
99
1021
1113
125
1323
144
153
1610
174
189
1911
207
2112
2234
236
241
251
264
2728
283
292
3013
312
323
332
3420
352
366
3721
3823
393
405
4116
429
439
448
454
4618
4733
488
496
45.29% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats14
diversityRatio0.28619528619528617
totalSentences297
uniqueOpeners85
56.18% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount3
totalSentences178
matches
0"Somewhere below, a pan clanged."
1"Instead her eyes burned."
2"Of course he noticed."
ratio0.017
55.96% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount73
totalSentences178
matches
0"He stood in the dim"
1"His eyes undid that thought"
2"Her hand stayed on the"
3"She had imagined this moment"
4"She noticed the rain first,"
5"Her gaze dropped."
6"He glanced down as if"
7"She pushed the door wider"
8"His brows lifted, but he"
9"His gaze came back to"
10"She laughed once, sharp and"
11"He set his cane against"
12"He lowered himself onto the"
13"His breath shortened once, quickly"
14"Her pulse beat hard in"
15"She hated that her hands"
16"You are a complication I"
17"She carried the tin back"
18"He looked up at her."
19"He shrugged carefully out of"
ratio0.41
55.51% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount144
totalSentences178
matches
0"The door opened on Lucien"
1"Rain silvered the shoulders of"
2"Water clung to the slick"
3"He stood in the dim"
4"His eyes undid that thought"
5"The other was black from"
6"Tonight both looked tired."
7"Her hand stayed on the"
8"The three deadbolts hung open"
9"The smell of frying onions,"
10"Aurora found her voice."
11"A corner of Lucien’s mouth"
12"She had imagined this moment"
13"The reality was messier."
14"She noticed the rain first,"
15"Her gaze dropped."
16"He glanced down as if"
17"She pushed the door wider"
18"His brows lifted, but he"
19"Lucien crossed the threshold with"
ratio0.809
28.09% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount1
totalSentences178
matches
0"Even Ptolemy seemed to sense"
ratio0.006
100.00% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences69
technicalSentenceCount3
matches
0"Lucien crossed the threshold with the careful grace of a man conserving strength, his cane clicking once against the worn floorboards."
1"Remembered the way he had looked at her then, unguarded and almost astonished, as if wanting her were the one thing in his life he had not planned for."
2"His hand came to her waist, careful of his side, then tightened as if he could not help himself."
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags22
uselessAdditionCount0
matches(empty)
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags17
fancyCount4
fancyTags
0"Lucien murmured (murmur)"
1"She pressed (press)"
2"he agreed (agree)"
3"he murmured (murmur)"
dialogueSentences117
tagDensity0.145
leniency0.291
rawRatio0.235
effectiveRatio0.068
88.0725%