Run: 2026-03-18-01KM08PCQGF6TGD3CWSQ6JQBK8

Run Details

Duration:
17.8s
Cost:
$0.016585
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 had already been thrown, and the second was halfway over when the knock came. Not a polite one. Not the hesitant tap of a neighbor or the heavy fist of a drunk with no sense of time. This was a single, deliberate strike that landed like an accusation. Rory froze with her hand on the lock. Ptolemy, who had been draped across a stack of books on the hall table like a tabby lord surveying his kingdom, lifted his head and gave a low, offended chirp. Another knock, softer this time. Patient. Certain. Rory stared at the door, her pulse ticking up beneath her ribs. It was late enough that Brick Lane had gone thin and strange, the curry-house steam from below seeping through the floorboards in warm, spiced threads. Eva was out. Silas was downstairs. She was not expecting anyone. Which meant, in her line of work and in her life, that whoever stood on the other side of the door had either made a very bad decision or a very dangerous one. She slid the second deadbolt open and then the third, slow enough to hear the metal scrape in the narrow hall. Her left wrist brushed the doorframe, and the small crescent scar there caught a dull bloom of light from the lamp behind her. When she opened the door, Lucien Moreau stood in the corridor as if he had been placed there by an immaculate hand and approved of by no one. He was as she remembered and more infuriating for it. Tailored charcoal suit, the cut of it sharp enough to make the dim hall look unkempt by comparison. Platinum hair slicked back from his face. One amber eye, one black, both fixed on her with the same unnerving stillness. In one hand he held his ivory-handled cane; in the other, nothing at all, which somehow made him seem even more deliberate. There was no jacket speckled with rain, no sign of being winded by the climb. Only the faint, expensive scent of him—clean soap, cold fabric, and something darker beneath, something that always reminded her of struck matches and a room gone quiet. Rory didn’t move aside. Lucien’s gaze traveled over her once, quick and unembarrassed, taking in her plain T-shirt, the creased joggers, the bare feet she’d already kicked out of her shoes. “You look displeased to see me.” “You have a gift for understatement.” One corner of his mouth lifted. Not quite a smile. More like the memory of one. “May I come in?” “No.” He waited. She hated that. The patience. The absolute conviction that if he stood there long enough, reality would eventually become inconvenient and let him in. Rory folded her arms. “It’s after midnight, Lucien.” “I am aware.” “And you didn’t call.” “No.” “You didn’t text.” “No.” “You didn’t even have the courtesy to send one of your many terrifying acquaintances to knock on my door first, which would have at least given me the chance to pretend I had another appointment.” His eyes flicked over her face with a quiet precision that made heat prickle under her skin. “I thought you might appreciate the honesty of my arrival.” Rory gave a short, humorless laugh. “Honesty. That’s what we’re calling this?” His gaze sharpened. “Would you prefer a lie?” The words landed too cleanly. Too close to old wounds. For a moment she saw him as she had the last time they’d stood this near: a week of tension, a night too long, something said in a voice too soft to be safe. Then the crack of it all, the split that had sent her away furious and ashamed and aching in a way that made sleep impossible for three nights straight. Lucien had looked at her then with that same maddening composure, as if he could afford to be calm because he had never once risked breaking. Her fingers tightened against her arms. “What do you want?” she asked. For the first time, his expression changed. It was slight, nearly invisible—a shift around the mouth, a narrowing of the eyes. But she knew him too well to miss the caution that entered him there. “May I speak to you?” “You’re speaking.” “Inside.” Rory glanced over her shoulder. Eva’s flat was a disaster, every surface buried beneath books, loose pages, old receipts, and annotated scraps of paper with things like binding names and ward fragments scrawled across them. Ptolemy had already risen to his feet, tail twitching, as if he recognized trouble by its cologne. Rory did not want Lucien Moreau stepping into the one space she had managed to make feel almost safe. She also did not want to continue this argument in the hall where anyone passing could hear it, because the corridor walls were thin and Brick Lane loved gossip as much as it loved curry. She stepped back at last, not because she wanted to, but because the alternative was to keep standing there with her heart hammering like a warning. Lucien inclined his head in a manner that was almost courtly and moved past her with barely a whisper of fabric. The air changed when he entered. It always did. The flat seemed smaller around him, more crowded, as though the room itself knew how much space he occupied without needing to touch anything. Ptolemy immediately arched, hissed once, and stalked under the sofa with the offended dignity of a creature who had weighed the decision and found Lucien wanting. “Traitor,” Rory muttered. Lucien’s eyes tracked the cat’s retreat. “He dislikes me.” “He has standards.” That finally drew a real, fleeting curve of Lucien’s mouth. He was standing in the middle of the cramped sitting room now, cane angled loosely beside him, the soft overhead light catching on the edges of his cheekbones. He seemed absurdly out of place among the stacks of books and uneven piles of paper, like a knife laid carefully across a kitchen table. Dangerous in a way that promised usefulness if handled properly and blood if not. Rory shut the door behind him and locked the deadbolts again, one by one. The sound made her feel briefly steadier. When she turned back, Lucien was watching her wrists. Not the scar only. The way she’d moved. The tension in her hands. “What happened?” he asked. Rory barked a laugh. “Hello to you too.” “I asked a question.” “You always do.” “And you always avoid them.” She looked at him sharply. There was no edge in his voice now, no flirtation, no velvet amusement to disguise the steel beneath. It should have made him easier to read. It did not. Lucien was hardest to understand when he sounded most direct, because it meant he had already cut away everything unnecessary and left only the thing that mattered. Rory leaned her hip against the narrow kitchen counter. “If you’re here to revisit old grievances, I’d rather we did it over a bottle of something stronger than the tap water in this flat.” “I’m not here for grievances.” “Then this is a first.” His black eye, so dark it swallowed light, held hers. “May I sit?” She nearly told him no out of reflex. Instead she shrugged once. “If you promise not to make the sofa any more dramatic than it already is.” He crossed the room with that impossible economy of movement he had, each step quiet, measured. The suit jacket moved over his shoulders with tailored precision; even seated, he seemed to take up the room with the confidence of a man used to dangerous people making room for him. He rested his cane against the arm of the sofa, ivory handle gleaming pale against the scuffed fabric. Rory remained standing. Silence stretched between them, full of all the things they had not said before and had no right to bring back now. It made the flat feel even tighter. The curry smell from downstairs had deepened, gone almost sweet with onions and fried spices. Somewhere in the building, pipes clanged. Ptolemy rustled under the sofa, possibly plotting murder. Lucien folded one leg over the other with meticulous composure. “You have not answered my question.” “You asked too many.” “Then start with the one you find easiest.” There was no easy one. There was only Lucien, sitting in her living room at one in the morning like a complication with a pulse. Rory pushed off the counter and crossed her arms again, though it no longer hid anything. “Nothing happened.” His gaze did not leave her face. “That is rarely true.” “Nothing happened that concerns you.” A flicker, then. A small tightening around his mouth. “I see.” “No, you don’t.” His expression cooled by a degree. “Perhaps not. But I know when you are injured.” Rory went still. There it was. The thing under the thing. The reason he had come without warning, without call, without the elaborate shields he usually put between himself and everyone else. Not because he was careless. Never that. Because whatever had driven him here had pushed past his caution. The room seemed to narrow around the sentence. She hated him for noticing. Hated him more because part of her wanted to stand very close and let him see every bruise that life had left in her, as if he had earned the right simply by looking so intent. “I’m fine,” she said. “You are not.” “Lucien—” “Do not lie to me, Rory.” The use of her name, bare and plain, slid under her skin like a thumb over a fresh bruise. He almost never used it anymore. Not since they had broken apart. Not since names had begun to matter in the wrong ways. She swallowed. “Why are you here?” He was quiet a beat too long. When he answered, his voice was lower. “Because someone has been asking questions about you.” The air in the room shifted again, this time colder. Rory’s spine straightened. “Who?” “I do not know yet.” “That’s not an answer.” “It is the truth.” She stared at him, reading the careful set of his shoulders, the restraint in his hands. Lucien did not come to her flat at midnight unless he had already exhausted subtler means. Which meant he had probably spent the last several hours tracing a threat through London’s underbelly with the ruthless attention he reserved for very few things. That in itself was alarming. That he was here in person was worse. “What kind of questions?” she asked. Lucien’s eyes held hers. “The kind that suggest you have become relevant to someone’s plans.” Rory felt the first chill of real concern. “My plans?” “Not yours.” Something sharp passed between them, a recognition of how many plans she had once made and then been forced to abandon. Cardiff. Law. The life she had almost allowed to become inevitable. Then Evan. Then London. Then survival. She had gotten very good at keeping herself small enough not to be noticed. Apparently someone had failed to receive the memo. “Who noticed me?” she asked. Lucien’s jaw shifted. “That is what I intend to discover.” Rory let out a breath through her nose. “And you thought the best way to handle that was to show up at my flat in the middle of the night and scare my cat?” “I did not come to frighten your cat.” “You absolutely did.” A beat of silence. Then, to her surprise, Lucien said, “Yes.” The answer was so unguarded that Rory’s irritation faltered. He looked at her then, not with the polished detachment he wore in public, but with something rougher at the edges. It was there and gone in an instant, but she caught it. Concern, perhaps. Or guilt. Maybe both. They sat in the room like two people who had once known how to stand close without flinching, and now every inch between them was charged with memory. Rory rubbed a hand over her face. “You can’t just vanish for weeks and then turn up looking like you own the night, Lucien.” “I do not own the night.” “You act like it.” That almost made him smile again, but it faded before it could fully form. “You were not answering my messages.” Her hand dropped. “I was busy.” “You were avoiding me.” Her silence was answer enough. Lucien looked at her for a long moment, then said, very quietly, “I deserved that.” The words landed harder than any accusation. Rory’s throat tightened before she could stop it. She had expected him to argue. To tease. To deflect with elegant precision until she lost her temper and made his point for him. She had not expected acknowledgement. Not like this. Not in that controlled voice, stripped nearly bare. “Lucien—” “I know,” he said, and there was a bitterness in the single word, quickly buried. “You need not explain. I know I was not kind. I know I made assumptions. I know I left you no room to answer them.” Rory stared at him. The living room felt too warm, too intimate, too full of the old shape of him. She could still remember his hands on her waist, careful and certain. The weight of his gaze when he thought she wasn’t watching. The way he had looked at her as though he was always measuring some risk she had not agreed to take. And then the end of it. The hurt. The furious thing she had carried out of that room because staying would have meant asking for more than she could bear to need. He sat with his cane resting against his knee, posture immaculate, but there was tension under the polish now, a strain she had not seen before. It made him look younger for one impossible second. Less like the broker everyone feared and more like a man who had come to the wrong door and found the right one anyway. Rory’s voice came out quieter than she intended. “Why now?” Lucien’s gaze dropped, briefly, to her mouth. The movement was small. Honest. It struck her with the force of a hand closing around her pulse. When he looked back up, his expression had altered again, careful as ever, but the damage was done. “Because,” he said, and the word seemed to cost him more than he wanted to show, “I would rather argue with you in person than wonder who might be moving against you while I am elsewhere.” Something in her chest gave a small, traitorous ache. She hated that too. Hated the part of her that warmed at the implication he had chosen proximity over distance, that he had come because he was worried enough to violate every carefully drawn line between them. Hated even more that the worry might be sincere. “People don’t usually travel across London at midnight for someone they’re not supposed to care about,” she said. The silence after that was sudden and deep. Lucien’s face did not change much, but she saw the flicker at the edge of his eyes, the minute stillness that came with being caught too accurately. His gaze remained on her, steady and unreadable as stone. “No,” he said at last. “They usually do not.” Rory’s breath caught. For a second neither of them moved. Ptolemy made a single suspicious sound from under the sofa, then settled again, as if even he understood that whatever had entered the room now required caution. Lucien’s hand shifted on his cane. Not reaching for her. Not retreating either. Just moving, as though some tension in him had finally found a place to go. “You should tell me who has been asking after me,” Rory said, because she had to say something and because if she didn’t she might step closer, and if she stepped closer the old, dangerous gravity between them would do the rest. “I will.” “Sooner would be better.” “I know.” She looked at him, at the immaculate suit and the impossible eyes and the careful restraint that had always seemed less like composure than containment. Then she glanced toward the window, where the dark glass reflected a cramped room full of books and paper and one woman who had been trying very hard to build a life no one could disturb. When she looked back, Lucien was still watching her as if he had come here for more than information and neither of them was yet brave enough to name it. “Fine,” she said at last. “You can stay long enough to tell me what you know.” His expression shifted, so slight she might have imagined it. “Just long enough?” Rory’s mouth went dry. The flat was too small. The sofa was too close. Lucien’s voice had gone low and smooth again, but this time it held something warmer beneath it, something that reached under her defenses and made them feel flimsy. She hated that he could still do that. She hated that she could still feel it. “Don’t push your luck,” she muttered. Lucien leaned back a fraction, gaze never leaving her. “I would not dream of it.” But the look on his face said he already had.
created_at"2026-03-18T10:43:35.803Z" 3/18/2026, 10:43:35 AM
model"openai/gpt-5.4-mini-20260317"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency841
moderation_latency(null)
generation_time17544
tokens_prompt808
tokens_completion4403
native_tokens_prompt753
native_tokens_completion3560
native_tokens_completion_images0
native_tokens_reasoning0
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.01658475
router(null)
provider_responses
0
endpoint_id"9ee065b2-3d1c-43bc-bdd7-28af3b148282"
id"resp_0eef62641ffd45a50169ba81d7df908196940d06d2f7b20490"
is_byokfalse
latency188
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-1773830615-mYdli2J7rGpqxk5OVCkR"
upstream_id"resp_0eef62641ffd45a50169ba81d7df908196940d06d2f7b20490"
total_cost0.01658475
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
totalTags15
adverbTagCount0
adverbTags(empty)
dialogueSentences84
tagDensity0.179
leniency0.357
rawRatio0
effectiveRatio0
79.06% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2866
totalAiIsmAdverbs12
found
0
adverb"very"
count7
1
adverb"loosely"
count1
2
adverb"carefully"
count2
3
adverb"sharply"
count1
4
adverb"quickly"
count1
highlights
0"very"
1"loosely"
2"carefully"
3"sharply"
4"quickly"
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)
52.90% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2866
totalAiIsms27
found
0
word"sense of"
count1
1
word"pulse"
count3
2
word"flicked"
count1
3
word"tension"
count4
4
word"whisper"
count1
5
word"fleeting"
count1
6
word"velvet"
count1
7
word"measured"
count1
8
word"gleaming"
count1
9
word"silence"
count4
10
word"flicker"
count2
11
word"tracing"
count1
12
word"chill"
count1
13
word"absolutely"
count1
14
word"charged"
count1
15
word"weight"
count1
16
word"implication"
count1
17
word"unreadable"
count1
highlights
0"sense of"
1"pulse"
2"flicked"
3"tension"
4"whisper"
5"fleeting"
6"velvet"
7"measured"
8"gleaming"
9"silence"
10"flicker"
11"tracing"
12"chill"
13"absolutely"
14"charged"
15"weight"
16"implication"
17"unreadable"
100.00% Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches1
maxInWindow1
found
0
label"let out a breath"
count1
highlights
0"let out a breath"
100.00% Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells1
narrationSentences211
matches
0"was worried"
81.92% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount5
hedgeCount4
narrationSentences211
filterMatches
0"look"
1"feel"
2"see"
hedgeMatches
0"managed to"
1"seemed to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences280
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
maxSentenceWordsSeen42
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2864
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions31
unquotedAttributions0
matches(empty)
83.33% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions65
wordCount2379
uniqueNames9
maxNameDensity1.05
worstName"Rory"
maxWindowNameDensity2.5
worstWindowName"Lucien"
discoveredNames
Brick2
Lane2
Lucien23
Moreau2
Rory25
London2
Evan1
Ptolemy5
Hated3
persons
0"Lucien"
1"Moreau"
2"Rory"
3"Evan"
4"Ptolemy"
places
0"Brick"
1"Lane"
2"London"
globalScore0.975
windowScore0.833
100.00% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences137
glossingSentenceCount2
matches
0"seemed smaller around him, more crowded, as though the room itself knew how much space he occupied without needing to touch anything"
1"Apparently someone had failed"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches1
per1kWords0.349
wordCount2864
matches
0"not with the polished detachment he wore in public, but with something rougher at the edges"
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount3
totalSentences280
matches
0"understood that whatever"
1"hated that he"
2"hated that she"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs138
mean20.75
std22.91
cv1.104
sampleLengths
017
134
238
37
481
544
628
7113
84
933
106
1120
121
132
1424
158
163
174
181
193
201
2135
2227
2312
248
2510
2689
276
286
2940
302
311
32106
3326
3454
3526
363
379
383
3977
4021
419
4213
434
448
454
463
475
4861
4934
95.29% Passive voice overuse
Target: ≤2% passive sentences
passiveCount6
totalSentences211
matches
0"been thrown"
1"been draped"
2"been placed"
3"being winded"
4"been forced"
5"being caught"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount6
totalVerbs410
matches
0"was not expecting"
1"was standing"
2"was watching"
3"wasn’t watching"
4"was always measuring"
5"was still watching"
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount2
semicolonCount2
flaggedSentences4
totalSentences280
ratio0.014
matches
0"In one hand he held his ivory-handled cane; in the other, nothing at all, which somehow made him seem even more deliberate."
1"Only the faint, expensive scent of him—clean soap, cold fabric, and something darker beneath, something that always reminded her of struck matches and a room gone quiet."
2"It was slight, nearly invisible—a shift around the mouth, a narrowing of the eyes."
3"The suit jacket moved over his shoulders with tailored precision; even seated, he seemed to take up the room with the confidence of a man used to dangerous people making room for him."
80.29% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount2383
adjectiveStacks0
stackExamples(empty)
adverbCount149
adverbRatio0.06252622744439781
lyAdverbCount32
lyAdverbRatio0.013428451531682753
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences280
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences280
mean10.23
std8.99
cv0.879
sampleLengths
017
14
219
311
48
530
65
71
81
912
1025
113
123
135
1433
1521
1623
1728
1810
1918
207
2114
2222
2315
2427
254
2627
276
286
296
304
316
324
331
342
353
362
3719
384
394
403
414
421
433
441
4535
4617
4710
486
496
41.43% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats24
diversityRatio0.2571428571428571
totalSentences280
uniqueOpeners72
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount10
totalSentences186
matches
0"Only the faint, expensive scent"
1"More like the memory of"
2"Too close to old wounds."
3"Then the crack of it"
4"Instead she shrugged once."
5"Somewhere in the building, pipes"
6"Apparently someone had failed to"
7"Then, to her surprise, Lucien"
8"Just moving, as though some"
9"Then she glanced toward the"
ratio0.054
100.00% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount51
totalSentences186
matches
0"It was late enough that"
1"She was not expecting anyone."
2"She slid the second deadbolt"
3"Her left wrist brushed the"
4"He was as she remembered"
5"She hated that."
6"His eyes flicked over her"
7"His gaze sharpened."
8"Her fingers tightened against her"
9"It was slight, nearly invisible—a"
10"She also did not want"
11"She stepped back at last,"
12"It always did."
13"He was standing in the"
14"He seemed absurdly out of"
15"She looked at him sharply."
16"It should have made him"
17"It did not."
18"His black eye, so dark"
19"She nearly told him no"
ratio0.274
91.72% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount137
totalSentences186
matches
0"The first deadbolt had already"
1"This was a single, deliberate"
2"Rory froze with her hand"
3"Ptolemy, who had been draped"
4"Another knock, softer this time."
5"Rory stared at the door,"
6"It was late enough that"
7"Eva was out."
8"Silas was downstairs."
9"She was not expecting anyone."
10"She slid the second deadbolt"
11"Her left wrist brushed the"
12"He was as she remembered"
13"Platinum hair slicked back from"
14"Rory didn’t move aside."
15"Lucien’s gaze traveled over her"
16"She hated that."
17"The absolute conviction that if"
18"Rory folded her arms."
19"His eyes flicked over her"
ratio0.737
53.76% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount2
totalSentences186
matches
0"Because whatever had driven him"
1"To deflect with elegant precision"
ratio0.011
23.81% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences84
technicalSentenceCount14
matches
0"This was a single, deliberate strike that landed like an accusation."
1"Ptolemy, who had been draped across a stack of books on the hall table like a tabby lord surveying his kingdom, lifted his head and gave a low, offended chirp."
2"His eyes flicked over her face with a quiet precision that made heat prickle under her skin."
3"Then the crack of it all, the split that had sent her away furious and ashamed and aching in a way that made sleep impossible for three nights straight."
4"Lucien had looked at her then with that same maddening composure, as if he could afford to be calm because he had never once risked breaking."
5"Ptolemy had already risen to his feet, tail twitching, as if he recognized trouble by its cologne."
6"She stepped back at last, not because she wanted to, but because the alternative was to keep standing there with her heart hammering like a warning."
7"Lucien inclined his head in a manner that was almost courtly and moved past her with barely a whisper of fabric."
8"Lucien was hardest to understand when he sounded most direct, because it meant he had already cut away everything unnecessary and left only the thing that matte…"
9"Hated the part of her that warmed at the implication he had chosen proximity over distance, that he had come because he was worried enough to violate every care…"
10"Ptolemy made a single suspicious sound from under the sofa, then settled again, as if even he understood that whatever had entered the room now required caution…"
11"She looked at him, at the immaculate suit and the impossible eyes and the careful restraint that had always seemed less like composure than containment."
12"Then she glanced toward the window, where the dark glass reflected a cramped room full of books and paper and one woman who had been trying very hard to build a…"
13"Lucien’s voice had gone low and smooth again, but this time it held something warmer beneath it, something that reached under her defenses and made them feel fl…"
91.67% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags15
uselessAdditionCount1
matches
0"he said, and the word seemed to cost him more than he wanted to show,"
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags14
fancyCount2
fancyTags
0"Rory muttered (mutter)"
1"she muttered (mutter)"
dialogueSentences84
tagDensity0.167
leniency0.333
rawRatio0.143
effectiveRatio0.048
89.1727%