Run: 2026-07-09-01KX41AY6PTDW627314DZSKNJZ

Run Details

Duration:
22.8s
Cost:
$0.023079
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 the third deadbolt, and Lucien Moreau stood on the landing as if he had been invited. He wore a charcoal suit sharp enough to cut the yellow light spilling from the flat. Rain silvered the shoulders of his coat and gathered in bright beads along his slicked-back platinum hair. One gloved hand rested on the ivory handle of his cane. The other held nothing at all, which somehow made his arrival more alarming. For three seconds, neither of them spoke. Then Ptolemy wound around Aurora’s ankles and yowled. “Hello, Rory.” His voice had not changed. Low, polished, touched by Marseille and too many secrets. It still found the softest place beneath her ribs and pressed there. Aurora tightened her grip on the door. “You’re at the wrong address.” Lucien’s amber eye caught the light. His other eye, black as spilled ink, fixed on her face without blinking. “I’m not.” “You could have called.” “I did.” “You sent a message.” “Three, actually.” “I deleted them.” “I noticed.” The flat smelled of cardamom from the curry house below, damp wool, and the scorched paper Aurora had been burning in the kitchen sink. Behind her, Eva’s cramped one-bedroom had surrendered whatever claim it once made to order. Books climbed the walls in unstable towers. Scrolls lay open across the floor. Research notes covered the coffee table, the sofa, and half the windowsill, their ink bleeding where rain had forced its way through the warped frame. Lucien’s gaze moved over the mess and returned to her. He had always been good at seeing what she wanted hidden. Aurora’s fingers brushed the small crescent scar on her left wrist. A nervous habit she had never managed to break. “Eva isn’t here.” “I know.” “Then you’ve come to the wrong person twice.” “No.” His jaw tightened. “I’ve come to the only person who can help me.” That was almost funny. It would have been, if his face had not looked so tired. Aurora leaned against the doorframe, careful not to let her eyes travel down the familiar lines of him. Lucien had always dressed as if the world were a negotiation and he had arrived with the better contract. Tonight his shirt collar was open at the throat. There was a dark stain along his left cuff. Blood, she thought. Not enough to kill him. Enough to make her pulse change. “What happened?” His mouth curved without humor. “You were about to tell me I’d come to the wrong person.” “I’m still considering it.” “Consider faster.” The old Lucien would have made it sound like an order. This one sounded like a request dragged over broken glass. Aurora looked past him into the narrow stairwell. Empty. The curry house below thudded with music, and someone shouted in Bengali from the kitchen. Brick Lane pressed its usual chaos against the windows: buses grinding over wet streets, voices rising beneath umbrellas, the greasy warmth of food escaping into the rain. “No,” she said. His expression did not move, but something in his shoulders went still. “No?” “No, you can’t come in.” “Rory.” She hated the way he said her name. Not because it was cruel. Because it wasn’t. Lucien had said it in a dozen languages, in crowded rooms and dark corridors, in the quiet after they had stopped pretending they were only allies. He had said it once against her hair while she slept, believing she could not hear him. She had heard him. She had also heard him tell someone over the telephone that she was a liability. The memory came back with the clean edge of a blade. Aurora’s blue eyes hardened. “You don’t get to show up at Eva’s flat after six months and use my name like nothing happened.” “I don’t expect nothing to have happened.” “Good.” “I expected you to be angry.” “I am.” “I expected you to refuse me.” “You’re very perceptive.” “I was hoping you’d do it after hearing me out.” “That’s optimistic.” Lucien’s hand shifted on the cane. The ivory handle gleamed beneath his fingers. She knew what lay concealed inside it: a thin blade, elegant and vicious. She had once held it against his throat in a warehouse in Camden while he laughed softly and told her she had a beautiful sense of proportion. She had kissed him five minutes later. Then he had lied to her. Aurora began to close the door. Lucien caught it with his palm. The motion was quick, but not aggressive. He could have forced his way through; she knew that. He was half-demon, stronger and faster than any human had a right to be, and he had spent half his life making people believe he was merely dangerous in ordinary ways. Instead, he let the door press into his hand and looked at her with that infuriating, measured attention. “I’m bleeding,” he said. “You mentioned that.” “Someone is trying to kill me.” “More specifically, someone from Avaros is trying to kill you.” Her hand stopped on the door. Rain ticked against the stairwell window. For one suspended moment, the flat seemed to contract around them. Lucien’s black eye remained unreadable. His amber one was not. A faint gold shimmer moved through it, the only sign that the demon blood beneath his skin had been stirred. “How do you know?” she asked. “I recognize the knife.” That sent a cold line down her spine. “You brought it here?” “No.” “Is it in the building?” “I don’t think so.” “You don’t think so?” “I was distracted.” “By what?” “By the person trying to kill me.” Despite herself, Aurora glanced at the blood on his cuff. “You’re not funny.” “I’ve been told.” “By me.” “Frequently.” She should have shut the door. She should have called Silas downstairs, or Eva, or the police—though the police would be useless against anything that had crossed from Avaros. She should have let Lucien bleed on the landing until he remembered the part where he had walked away from her. Instead, she opened the door wider. “Five minutes,” she said. “You step outside the moment I decide I’m done.” His eyes dropped to the threshold, then returned to hers. “Agreed.” He entered without brushing against her. That restraint hurt more than contact would have. Ptolemy darted between Lucien’s ankles and vanished beneath a chair. Lucien glanced after him. “The cat still hates me.” “He has good instincts.” “He scratched a demon in my employ.” “Then he has excellent instincts.” The corner of Lucien’s mouth lifted. It was an old expression, a private one, and Aurora felt the treacherous warmth of recognition before she could stop it. She turned away. “Sit.” “There’s no need.” “Bleeding people don’t get to argue about furniture.” “I’m not bleeding badly.” “Then you won’t object to sitting.” He lowered himself onto the edge of the sofa, moving with a stiffness he tried to conceal. Aurora crossed to the kitchen and opened the cupboard beneath the sink. Eva kept medical supplies beside the cleaning products because Eva believed organization was a conspiracy invented by people with too much time. Behind her, Lucien said, “You’re still living above Silas’ bar?” “No.” “You moved?” “No.” “Then you’re visiting Eva.” “I am.” “Why?” “Because she asked me to help with research.” “About the Avaros gate?” Aurora looked over her shoulder. “You don’t get to interrogate me in someone else’s flat.” “I’m not interrogating you.” “You’re asking questions in a tailored suit while bleeding onto Eva’s sofa.” His gaze dropped briefly to the sofa cushion. “It’s not a good suit.” “All your suits are good.” The words escaped before she could catch them. Silence filled the flat. Lucien looked at her. The rain, the curry house music, the pipes knocking in the walls—all of it fell away beneath the weight of his attention. Aurora found gauze and antiseptic and shut the cupboard too hard. “Take off your coat.” “I can manage.” “Lucien.” His name landed between them with more force than she intended. He obeyed. The coat slid from his shoulders. Beneath it, his suit was immaculate except for the blood darkening his shirt near the ribs. Aurora had seen him wounded before. She had cleaned a cut along his temple in the back room of Silas’ bar while he flirted with her to keep from admitting he was in pain. She had watched him heal from a bullet wound in under an hour. This injury had not healed. That frightened her. “Lift your shirt.” His amber eye sharpened. “You always did know how to make a man feel welcome.” “Keep talking and I’ll use the antiseptic in your mouth.” “Some things haven’t changed.” Her throat tightened. “No. Some things haven’t.” He raised his shirt. The cut ran beneath his ribs, narrow and black at the edges. Not blood. Something darker had soaked into the wound, branching under his skin like ink in water. The air around it carried a metallic tang and a faint smell of ash. Aurora crouched in front of him, close enough to feel the heat of his body through his shirt. She had forgotten how much space Lucien took up even while sitting still. His knees bracketed hers. His cane rested against the arm of the sofa, its blade hidden, its ivory handle gleaming beside her hand. “What did this?” she asked. “A thorn.” “From what?” “An ash tree.” “Trees don’t usually leave demonic residue.” “This one did.” “Where were you?” “Whitechapel.” “Near the old chapel?” “Yes.” “Why?” His gaze lowered to her face. “Because you were there.” Her hand paused over the wound. “What?” “I went to find you.” “You knew I was at Eva’s.” “I suspected.” “And you followed me?” “I was trying to protect you.” Aurora laughed once, quietly. There was no humor in it. “You don’t get to use that word.” “I know.” “Do you? Because the last time you were trying to protect me, you told an Avaros broker that I was expendable.” Lucien flinched. It was small. Barely there. But she saw it. Good, she thought. Let him feel one thing she had felt. “I never said you were expendable.” “You said I was a liability.” “I said you were in danger.” “You said I compromised the operation.” “You did.” Her hand curled around the gauze. “I compromised the operation because you left me in a room with a demon who wanted my blood.” “I went back.” “After you closed the door.” “I had to draw him away.” “You left me.” “I came back.” “Too late.” His face had gone pale beneath its olive warmth. The black eye remained fixed on her, while the amber one brightened with something dangerously close to pain. Aurora should have wanted an apology. She had wanted one for six months. But now that he was in front of her, injured and furious and still looking at her as if she were the one person in the world he could not deceive, the old hunger tangled with the old hurt until she could not separate them. “Why didn’t you tell me?” she asked. “Tell you what?” “That you were leaving.” “I wasn’t leaving.” “You vanished.” “I was trying to keep them from finding you.” “You could have said goodbye.” His mouth tightened. “You would have asked me to stay.” “Yes.” “That was the problem.” The gauze trembled in her hand. Lucien’s voice dropped. “You would have asked me to stay, and I would have. Then they would have used you to reach me, or me to reach you, and I would have done something unforgivable.” “You already did.” “I know.” The admission stripped the argument bare. Aurora pressed the gauze to his wound. Lucien inhaled sharply. His hand closed around the edge of the sofa, knuckles whitening. “Hold still.” “I am holding still.” “You’re shaking.” “So are you.” She glanced up. They were too close. His face was only inches from hers, his platinum hair falling loose at the temple, his scent familiar beneath the rain and smoke: cedar, expensive soap, and the strange warmth that clung to him when the demon blood rose. “I’m angry,” she whispered. “I know.” “I don’t forgive you.” “I know.” “I still think about you.” The words left her before she could bury them. Lucien went utterly still. Aurora’s pulse beat hard in her wrist, directly beneath the crescent scar. She wished she could take the confession back, but his gaze had already caught it, held it, made it real. “So do I,” he said. She looked away first. His fingers closed around her wrist—not hard, never hard, but with enough certainty to stop her from retreating. His thumb rested over the scar. “I thought about you every day,” he said. “That sounds convenient.” “It was not.” “You had six months to say it.” “I had six months to stay away.” “And how did that work out?” “Poorly.” The answer was so plainly Lucien that a laugh broke out of her, startled and unwilling. It shook loose something in his expression. For the first time since he arrived, he looked less like a fixer negotiating survival and more like the man who had once fallen asleep with his head in her lap while she read through stolen court records. Ptolemy emerged from beneath the chair, leapt onto the windowsill, and knocked a stack of notes onto the floor. Neither of them moved. Lucien’s thumb traced the edge of her scar. His touch was warm. “I didn’t come here expecting forgiveness.” “Why did you come?” “To warn you.” “About the gate?” “About what’s coming through it.” The softness between them narrowed, but did not vanish. Aurora withdrew her wrist. “Tell me.” “I will. But first you need to leave this flat.” “Eva’s research is here.” “The research is why they’ll come.” “Then I’m not leaving it.” “Rory—” “No.” She stood, bringing them suddenly face-to-face. “You don’t get to disappear, return bleeding, issue instructions, and expect me to run because you’re frightened.” “I’m not frightened.” “You came to me.” “Yes.” The word struck harder than denial. Lucien rose. He swayed once, so slightly another person might have missed it. Aurora caught his arm. Beneath the fine wool of his jacket, muscle tightened. His free hand found her waist to steady himself. They froze. His hand fit there as if it remembered the shape of her. Aurora could feel each finger through her shirt. His breath touched her cheek. “You’re still hurt,” she said. “I noticed.” “Sit down.” “Are you going to make me?” “If necessary.” His gaze dropped to her mouth. “You always were persuasive.” The old heat returned, immediate and brutal. She hated it. She wanted it. She had spent six months building a life around the empty space he left, and he had crossed the threshold and filled it in one breath. “Don’t,” she whispered. “Don’t what?” “Look at me like that.” “I’m looking at you.” “You know what you’re doing.” “Yes.” The honesty undid her more completely than an apology could have. Aurora gripped his lapel. “You don’t get to come back and make this easy.” “I have never made anything easy for you.” “No.” “But I can try.” She should have pushed him away. Instead, she pulled him closer. The kiss was not gentle. It carried six months of silence, the anger she had polished until it shone, the attraction she had denied so often it had become another form of devotion. Lucien made a rough sound against her mouth and caught her with both arms, careful even now, as if she were something breakable and he had not already broken her once. His cane struck the floor. Aurora’s hand slid into his hair, ruining its careful arrangement. He kissed her like a man who had been starving and had finally remembered the taste of bread. His mouth moved over hers with all the restraint he had shown at the door, and then without any restraint at all. When she pulled back, both of them were breathing hard. “This changes nothing,” she said. Lucien rested his forehead against hers. “It changes one thing.” “What?” “I’m not leaving again without saying goodbye.” She closed her eyes. Outside, thunder rolled over Brick Lane. Somewhere below, a glass shattered in the curry house and someone shouted. Ptolemy yowled at the window, fur lifting along his spine. Aurora opened her eyes. Lucien turned toward the sound, his expression sharpening. The darkness in his wound stirred beneath the gauze. “What is it?” she asked. He reached for his cane. “The thing that followed me,” he said. “It found us.” Aurora stepped beside him, shoulder brushing his. This time, when he looked at her, she did not mistake fear for distance. “Then,” she said, “you’d better tell me everything.” His fingers closed around hers. “Everything,” Lucien agreed.
created_at"2026-07-09T18:13:14.59Z" 7/9/2026, 6:13:14 PM
model"openai/gpt-5.6-luna-20260709"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency1382
moderation_latency(null)
generation_time22582
tokens_prompt808
tokens_completion4821
native_tokens_prompt753
native_tokens_completion3721
native_tokens_completion_images0
native_tokens_reasoning82
native_tokens_cached0
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"completed"
service_tier"default"
usage0.023079
router(null)
provider_responses
0
endpoint_id"eebea444-34a5-4642-a766-cb319471d33a"
id"resp_01d733a41d1db63e016a4fe4baaa908197b6f1b2f282757e7c"
is_byokfalse
latency237
model_permaslug"openai/gpt-5.6-luna-20260709"
provider_name"OpenAI"
status200
user_agent"langchainjs-openai/1.0.0 ((node/v24.18.0; linux; x64))"
http_referer(null)
request_id"req-1783620794-LIp8hMN4KBuD6xjbYJmr"
session_id(null)
preset_id(null)
api_type"completions"
id"gen-1783620794-p9c2MAiuPXLsIAm0koQS"
upstream_id"resp_01d733a41d1db63e016a4fe4baaa908197b6f1b2f282757e7c"
total_cost0.023079
cache_discount(null)
upstream_inference_cost0
provider_name"OpenAI"
response_cache_source_id(null)
data_region"global"

Evaluation details

Result Evaluator Details Meta Data
100.00% Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags20
adverbTagCount0
adverbTags(empty)
dialogueSentences187
tagDensity0.107
leniency0.214
rawRatio0
effectiveRatio0
87.55% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2811
totalAiIsmAdverbs7
found
0
adverb"very"
count1
1
adverb"softly"
count1
2
adverb"sharply"
count1
3
adverb"utterly"
count1
4
adverb"suddenly"
count1
5
adverb"slightly"
count1
6
adverb"completely"
count1
highlights
0"very"
1"softly"
2"sharply"
3"utterly"
4"suddenly"
5"slightly"
6"completely"
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)
62.65% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2811
totalAiIsms21
found
0
word"familiar"
count2
1
word"pulse"
count2
2
word"warmth"
count4
3
word"sense of"
count1
4
word"measured"
count1
5
word"unreadable"
count1
6
word"down her spine"
count1
7
word"treacherous"
count1
8
word"silence"
count2
9
word"weight"
count1
10
word"gleaming"
count1
11
word"trembled"
count1
12
word"traced"
count1
13
word"could feel"
count1
14
word"shattered"
count1
highlights
0"familiar"
1"pulse"
2"warmth"
3"sense of"
4"measured"
5"unreadable"
6"down her spine"
7"treacherous"
8"silence"
9"weight"
10"gleaming"
11"trembled"
12"traced"
13"could feel"
14"shattered"
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
emotionTells0
narrationSentences210
matches(empty)
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount1
hedgeCount4
narrationSentences210
filterMatches
0"feel"
hedgeMatches
0"managed to"
1"began to"
2"seemed to"
3"tried to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences378
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
repeatedSegmentCount0
maxSentenceWordsSeen45
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2808
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions43
unquotedAttributions0
matches(empty)
66.67% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions71
wordCount1968
uniqueNames12
maxNameDensity1.37
worstName"Lucien"
maxWindowNameDensity3
worstWindowName"Lucien"
discoveredNames
Lucien27
Moreau1
Ptolemy4
Aurora26
Marseille1
Eva4
Bengali1
Lane2
Camden1
Silas1
Avaros1
Brick2
persons
0"Lucien"
1"Moreau"
2"Ptolemy"
3"Aurora"
4"Eva"
5"Silas"
places
0"Marseille"
1"Bengali"
2"Lane"
3"Camden"
4"Avaros"
5"Brick"
globalScore0.814
windowScore0.667
100.00% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences137
glossingSentenceCount1
matches
0"sounded like a request dragged over broken"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches1
per1kWords0.356
wordCount2808
matches
0"not hard, never hard, but with enough certainty to stop her from retreating"
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount0
totalSentences378
matches(empty)
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs264
mean10.64
std14.04
cv1.32
sampleLengths
020
157
27
38
42
526
612
721
84
92
104
112
123
132
1476
1521
1623
172
188
1914
2016
2155
223
2311
242
2517
264
272
2821
2951
303
3113
325
331
3459
354
3615
3711
3823
397
401
416
422
436
443
4510
462
4753
487
496
100.00% Passive voice overuse
Target: ≤2% passive sentences
passiveCount2
totalSentences210
matches
0"been invited"
1"been stirred"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount1
totalVerbs351
matches
0"were breathing"
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount3
semicolonCount1
flaggedSentences4
totalSentences378
ratio0.011
matches
0"He could have forced his way through; she knew that."
1"She should have called Silas downstairs, or Eva, or the police—though the police would be useless against anything that had crossed from Avaros."
2"The rain, the curry house music, the pipes knocking in the walls—all of it fell away beneath the weight of his attention."
3"His fingers closed around her wrist—not hard, never hard, but with enough certainty to stop her from retreating."
100.00% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount1344
adjectiveStacks0
stackExamples(empty)
adverbCount38
adverbRatio0.028273809523809524
lyAdverbCount6
lyAdverbRatio0.004464285714285714
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences378
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences378
mean7.43
std6.61
cv0.89
sampleLengths
020
116
217
311
413
57
68
72
85
99
1012
117
125
136
1413
152
164
172
184
192
203
212
2224
2314
247
256
2625
2710
2811
2911
309
313
322
338
344
3510
364
3712
3818
3919
409
419
423
435
446
452
465
4712
484
492
43.12% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats26
diversityRatio0.23809523809523808
totalSentences378
uniqueOpeners90
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount6
totalSentences187
matches
0"Then Ptolemy wound around Aurora’s"
1"Then he had lied to"
2"Instead, he let the door"
3"Instead, she opened the door"
4"Instead, she pulled him closer."
5"Somewhere below, a glass shattered"
ratio0.032
65.99% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount72
totalSentences187
matches
0"He wore a charcoal suit"
1"His voice had not changed."
2"It still found the softest"
3"His other eye, black as"
4"He had always been good"
5"His jaw tightened"
6"It would have been, if"
7"His mouth curved without humor."
8"His expression did not move,"
9"She hated the way he"
10"He had said it once"
11"She had heard him."
12"She had also heard him"
13"She knew what lay concealed"
14"She had once held it"
15"She had kissed him five"
16"He could have forced his"
17"He was half-demon, stronger and"
18"Her hand stopped on the"
19"His amber one was not."
ratio0.385
37.54% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount158
totalSentences187
matches
0"The door opened on the"
1"He wore a charcoal suit"
2"Rain silvered the shoulders of"
3"The other held nothing at"
4"His voice had not changed."
5"It still found the softest"
6"Aurora tightened her grip on"
7"Lucien’s amber eye caught the"
8"His other eye, black as"
9"The flat smelled of cardamom"
10"Books climbed the walls in"
11"Scrolls lay open across the"
12"Lucien’s gaze moved over the"
13"He had always been good"
14"Aurora’s fingers brushed the small"
15"A nervous habit she had"
16"His jaw tightened"
17"That was almost funny."
18"It would have been, if"
19"Aurora leaned against the doorframe,"
ratio0.845
26.74% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount1
totalSentences187
matches
0"Because it wasn’t."
ratio0.005
95.24% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences75
technicalSentenceCount5
matches
0"But now that he was in front of her, injured and furious and still looking at her as if she were the one person in the world he could not deceive, the old hunge…"
1"His face was only inches from hers, his platinum hair falling loose at the temple, his scent familiar beneath the rain and smoke: cedar, expensive soap, and the…"
2"For the first time since he arrived, he looked less like a fixer negotiating survival and more like the man who had once fallen asleep with his head in her lap …"
3"His hand fit there as if it remembered the shape of her."
4"Lucien made a rough sound against her mouth and caught her with both arms, careful even now, as if she were something breakable and he had not already broken he…"
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags20
uselessAdditionCount0
matches(empty)
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags17
fancyCount3
fancyTags
0"she whispered (whisper)"
1"she whispered (whisper)"
2"Lucien agreed (agree)"
dialogueSentences187
tagDensity0.091
leniency0.182
rawRatio0.176
effectiveRatio0.032
89.5163%