Run: 2026-09-02-01M1HGPFTVD84TZ0WKAWKX65PV

Run Details

Duration:
1m 59s
Cost:
$0.004241
Provider:
Alibaba

Model input

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

Model response

AI
Aurora did not open the door so much as she negotiated with it. The first deadbolt was reluctant, the second stuck halfway, and the third had to be lifted by its little brass handle before the catch would accept the movement. Ptolemy woke on the back of the sofa beneath her blanket, his tabby tail flicking once, twice, before he regarded the hallway with the full contempt of a cat who had heard worse at one in the morning. Beyond the flat, Brick Lane was still breathing. The curry house below had gone from closed to only half-asleep, and the smell of cumin and hot oil had begun its nightly creep up the stairs, threading itself into the books that covered every surface, into the loose rolls of paper on Eva’s table, into the hem of the jumper Aurora had thrown over the chair she never sat in. Eva was supposed to be in Cardiff, helping her parents with their boiler and pretending not to notice that Rory had spent six nights at her place instead of going home to the cramped room above Silas’ bar. Eva noticed. Eva simply let her stay without asking questions, which was more than Aurora trusted herself to deserve. The knock came again. Three raps. Even. Patient. Annoyingly familiar. Aurora’s mouth went dry before her hand reached for the latch. She knew who it was because nobody else had ever knocked at Eva’s flat like he was apologizing with rhythm alone. The door opened. Lucien Moreau stood in the narrow hall with rain shining on the shoulders of his charcoal suit and water dripping from the tips of his slicked-back platinum hair. One eye was amber, the other black. His ivory-handled cane rested in his right hand at an angle that made it look like a prop rather than a weapon, but Aurora had once watched that same cane fold a man’s threat back down his own throat, so she did not mistake elegance for harmlessness. Aurora’s hand tightened on the door. For a terrible, traitorous second, her body reacted before her brain could remind her that she was twenty-five and tired, that he had left, and that leaving was not a thing one could undo by appearing looking half-dead. “You,” she said. “Evening,” Lucien replied. His voice had the faint ghost of Marseille in it, even when he spoke careful London English. “You look beautiful.” “You look like trouble.” “Trouble is my professional category.” She started to close the door. The cane slid between the gap. Not the ivory handle, just the tip, black and quiet, like a line drawn in the dark. Aurora did not breathe. She stared at it. “Do not,” she said. “Rory.” “Do not call me that. You lost that.” His jaw shifted, a small movement, as if he had bitten the back of his cheek to keep from arguing. “I need an hour. Two, if the rain doesn’t stop. I need somewhere with three locks and no one who sells addresses.” “Then find a hotel.” “Hotels have names.” “Your name is on mine.” “No,” he said. “Yours is.” That did it. Aurora looked down at his coat. Blood darkened the right sleeve from cuff to elbow, and the cloth had warped where the wet had turned the fabric heavy. The wound was at his temple. A thin red line ran down beside one eye and disappeared into his collar. “You’re bleeding.” “Only slightly.” “Slightly is an insult to bleeding.” “I know how to be insulting.” She should not have stepped back. She should have asked him to leave. She should have done the cool-headed, quick-thinking thing that had kept her alive through Evan’s door and through a hundred worse nights, which was to make a decision before her heart had time to ruin it. Instead, she moved. Lucien entered with the careful restraint of someone who had learned not to take permission. He stopped inside the threshold as though the floor were a trap line. Ptolemy leapt off the sofa and hissed, low and vicious. Lucien looked down at the cat. “Your friend’s cat has never forgiven me.” “He has taste,” Aurora said, shutting the door behind him. The locks bit into place one after another, the third with a satisfying thunk. “He also doesn’t like liars. I don’t know what he’s decided about you.” “I have decided too many things,” Lucien said. “Liars require more paperwork.” She turned on him. He was already moving, shrugging off his coat with a control that looked practiced. Underneath, his shirt was white and too fine for the hour. There was blood on the cuff, and on the side of his hand, and a smear across the knuckles that might have belonged to someone else. “Don’t,” she said. “Don’t what?” “Don’t act like you’re the victim of the evening.” He smiled, and it hurt in the old familiar place, because she remembered what that smile had looked like when it was aimed at her for reasons she had believed. “I have never once tried to be a victim.” “You’re sitting on the table?” “Research suggests surfaces should be used.” “Eva’s surface is sacred.” He looked around the cramped flat. Books stacked in uneven towers. Scrolls held down by tea mugs. Notes pinned to the walls with colored tabs, red for danger, blue for history, yellow for things Eva had found funny at midnight and could no longer explain. On the kitchen counter, a kettle waited like a patient animal. The smell of curry rose through the floorboards. A tabby cat watched Lucien from atop a stack of paperbacks. Lucien’s gaze stopped on the photograph pinned beside Eva’s window. In it, Aurora, sixteen, stood in a Cardiff school corridor with an umbrella and a scowl. Brendan Carter’s height, Jennifer Carter’s stubborn mouth, though the photo had never captured that accurately. Beside her, younger Eva held a book over her head like a weapon. “My father took that,” Aurora said. “After I threw it away.” “You kept it.” “I’m sentimental when it’s inconvenient.” A sound escaped him that was almost a laugh. He pressed one hand to the edge of the table, steadying himself. The movement pulled his sleeve down enough to reveal the cut at his temple again. Aurora went cold. “Sit,” she said. “I came here for an hour, not medical supervision.” “You came bleeding through the rain. Sit.” He sat. Aurora crossed to the bathroom, took the small kit Eva kept under the sink, and brought it back with her jaw set so hard it hurt. She knelt on the floor between his boots, then remembered that height was a problem. Lucien watched her with those mismatched eyes, one black, one amber, both entirely still. “Your wrist,” he said. Aurora looked down. She had been holding the tweezers in a way that exposed the inside of her left wrist. The small crescent-shaped scar sat there pale and useless, a relic from a broken window and an age she no longer wanted to discuss. “My wrist?” “From the accident.” “Childhood.” “You still wear it uncovered.” “You’re welcome to be impressed.” “I was impressed when you were sixteen and still would be now.” Her hands paused. “Stop,” she said. “You don’t get to come here with blood on your cuff and compliment me like you’ve never left anything.” Lucien’s mouth tightened. “I left a lot of things.” “Yes.” “None on purpose.” “That’s worse.” The bathroom light caught the wet strands of his hair. He was still beautiful in a way that felt unfair to everyone else in the flat, including Ptolemy, who was now grooming himself with the studied indifference of a judge. The cane leaned against the table within arm’s reach. Aurora could feel it, the quiet promise of it, the way he could become dangerous without changing expression. She dipped cotton in antiseptic. “Hold still.” He held still. The cotton touched his temple, and he inhaled sharply through his nose. “Sorry,” she said. “Do not apologize.” “You’re the one who walked into a knife fight in my friend’s building.” “Barely walked. I was mostly trying to avoid one.” “Did it work?” “Partially.” Aurora’s hand moved to the cut, cleaning around it with more force than necessary. She told herself it was because he had used a word like partially when the blood had soaked through his sleeve. She told herself it had nothing to do with the way he sat with his spine straight, his wounded composure intact, as though he could have been at a restaurant rather than kneeling on Eva’s floor while she tried not to look at him too long. “You should have come to me sooner,” she said. The words left before she could stop them. Lucien looked down. “Should I have?” he asked. Aurora’s pulse jumped. She pressed the gauze to the cut. “Yes.” “I thought so too.” Her hands stopped. He reached up, not to move her, only to touch her wrist with one fingertip. The contact was so light it could have been imaginary. It was not. “Three months ago,” he said, “I told myself that if I saw you again, you would not be able to stop me from saying this.” Aurora’s voice came out low. “Then why didn’t you come?” “Because you asked me to.” “What?” He removed her hand from his face, gently, and set the gauze back in place. “After you left the safehouse, you stood in the stairwell and said, ‘If you care, stay.’” Aurora closed her eyes. She remembered the rain on the windows, the sound of her own heartbeat too loud in her ears, the way Lucien had stood in the doorway with his coat already on and his face already gone. She had been twenty-five and furious enough to risk honesty. He had been thirty-two and afraid enough not to take it. “You didn’t care,” she said. “I cared so badly it frightened me.” “No.” Aurora’s eyes snapped open. “Don’t do that. Don’t take fear from my mouth and put it in yours.” He leaned forward slightly. “Evan’s people were asking about you.” The room went quiet. Aurora looked at him, but the sight of him blurred at the edges. “What?” “I was paid to watch your building for a week.” “Who paid?” “A client. The name mattered less than the fact that he knew yours.” Aurora’s mouth went dry. “You let me believe you had been hired to follow me because of a job.” “Yes.” “You left me because you were afraid I would ask who hired you.” “I left because if I stayed, I would have told you everything, and you would have gone after them yourself.” She laughed once, a short broken sound. “You think I couldn’t.” “No.” “Because I’m clever? Because I think fast?” “Because I once watched you walk into a room full of men who thought they owned the night and make them feel like children.” Aurora’s hand rested on his knee before she realized it. She withdrew it quickly. Lucien did not look away. “You still don’t know me,” she said. “I know you better than I have known anyone.” “You know me in fragments.” “Everyone lives in fragments.” “Not when someone collects them.” He caught her wrist. Not roughly. Not with any threat. His fingers closed over the scar at her pulse, and he held her there, looking at her with an expression so stripped down it made the rest of the room feel false. “I never collected you,” Lucien said. “I only ever tried to keep you safe without making you a reason to come back to me.” Aurora’s breath changed. He looked at that, too. At the tiny shift, the almost imperceptible surrender. Ptolemy leapt down and trotted into the kitchen. She spoke without thinking. “What happened to the men who followed me?” Lucien was silent. “Lucien.” “They were handled.” “By who?” “Me.” “Did you lie to Yu-Fei when she asked if you were going to involve the restaurant?” He blinked once, as if surprised she remembered the question. “No.” “Then they weren’t your clients.” “No.” “Were they Evan’s?” “Yes.” Aurora looked at the door, at the three deadbolts that had kept her alive, at the window where the rain was returning in thin, persistent lines. “You could have told me.” “You could have gone to the police.” “Good.” “The police cannot see half of what I have to see.” “So you decided for me.” “I have always decided badly.” She turned back to him. “Yes.” Lucien’s hand remained on her wrist. His thumb moved, just once, across the scar. “Tell me how to decide better.” Aurora’s throat tightened. She wanted to answer. That was the worst part. After everything he had done, he had returned not as a stranger but as a man who still knew how to ask in a way that made the old wound feel like a door. “You start by sitting still,” she said. He smiled. She cleaned the cut. He let her. When she reached for the tape, he moved closer, taking her hand into his instead of the gauze. The contact scorched through her, not from the half-demon in him, not from Avaros or whatever dark place his father’s blood had come from, but from the fact that he was warm and afraid and here. “I have been walking through London with this coat for hours,” he said quietly. “Every time I came close to your flat, I thought of the last thing you said to me.” Aurora looked at him. “Say it,” she said. He closed his eyes for a second. “You said, ‘If you care, stay.’” The room filled with sound: the kettle ticking, the rain outside, the curry house settling above the floorboards, Ptolemy’s paws shifting on linoleum. Aurora felt her own words rise as if they had been waiting behind her ribs for months. “You’re here,” she said. “I’m here.” She touched his face with one hand, and he leaned into it as though the contact was medicine. The blood was drying on his skin. The rain had made him cold. He was a man she had wanted for reasons she had never admitted to herself, a man she had trusted with the easy foolishness of someone who had already been hurt before. He had not stayed. He had not come back. Now he was here. Aurora kissed him. It was not gentle, despite everything. It was not careful. He caught her with the same startled urgency she felt, his hand sliding from her wrist to the back of her neck, the other pressing against the table as if the world had tilted and he needed one stable point. She tasted rain and antiseptic and the bitter memory of arguments that had not happened. He made a low sound against her mouth, French, then English, then nothing at all. Aurora broke it first. She rested her forehead against his. “If you leave me in the night,” she said, “I will lock the door.” His breath touched her lips. “What if I’m in the night?” “Then I’ll ask you the second time.” Lucien’s eyes opened. One was amber, one black, both bright with something she had forgotten to hate him for. “Ask me now.” Aurora looked at the deadbolts. At the blood on the table. At the man who had left without a proper goodbye, who had returned bleeding and terrified and still, somehow, hers to decide on. “Stay,” she said. He did not speak. He kissed her again, slower this time, and when she let him, when her hands settled at his collar and his mouth moved on hers as if he had been keeping the shape of it safe for months, the room narrowed to the point where the past had no authority. When they finally parted, Ptolemy let out a disapproving meow from the kitchen. Lucien turned his head and looked at the cat with the offended dignity of a man who had recently survived a tracking spell. “I see your cat still hates me.” Aurora wiped her mouth with the back of her hand, breathless, annoyed at how alive she felt. “He doesn’t hate you. He thinks you’re bad news.” Lucien looked at her, and the smile was tired, real, and not quite finished. “So do I.” She grabbed the gauze from the table and pressed it to his temple again, hard enough to make him inhale sharply. “You’re staying,” she said. “Am I?” “Yes.” Aurora looked around the cramped flat above the curry house, at the books and the wards and the rain sliding down the window, at the man who had come back after three months with blood on his hand and her name on his mouth. She thought of the safehouse, of the stairwell, of the way she had once stood there with a suitcase she had forgotten to open and believed she could hate him forever. “Don’t make me regret it,” she said. Lucien set his cane aside with deliberate care. The blade did not show, but she saw the weight of its absence, and something in his face eased as he let it go. “Rory,” he said. She looked up. “I’m staying.”
created_at"2026-09-02T16:54:42.821Z" 9/2/2026, 4:54:42 PM
model"qwen/qwen3.8-flash-20260826"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency735
moderation_latency(null)
generation_time112989
tokens_prompt788
tokens_completion9356
native_tokens_prompt844
native_tokens_completion8826
native_tokens_completion_images(null)
native_tokens_reasoning4965
native_tokens_cached256
num_media_prompt(null)
num_input_audio_prompt(null)
num_media_completion0
num_search_results(null)
num_fetches(null)
web_search_engine(null)
origin"https://ncbench.com/"
is_byokfalse
finish_reason"stop"
native_finish_reason"stop"
service_tier(null)
usage0.004240516
router(null)
user_agent"langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))"
http_referer(null)
request_id"req-1788368082-ptv3J0PmTN4wn1bLceF0"
session_id(null)
preset_id(null)
api_type"completions"
id"gen-1788368082-OmnxUIrxkuyuCo7y3hHE"
upstream_id"chatcmpl-3df8c585-9b3f-9702-8fd1-fc196b1c8504"
provider_responses
0
endpoint_id"84b1e4a7-5aed-4464-818f-1994f0b4ee18"
id"chatcmpl-3df8c585-9b3f-9702-8fd1-fc196b1c8504"
is_byokfalse
latency734
model_permaslug"qwen/qwen3.8-flash-20260826"
provider_name"Alibaba"
status200
total_cost0.004240516
cache_discount0.000034304
upstream_inference_cost0
provider_name"Alibaba"
response_cache_source_id(null)
data_region"global"
workspace_id"97e315e5-d303-487d-83c1-83180e8a13d4"

Evaluation details

Result Evaluator Details Meta Data
100.00% Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags29
adverbTagCount1
adverbTags
0"he said quietly [quietly]"
dialogueSentences130
tagDensity0.223
leniency0.446
rawRatio0.034
effectiveRatio0.015
87.83% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2876
totalAiIsmAdverbs7
found
0
adverb"slightly"
count3
1
adverb"sharply"
count2
2
adverb"gently"
count1
3
adverb"quickly"
count1
highlights
0"slightly"
1"sharply"
2"gently"
3"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)
87.83% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2876
totalAiIsms7
found
0
word"familiar"
count2
1
word"could feel"
count1
2
word"pulse"
count2
3
word"the last thing"
count1
4
word"weight"
count1
highlights
0"familiar"
1"could feel"
2"pulse"
3"the last thing"
4"weight"
66.67% Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches2
maxInWindow2
found
0
label"room fell silent"
count1
1
label"world had stopped"
count1
highlights
0"The room went quiet"
1"as if the world had tilted"
100.00% Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells0
narrationSentences192
matches(empty)
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount3
hedgeCount1
narrationSentences192
filterMatches
0"look"
1"feel"
hedgeMatches
0"started to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences294
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
repeatedSegmentCount0
maxSentenceWordsSeen62
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2876
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions44
unquotedAttributions0
matches(empty)
50.00% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions84
wordCount2152
uniqueNames17
maxNameDensity1.53
worstName"Aurora"
maxWindowNameDensity3.5
worstWindowName"Aurora"
discoveredNames
Brick1
Lane1
Eva10
Aurora33
Cardiff2
Rory1
Moreau1
Lucien19
Marseille1
London1
English2
Evan1
Carter2
Jennifer1
Ptolemy6
Avaros1
French1
persons
0"Eva"
1"Aurora"
2"Rory"
3"Moreau"
4"Lucien"
5"Evan"
6"Carter"
7"Jennifer"
8"Ptolemy"
places
0"Brick"
1"Lane"
2"Cardiff"
3"Marseille"
4"London"
5"Avaros"
globalScore0.733
windowScore0.5
100.00% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences108
glossingSentenceCount1
matches
0"looked like when it was aimed at her for"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches2
per1kWords0.695
wordCount2876
matches
0"not as a stranger but as a man who still knew how to ask in a way"
1"not from Avaros or whatever dark place his father’s blood had come from, but from the fact"
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount3
totalSentences294
matches
0"notice that Rory"
1"tired, that he"
2"remembered that height"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs180
mean15.98
std20.61
cv1.29
sampleLengths
013
166
2126
34
46
532
63
782
86
938
103
1123
124
135
146
1523
168
174
181
198
2042
214
223
235
245
253
2648
272
282
296
306
3149
323
3344
347
3537
3612
3755
383
392
409
4139
425
436
444
4575
4654
4711
483
495
100.00% Passive voice overuse
Target: ≤2% passive sentences
passiveCount2
totalSentences192
matches
0"was supposed"
1"was aimed"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount5
totalVerbs377
matches
0"was still breathing"
1"was apologizing"
2"was already moving"
3"was returning"
4"was drying"
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount0
semicolonCount0
flaggedSentences0
totalSentences294
ratio0
matches(empty)
100.00% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount1312
adjectiveStacks0
stackExamples(empty)
adverbCount51
adverbRatio0.038871951219512195
lyAdverbCount10
lyAdverbRatio0.007621951219512195
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences294
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences294
mean9.78
std9.81
cv1.003
sampleLengths
013
128
238
38
461
538
62
717
84
92
101
111
122
1311
1421
153
1628
177
1847
196
2038
213
223
2317
243
254
265
276
286
2917
304
314
324
331
348
3520
3622
374
383
395
403
412
423
436
4422
456
4614
472
482
496
42.86% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats21
diversityRatio0.2789115646258503
totalSentences294
uniqueOpeners82
20.96% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount1
totalSentences159
matches
0"Instead, she moved."
ratio0.006
64.03% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount62
totalSentences159
matches
0"She knew who it was"
1"His ivory-handled cane rested in"
2"His voice had the faint"
3"She started to close the"
4"She stared at it."
5"His jaw shifted, a small"
6"She should not have stepped"
7"She should have asked him"
8"She should have done the"
9"He stopped inside the threshold"
10"She turned on him."
11"He was already moving, shrugging"
12"He smiled, and it hurt"
13"He looked around the cramped"
14"He pressed one hand to"
15"She knelt on the floor"
16"She had been holding the"
17"Her hands paused."
18"He was still beautiful in"
19"She dipped cotton in antiseptic."
ratio0.39
19.75% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount140
totalSentences159
matches
0"Aurora did not open the"
1"The first deadbolt was reluctant,"
2"Ptolemy woke on the back"
3"The curry house below had"
4"Eva was supposed to be"
5"Eva simply let her stay"
6"The knock came again."
7"Aurora’s mouth went dry before"
8"She knew who it was"
9"The door opened."
10"Lucien Moreau stood in the"
11"His ivory-handled cane rested in"
12"Aurora’s hand tightened on the"
13"His voice had the faint"
14"She started to close the"
15"The cane slid between the"
16"Aurora did not breathe."
17"She stared at it."
18"His jaw shifted, a small"
19"That did it."
ratio0.881
31.45% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount1
totalSentences159
matches
0"Now he was here."
ratio0.006
22.26% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences77
technicalSentenceCount13
matches
0"Ptolemy woke on the back of the sofa beneath her blanket, his tabby tail flicking once, twice, before he regarded the hallway with the full contempt of a cat wh…"
1"His ivory-handled cane rested in his right hand at an angle that made it look like a prop rather than a weapon, but Aurora had once watched that same cane fold …"
2"She should have done the cool-headed, quick-thinking thing that had kept her alive through Evan’s door and through a hundred worse nights, which was to make a d…"
3"He was already moving, shrugging off his coat with a control that looked practiced."
4"He was still beautiful in a way that felt unfair to everyone else in the flat, including Ptolemy, who was now grooming himself with the studied indifference of …"
5"She told herself it had nothing to do with the way he sat with his spine straight, his wounded composure intact, as though he could have been at a restaurant ra…"
6"Aurora looked at the door, at the three deadbolts that had kept her alive, at the window where the rain was returning in thin, persistent lines."
7"The room filled with sound: the kettle ticking, the rain outside, the curry house settling above the floorboards, Ptolemy’s paws shifting on linoleum."
8"She touched his face with one hand, and he leaned into it as though the contact was medicine."
9"He caught her with the same startled urgency she felt, his hand sliding from her wrist to the back of her neck, the other pressing against the table as if the w…"
10"She tasted rain and antiseptic and the bitter memory of arguments that had not happened."
11"At the man who had left without a proper goodbye, who had returned bleeding and terrified and still, somehow, hers to decide on."
12"He kissed her again, slower this time, and when she let him, when her hands settled at his collar and his mouth moved on hers as if he had been keeping the shap…"
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags29
uselessAdditionCount0
matches(empty)
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags28
fancyCount1
fancyTags
0"Aurora’s eyes snapped (snap)"
dialogueSentences130
tagDensity0.215
leniency0.431
rawRatio0.036
effectiveRatio0.015
83.1211%