Run: 2026-03-09-01KKACA98B86ADVTAEZG0SN1CJ

Run Details

Duration:
1m 26s
Cost:
$0.056828
Provider:
OpenAI

Model input

System
You are an expert fiction writer. Always keep the following rules in mind: - Write in past tense and use General English spelling, grammar, and colloquialisms/slang. - Write in active voice - Always follow the "show, don't tell" principle. - Avoid adverbs and cliches and overused/commonly used phrases. Aim for fresh and original descriptions. - Convey events and story through dialogue. - Mix short, punchy sentences with long, descriptive ones. Drop fill words to add variety. - Skip "he/she said said" dialogue tags and convey people's actions or face expressions through their speech - Avoid mushy dialog and descriptions, have dialogue always continue the action, never stall or add unnecessary fluff. Vary the descriptions to not repeat yourself. - Put dialogue on its own paragraph to separate scene and action. - Reduce indicators of uncertainty like "trying" or "maybe" When writing text: - NEVER conclude the scene on your own, follow the beat instructions very closely. - NEVER end with foreshadowing. - NEVER write further than what I prompt you with. - AVOID imagining possible endings, NEVER deviate from the instructions. - STOP EARLY if the continuation contains what was required in the instructions. You do not need to fill out the full amount of words possible.
User/Human
Take into account the following glossary of characters/locations/items/lore... when writing your response: <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> Continue the story using the following instructions: <instructions> 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. </instructions>

Model response

AI
The door opened on the chain. Aurora kept one hand wrapped round the edge, the other braced against the wood, shoulder set hard beneath the chipped paint. Light from the corridor cut a pale stripe across her face and caught the bright blue of her eyes. Lucien stood on the landing in a charcoal suit that looked too expensive for Brick Lane and too clean for the rain on the stairs. Water darkened the shoulders of his coat. His pale hair lay slicked back, barely disturbed. The ivory handle of his cane rested beneath one gloved hand. For a second neither of them moved. Then Ptolemy slid between Aurora’s ankles and let out a rusty, offended meow. Aurora’s mouth flattened. “You had nerve enough to come here.” Lucien looked at the chain, then at her face. “You still had the same locks.” “Three deadbolts and common sense. A foreign concept to you.” His mouth bent, not quite a smile. “If I’d wanted to force the door, this conversation would sound very different.” “That line used to work better when I didn’t know you.” Behind her, the flat pressed in with its usual clutter: towers of books, loose sheets covered in Eva’s cramped notes, a half-burnt candle on the windowsill, a chipped mug with three pens and a butter knife stuck inside it. The smell of old paper, cumin from the curry house below, and wet wool clung to the air. Lucien’s gaze moved once over her shoulder and back. “Eva wasn’t answering.” “She’s out.” “I gathered that when you opened the door.” Aurora started to shut it. His cane slipped forward, not wedged in the gap, just enough to stop the motion. He did it with the sort of precision that made rage rise in her throat. “Move that.” “Let me in.” “No.” Rain tapped the grimy stairwell window. Somewhere below, a saucepan clanged and a voice barked in Bengali. Ptolemy rubbed against Aurora’s shin, tail high, then sat and stared at Lucien as if the cat had joined the argument. Lucien lowered his voice. “I didn’t come to fight on the landing.” “Funny. You were always happy to start fights where everyone could watch.” His jaw shifted. There it was. A crack in that polished face. Small, but real. “I deserved that one.” “One?” He let the word land. He had the grace not to argue. Aurora watched him through the chain gap and hated that her pulse still changed when she looked at him. The years had not sanded off the sharp bits. His eyes remained the first thing people noticed and the last thing they forgot—one amber, warm as whisky held to the light, the other black and depthless, like a burnt coin. She used to think she could read which half of him looked back at her. She used to be wrong. “You’ve got thirty seconds.” “I needed to see you.” “That cost you nothing. Leave.” “Aurora.” She flinched at the full name. He saw it. Of course he saw it. “Don’t.” “I’m not using the other one.” Her laugh came out thin and hard. “Right. Because you only used Laila when you wanted something.” “That wasn’t why.” “No? Then pick a better reason.” He looked tired. Not weak. Never weak. Worn at the edges, as if the rain had dissolved the lacquer and left the man underneath standing bare on her landing. It did nothing useful to her temper. If he had arrived sleek and smiling, this would have been easier. “I’ve spent two hours deciding whether knocking on this door was selfish.” “And what did the grand tribunal decide?” “That leaving without knocking would’ve been worse.” Aurora stared at him. The chain bit into the wood beneath her fingers. “What do you want?” “To come in.” “That’s not an answer.” “No.” He glanced down the corridor, then back. “It’s the first part.” She should have shut the door. She knew that with the same clean certainty she knew how many deadbolts sat in the frame and which floorboard near the kitchen always dipped. Shut the door. Slide the chain free, lock him out, let him stand there in the damp with his expensive shoes and his careful lies. Instead she looked at the rain in the stairwell window, at the neighbours’ doors, at Lucien standing in plain sight like he had nowhere else to put himself. Aurora pulled the door shut. The chain rasped free. One deadbolt clicked, then the second, then the third. She opened it just enough to step back. “If you drip on Eva’s manuscripts, I’ll throw you down the stairs.” Lucien crossed the threshold with a small incline of his head, as if she had invited him to dinner instead of granting access under threat. He closed the door behind him with care. Ptolemy wound round his trouser leg at once, traitor to all loyalties. “Even the cat’s standards have slipped.” “Ptolemy likes men with bad reputations. Saves time.” Lucien removed his gloves finger by finger. His hands looked the same as she remembered—long, elegant, built for piano keys or lockpicks or throats. He set the gloves on a corner of the overfilled table. His cane remained in his grasp. Aurora folded her arms. “You can put the blade away if it makes you feel safer.” “It rarely does.” “And yet you keep carrying it.” “So do you.” His gaze dipped to her sleeve. Instinct tugged her cuff lower over the crescent scar on her left wrist. She hated that he remembered. Hated it more because some part of her had liked that he ever noticed. “You didn’t come here to catalogue old injuries.” “No.” He stood in the middle of Eva’s flat and somehow made the cramped room feel smaller. Aurora stayed by the door, keeping a solid stretch of floor between them. The yellow lamp near the sofa threw one side of his face into warmth and left the other cut in shadow. He looked at her properly then. Not the quick checks people made to be polite. A real look. Her black hair hung loose and damp from the shower she had taken an hour earlier, one side tucked behind her ear. She wore an old Cardiff University sweatshirt and soft grey shorts, bare legs goose-pimpled from the draught by the door. She had not dressed to be seen. That knowledge carried its own raw edge. “You look well.” She barked out a laugh. “You turned up uninvited after months of silence, and that’s what you brought?” “I could start with the apology.” “You could have started with that in January.” He rested both hands on the cane handle. “In January you told me if I came near you again, you’d break my nose.” “I was in a generous mood.” “I believed you.” “Pity. You never believed the important things.” That landed. He took it and didn’t dodge. “No. I didn’t.” The room filled with small sounds: rain at the pane, pipes knocking in the wall, Ptolemy leaping onto a stack of journals and getting scolded by no one because Eva was not here to guard her chaos. Aurora wished for noise. Real noise. Traffic. Music. Someone hammering on the radiator. Anything to stop the flat from listening. Lucien turned the cane once, slow in his palms. “I’m not here to defend what happened.” “Then why are you here?” “Because I left it filthy.” A muscle jumped in her cheek. “You left me filthy, Lucien. There’s a difference.” His eyes closed for one beat. When he opened them, the amber one held the light. The black one gave nothing. “I know.” “No, you know the headline. You don’t know the weeks after. You don’t know what it felt like to watch every doorway because I thought one of your enemies might stroll through it. You don’t know what it was like to hear your name from people who smiled while they lied to my face. You don’t know what it cost me to realise I’d been the last person in the room to understand I was being used.” “I didn’t use you.” “Don’t insult me in my own home.” He stepped closer. Not enough to crowd her. Enough to sharpen the air. “I used your trust. I used your patience. I used the fact that you looked at me and saw something worth saving. I never used your body, your heart, or your bed as bait for anyone else, and I won’t let you put that on me because it isn’t true.” Silence cracked between them. Aurora swallowed. The words hit with force because he had chosen them with care. He always did. That had been half the danger. “You left without a note.” “I left you breathing.” She stared at him. “That’s your defence?” “No. That’s the ugliest part.” He drew in a breath through his nose, steadying himself, and for the first time since she had known him, Lucien Moreau looked like a man walking into a room without armour. “I had a choice that night. Stay with you, and they’d tie you to me in a way that wouldn’t wash off. Leave, and you’d hate me. I chose the version where you got to hate me.” “You arrogant bastard.” “I know.” “You didn’t ask what I wanted.” “If I had, you would’ve told me to stay.” Her eyes flashed. “Don’t act as if you knew me so well.” His answer came at once. “You would’ve opened the door for me.” She looked at the floor because he was right, and she despised him for speaking it aloud. Ptolemy sprang onto the sofa back and knocked a folded map onto the rug. Neither of them bent to pick it up. Aurora lifted her chin. “You don’t get to stride in here and rewrite it into noble sacrifice.” “I’m not. I was afraid.” That shut her up more effectively than any polished excuse could have done. Lucien let the truth sit between them. No flourish. No disguise. “I was afraid of what they’d do with your name if they understood what you were to me. I was afraid that if I stayed one hour longer, I’d choose you over everything else and lose the part of me that still knew how to keep you safe. I was afraid because when you looked at me, I wanted ordinary things.” His mouth tightened on the last phrase, as though it offended him. Aurora’s arms loosened by her sides. “Ordinary things.” “A key. Your shoes by a door. Fighting over music in the kitchen. You stealing my shirts and pretending you didn’t. Waking up and not having to calculate who’d paid for the room or which exit had the least blood on it.” Her breath caught before she could stop it. He remembered too much. The shirts. The music. That tiny, stupid morning in his borrowed flat when she had burned toast and danced barefoot because the radio was awful and bright and she had wanted to make him laugh. He had laughed. He had looked wrecked by it. “That was real for me,” he went on. “That’s what I never said.” Aurora turned away and crossed to the small window by the sink. Brick Lane glimmered below in reflected neon and rainwater. She gripped the sill, knuckles paling. “You don’t get to turn up with honesty now like it’s a gift.” “No.” “You don’t get to say the right things because you finally found the nerve.” “I know.” She spun back round. “Stop agreeing. I want to be angrier than this.” A rough sound escaped him. Almost a laugh. Not amused. Struck. “You’re doing very well.” She hated that her own mouth twitched. She killed it at once. “What changed?” He looked at her for a long moment. “I got tired of hearing your name from other mouths.” The flat seemed to draw in. Aurora stayed very still. “Who’s been saying my name?” “People I’d rather not discuss while standing in Eva’s sitting room with her cat evaluating me.” Ptolemy blinked down from the sofa like a magistrate. “That’s not good enough.” “It will have to be for one minute longer.” Lucien set the cane against the table. Deliberate. Visible. Then he took off his coat and laid it over the back of a chair. Rain had soaked the wool through. Without it, he looked less armoured, broader somehow, the waistcoat fitted close beneath his open jacket. A silver ring flashed on his right hand when he flexed his fingers. Aurora watched the cane. Watched the distance between them. Watched him empty his hands. “Why now?” “Because tonight I nearly let someone use you to get to me.” The words cut clean. Her face went still. “Nearly.” “I heard your name in a room where it didn’t belong.” He swallowed once. “I walked out before I gave them anything, but I should have come sooner. I should have come months ago.” “And you thought I’d be pleased to see you because danger came knocking.” “No.” His gaze held hers. “I thought you had the right to hear it from me before it found you any other way.” There it was. The practical core inside the wreckage. Aurora could work with facts. Facts had edges. Facts didn’t slide through your hands in the dark and leave your chest hollow. Yet he stood a few feet away looking at her like he still remembered how she sounded half asleep, and that ruined the clean lines. She rubbed her left wrist with her thumb. “So this is business.” “Partly.” “Only partly.” He moved then. One step. Two. He stopped close enough that she caught the scent of rain, smoke, and something darker that had always clung to him beneath the expensive soap, something singed and night-deep and not human at all. “Don’t do that.” “Do what?” “Stand there like—” “Like I came because I missed you?” Her throat tightened. “You don’t get to ask that.” “I didn’t ask.” His voice dropped. “I answered.” She should have stepped back. She didn’t. The back of her knees touched the sill, trapping her in place. His hand lifted, slow enough to refuse threat, and paused near her wrist without touching. “That scar,” he murmured, eyes on the thin crescent hidden half beneath her cuff, “you used to rub it when you were angry enough to throw something.” Aurora laughed once, shaky with disbelief. “You noticed that and still thought disappearing was wise.” “No. I noticed that and knew you’d survive hating me.” His fingers brushed the edge of her sleeve. The contact barely counted. Fabric against skin, the lightest scrape. It still sent heat up her arm as if her body had waited in ambush for this exact betrayal. “Aurora.” Her name sounded different in his mouth now. Less polished. Pulled from somewhere lower. She looked up at him. Too close. A mistake from any sensible angle. “If you apologise,” she said, “I might hit you.” “I came prepared for worse.” “That smug look isn’t helping.” “It isn’t smug.” “No?” “No.” His thumb slid beneath the cuff and found her wrist at last, warm and careful over the old scar. “This is me barely holding myself together because you’re in front of me and still furious and still the most—” He stopped, breath catching on the edge of the word. Aurora’s pulse hammered beneath his hand. She should have pulled away. Instead she heard herself ask the stupid, dangerous question. “The most what?” His eyes searched her face as if he’d forgotten every language except this one hard moment in a cluttered flat above a curry house. “The most impossible woman I’ve ever wanted.” The room seemed to tilt. Aurora reached up before she could think better of it and caught a fistful of his waistcoat, fingers twisting in the fabric. “You had me,” she whispered. “That was the worst of it. You had me, and you left anyway.” Pain flashed plain across his face. No defence. No mask. “I know.” He covered her hand with his free one, pressing it against his chest. His heart struck hard beneath her knuckles. She felt it. He knew she felt it. Neither of them moved. Rain kept time against the window. Ptolemy jumped down and prowled under the table, tail brushing Lucien’s discarded coat. Aurora stared at their hands against his waistcoat, at the pulse in his throat, at the inch of space left between their mouths. “If you’ve come here to make this harder,” she said, voice frayed, “congratulations.” His forehead almost touched hers. “I came here because it was already hard.”
created_at"2026-03-09T22:43:35.827Z" 3/9/2026, 10:43:35 PM
model"openai/gpt-5.4-20260305"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency3455
moderation_latency(null)
generation_time86338
tokens_prompt1034
tokens_completion4443
native_tokens_prompt927
native_tokens_completion3634
native_tokens_completion_images0
native_tokens_reasoning118
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.0568275
router(null)
provider_responses
0
endpoint_id"9ff5625c-403f-4d7f-b895-58ac7295062c"
id"resp_0ed2b4ca22688eb70169af4d17e56081968a505c6bce54c34f"
is_byokfalse
latency186
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-1773096215-oPbomhehMiLSJS23L0oq"
upstream_id"resp_0ed2b4ca22688eb70169af4d17e56081968a505c6bce54c34f"
total_cost0.0568275
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
totalTags11
adverbTagCount1
adverbTags
0"He swallowed once [once]"
dialogueSentences125
tagDensity0.088
leniency0.176
rawRatio0.091
effectiveRatio0.016
94.60% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2779
totalAiIsmAdverbs3
found
0
adverb"very"
count3
highlights
0"very"
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)
85.61% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2779
totalAiIsms8
found
0
word"pulse"
count3
1
word"the last thing"
count1
2
word"warmth"
count1
3
word"silence"
count2
4
word"calculate"
count1
highlights
0"pulse"
1"the last thing"
2"warmth"
3"silence"
4"calculate"
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
narrationSentences203
matches
0"y with disbelief"
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount1
hedgeCount3
narrationSentences203
filterMatches
0"feel"
hedgeMatches
0"started to"
1"seemed to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences318
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
maxSentenceWordsSeen77
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2777
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions19
unquotedAttributions0
matches(empty)
83.33% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions56
wordCount1754
uniqueNames12
maxNameDensity1.25
worstName"Aurora"
maxWindowNameDensity2.5
worstWindowName"Aurora"
discoveredNames
Brick2
Lane2
Ptolemy7
Aurora22
Eva3
Bengali1
Lucien12
Cardiff1
University1
Moreau1
Pain1
Rain3
persons
0"Ptolemy"
1"Aurora"
2"Eva"
3"Lucien"
4"Moreau"
5"Pain"
6"Rain"
places
0"Brick"
1"Lane"
2"Bengali"
3"Cardiff"
globalScore0.873
windowScore0.833
100.00% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences116
glossingSentenceCount2
matches
0"not quite a smile"
1"looked like a man walking into a room wit"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches0
per1kWords0
wordCount2777
matches(empty)
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount4
totalSentences318
matches
0"hated that her"
1"hated that he"
2"liked that he"
3"hated that her"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs204
mean13.61
std15.43
cv1.134
sampleLengths
06
140
251
37
413
53
67
79
86
910
1020
1111
1257
139
143
152
168
175
1830
192
203
211
2238
234
248
2512
2615
274
281
2912
3079
314
325
335
341
3514
361
376
387
3910
403
416
4248
4312
447
457
4613
474
483
494
100.00% Passive voice overuse
Target: ≤2% passive sentences
passiveCount0
totalSentences203
matches(empty)
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount0
totalVerbs314
matches(empty)
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount2
semicolonCount0
flaggedSentences2
totalSentences318
ratio0.006
matches
0"His eyes remained the first thing people noticed and the last thing they forgot—one amber, warm as whisky held to the light, the other black and depthless, like a burnt coin."
1"His hands looked the same as she remembered—long, elegant, built for piano keys or lockpicks or throats."
100.00% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount1195
adjectiveStacks0
stackExamples(empty)
adverbCount38
adverbRatio0.031799163179916316
lyAdverbCount5
lyAdverbRatio0.0041841004184100415
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences318
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences318
mean8.73
std8.88
cv1.017
sampleLengths
06
121
219
325
47
58
611
77
813
93
107
119
126
1310
147
1513
1611
1739
1818
199
203
212
228
235
2415
2515
262
273
281
296
3011
3121
324
338
3412
353
363
376
383
394
401
415
427
4319
449
4531
4615
475
484
495
44.34% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats18
diversityRatio0.2672955974842767
totalSentences318
uniqueOpeners85
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount7
totalSentences179
matches
0"Then Ptolemy slid between Aurora’s"
1"Somewhere below, a saucepan clanged"
2"Of course he saw it."
3"Instead she looked at the"
4"Almost a laugh."
5"Then he took off his"
6"Instead she heard herself ask"
ratio0.039
47.93% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount77
totalSentences179
matches
0"His pale hair lay slicked"
1"His mouth bent, not quite"
2"His cane slipped forward, not"
3"He did it with the"
4"His jaw shifted."
5"He let the word land."
6"He had the grace not"
7"His eyes remained the first"
8"She used to think she"
9"She used to be wrong."
10"She flinched at the full"
11"He saw it."
12"Her laugh came out thin"
13"He looked tired."
14"It did nothing useful to"
15"He glanced down the corridor,"
16"She should have shut the"
17"She knew that with the"
18"She opened it just enough"
19"He closed the door behind"
ratio0.43
41.01% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount150
totalSentences179
matches
0"The door opened on the"
1"Aurora kept one hand wrapped"
2"Lucien stood on the landing"
3"Water darkened the shoulders of"
4"His pale hair lay slicked"
5"The ivory handle of his"
6"Aurora’s mouth flattened."
7"Lucien looked at the chain,"
8"His mouth bent, not quite"
9"The smell of old paper,"
10"Lucien’s gaze moved once over"
11"Aurora started to shut it."
12"His cane slipped forward, not"
13"He did it with the"
14"Rain tapped the grimy stairwell"
15"Ptolemy rubbed against Aurora’s shin,"
16"Lucien lowered his voice."
17"His jaw shifted."
18"A crack in that polished"
19"He let the word land."
ratio0.838
27.93% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount1
totalSentences179
matches
0"If he had arrived sleek"
ratio0.006
76.72% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences54
technicalSentenceCount5
matches
0"Worn at the edges, as if the rain had dissolved the lacquer and left the man underneath standing bare on her landing."
1"Lucien crossed the threshold with a small incline of his head, as if she had invited him to dinner instead of granting access under threat."
2"He drew in a breath through his nose, steadying himself, and for the first time since she had known him, Lucien Moreau looked like a man walking into a room wit…"
3"He stopped close enough that she caught the scent of rain, smoke, and something darker that had always clung to him beneath the expensive soap, something singed…"
4"His eyes searched her face as if he’d forgotten every language except this one hard moment in a cluttered flat above a curry house."
79.55% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags11
uselessAdditionCount1
matches
0"she said, voice frayed,"
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags4
fancyCount2
fancyTags
0"he murmured (murmur)"
1"she whispered (whisper)"
dialogueSentences125
tagDensity0.032
leniency0.064
rawRatio0.5
effectiveRatio0.032
89.3673%