Run: 2026-03-06-01KK1HQY680PSJ0BM3PSMAXYH8

Run Details

Duration:
1m 22s
Cost:
$0.049478
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 first deadbolt scraped back. Then the second. Then the third. Aurora kept one hand on the chain and peered through the narrow gap, ready with the flat’s bent umbrella tucked behind her leg like a club. “What?” Lucien Moreau stood in the corridor under the weak yellow bulb, neat as a blade. Rain darkened the shoulders of his charcoal coat. His platinum hair stayed slicked back in spite of the weather, and his ivory-handled cane rested against the peeling wall as if the corridor belonged to him. One eye caught the light amber-bright. The other sat black and depthless. “Bonsoir, Rory.” She nearly shut the door on his face. His hand caught the wood before it slammed. Not hard. Certain. “Don’t.” “You had nerve when I met you. Nice to see you’ve kept it polished.” “Let me in.” “No.” From inside the flat, Ptolemy launched off a stack of journals and landed somewhere near the kitchenette with a thud and a scatter of loose papers. The room smelled of old books, burnt toast, and the turmeric drifting up from the curry house below. Behind Aurora, every lamp was on. Eva’s notes carpeted the table, the sofa, the floor. A chalk circle half-finished on a piece of butcher paper glowed under the lamplight in pale blue strokes. Lucien glanced past her shoulder. “Eva’s not here.” “That saved you a shouting match, not an invitation.” His mouth moved, not quite a smile. “You still put your shoulder against the door before you open it. Left foot braced. You used to do that in Soho.” Aurora tightened her grip on the chain. “You didn’t come here to reminisce.” “No.” “Then you definitely didn’t come in.” He looked down the stairwell, then back at her. For the first time she saw the split in his lower lip, thin and fresh, and the tear at the seam of one leather glove. That gave her a sharp, ugly stab of satisfaction. “Someone finally got bored of your voice?” “They got bored of missing.” “Tragic.” He breathed out through his nose. The corridor light buzzed overhead. Water ran from the hem of his coat onto the cracked lino. “I need five minutes.” “You used those exact words before you disappeared for four months.” The line landed. She watched it hit him. His jaw shifted once. He did not look away. “I know.” “Do you?” “Yes.” Ptolemy appeared at Aurora’s ankle, tail high, and shoved his face through the gap in the door. The cat sniffed Lucien’s polished shoe, then rubbed against it as if greeting an old acquaintance. “Oh, don’t encourage him,” Aurora muttered. Lucien bent with stiff care, gloved fingers brushing the tabby’s back. Ptolemy purred at once, traitorous and loud. “He remembers me.” “He has no standards.” “He lives with occult scholars. His standards died months ago.” In spite of herself, the corner of her mouth twitched. She hated that he saw it. He saw everything. That had always been the trouble. Aurora started to close the door another inch. “Lucien, whatever this is, take it somewhere else.” “I can’t.” “Can’t or won’t?” He lifted his hand from the wood. Slowly. A peace offering from a man who preferred leverage to honesty. When he moved, the edge of his coat parted. Dark blood soaked the side of his waistcoat. Her spine went rigid. “You’re bleeding.” “A little.” “A little.” She stared at the stain spreading through expensive fabric. “You absolute idiot.” “I’ve heard better assessments.” “Go to a hospital.” “I’d rather be flayed.” “Tempting answer, but not useful.” “Rory.” The way he said her name still had the same effect. Not soft. Never soft. It slid under her skin and found every old bruise he’d left there without touching her once. She hated that too. “What happened?” “A discussion turned coarse.” “With who?” “People who would knock on every door in this building if they saw me enter.” That made her pause. Brick Lane never slept, but these halls carried sound like confessionals. One shouted name travelled to the street in seconds. “Are you followed?” “Not now.” “Not now isn’t the same as no.” “No.” She studied him through the gap. Rainwater. Blood. That split lip. The angle of his shoulders a shade too controlled. Lucien at ease carried himself like a man walking through a room he had paid to design. Lucien hurt went still in dangerous places. She knew both versions too well. Aurora sighed and slid the chain free. “If you drip on Eva’s grimoires, I’ll let her finish you.” “I accepted worse risks before climbing the stairs.” She opened the door wide enough for him to enter. He ducked inside with his cane, bringing the cold in after him. She shut the door at once and threw all three deadbolts back into place. Lucien stood in the centre of the cramped sitting room, taking in the chaos without comment. Books climbed the walls in swaying towers. Dried herbs hung from the curtain rod. A kettle sat on the hob beneath a paperweight made from what Aurora suspected had once been vertebrae. “You brought danger into a one-bedroom flat above a curry house,” she said. He looked around. “Your standards have slipped as well.” “It’s Eva’s flat.” “Ah. Then the danger predated me.” She strode to the kitchenette and yanked open a drawer. “Sit down.” “I’m fine.” She turned, already holding a tea towel, a roll of bandages, and a bottle of vodka Eva kept for sterilising tools and, on catastrophic evenings, her own temper. “Lucien.” He lowered himself onto the edge of the sofa with the controlled reluctance of a man who hated appearing weak in front of anyone, least of all her. His cane leaned against the armrest. Ptolemy jumped up beside him and settled as if supervising. Aurora planted herself in front of him. “Coat off.” He removed it, slow and precise. The waistcoat underneath was ruined down one side. The white shirt beneath that clung dark to his ribs. Her fingers paused over the buttons. “Did they stab you?” “A sliver of iron.” She looked up sharply. “Iron?” “Yes.” “Who carries iron in London unless they know what you are?” A beat passed. “People who knew what they were hunting.” The old chill walked straight down her back. She unbuttoned his waistcoat with quick, angry hands. “Take the shirt off.” “Buy me dinner first.” She met his eyes. “You nearly bled out on Eva’s sofa and still found room to be smug. That’s almost admirable.” “It’s all breeding.” “Shirt.” He pulled it loose from his waistband and peeled it off with a slight catch in his breath. There it was: a narrow puncture just below his ribs, cruel for how small it looked. The skin around it had darkened, the edges angry and burnt. Aurora sucked in air through her teeth. “That isn’t ‘a little.’” “I dislike melodrama.” “You are melodrama in a tailored suit.” She knelt by the low table and soaked the towel in vodka. The smell hit sharp enough to sting her eyes. “Hold still.” “I usually do when women kneel in front of me.” Her head snapped up. “Do you want the wound cleaned, or do you want me to stab the other side for symmetry?” That won him a real smile, quick and crooked and gone too soon. It changed his face in the same brutal way it always had. It stripped off polish and left the dangerous man underneath, the one she had nearly kissed in an alley behind a nightclub while his hand pinned hers against damp brick and both of them breathed like liars. She pressed the vodka-soaked cloth against the wound. He hissed. “Good,” she said. “If it hurts, you’re alive.” “Your bedside manner remains barbaric.” “You came to the wrong woman for tenderness.” The words landed between them and stayed there. Aurora kept her eyes on the wound. His skin was cool under her fingers, though not human-cold, not exactly. Fine pale scars crossed his side and chest, old marks she did not remember seeing before. Some looked like blades. One looked like a burn. “How long ago?” “An hour.” “Why here?” He watched her while she cleaned the blood away. She felt the weight of it across her mouth, her throat, the bend of her wrist where the crescent scar showed when her sleeve slipped back. “Because you answer locked doors with a weapon in hand.” “That was your reason?” “One of them.” “And the others?” He did not speak at once. That annoyed her more than if he had lied. Aurora reached for the bandage. “You don’t get to vanish,” she said, winding the clean strip around his torso, “and then turn up bleeding on my doorstep as if the last conversation never happened.” His hand closed over hers. Not rough. Enough to stop the next pass of bandage. “It never stopped happening.” She stared at where his long fingers covered hers. No glove now. Bare skin against bare skin. Her pulse knocked once, hard and stupid. “You walked out of the restaurant,” she said. “You looked me in the face, told me I was safer not knowing, and disappeared before dessert. That looked a lot like stopping.” Rain tapped the window. Somewhere below, a moped revved, a horn snapped, voices rose and blurred in the street. Lucien let go of her hand. “I left because a man from Avaros put a price on anyone I touched twice.” Aurora’s laugh came out flat. “You had touched me more than twice by then.” His black eye held hers. “Exactly.” She tied off the bandage with a jerk. “You don’t get to dress cowardice as sacrifice and expect applause.” Colour rose along his cheekbones, small and vicious. “You think I don’t know that.” “Do you?” “I knew it every night.” That pulled her up short. He sat shirtless on Eva’s battered sofa, blood cleaned from his side, rain still drying on his hair, and for once there was nothing arranged about him. No measured smirk. No polished answer. The room had become too small for both of them and all the words they had not said. Aurora set the bottle down before she dropped it. “You could have told me the truth.” “And then what?” He leaned back against the cushions with care. “You would have thanked me? Shaken my hand? Packed a bag and hidden while I dismantled the problem?” “I would have chosen.” “That was the one thing I couldn’t allow.” She folded her arms. “You didn’t get to decide that.” “I did.” The words came low and hard. “I was already watching your windows. I had men near the restaurant. I bribed your landlord to change the lock on the back entrance after your ex found the address. Do you think I had room left for noble restraint?” The room went silent except for the kettle beginning its soft pre-boil murmur. Aurora blinked. “You what?” Lucien shut his eyes for one brief second, as if he had gone one sentence too far and knew it. There it was. The crack in him. Small. Irreparable. “When Evan came to London,” he said, “he spent two days asking after a black-haired Welsh girl who delivered for Golden Empress. I found out before he found the right building. After that, I kept watch.” She stared at him. “You never told me.” “You were rebuilding your life with your teeth. I wasn’t going to put my hand on your shoulder and ask for gratitude.” “I didn’t need gratitude,” she snapped. “I needed honesty.” “Yes.” The clean admission hit harder than denial. Ptolemy stretched across Lucien’s thigh, kneading ruined waistcoat fabric with bright contentment. Aurora wanted to throw something at the cat. Instead she turned away and filled the kettle the rest of the way, if only to do something with her hands. Metal rang against the sink. Behind her, Lucien spoke. “I came tonight because the people who used iron found an address book on a broker in Limehouse. Mine was in it. So was Eva’s. Yours by extension.” Aurora looked over her shoulder. “You brought them here.” “I came to warn you before they did.” “Who are they?” “A sect. Human, mostly. Wealthy. Old families with old tastes. They collect relics, buy exorcists, butcher anything they call impure.” “And you thought this was a five-minute conversation at the door?” “I thought you’d slam it in my face after ten seconds.” She turned off the tap. “That was still on the table.” “I counted on your curiosity overruling your sense.” “That’s not flattering.” “It wasn’t intended to be.” She faced him fully. “Why not go to one of your own people?” A quiet shift passed through his expression. “Because half-demons have ‘their own people’ in the same way knives have families.” That almost made her soften. Almost. Instead she pulled two mugs from the shelf. “You still take tea without sugar?” “Yes.” “You remember that but not how to send a message.” “I remembered too much.” She set the mugs down harder than needed. “You do not get to walk in here bleeding poetry.” “Poetry?” He gave a short, disbelieving laugh that tugged at the cut in his lip. “Rory, I look dreadful and your cat has chosen me over you. Nothing in this room resembles poetry.” The kettle clicked into a shrill boil. She poured, steam curling up between them. When she crossed back with one mug, he took it from her without a word. Their fingers brushed again. This time neither pulled away at once. Aurora looked at his face, at the mismatched eyes that had unsettled her from the first day and then ruined her in smaller, quieter ways after. At the mouth she had once wanted and later hated for being absent. At the man who had made choices for her, and for reasons she could not dismiss as simple cruelty. “You should have trusted me,” she said. He held the mug but did not drink. “I wanted to.” “That isn’t the same thing.” “No.” She sat in the armchair opposite him, tea warming her palms. The flat pressed close around them. Books leaned. Rain skated down the window. The smell of black tea cut through blood and vodka and the spice drifting up from the street. Lucien’s shirt lay in a dark heap on the floor. His cane rested by his knee, blade hidden inside ivory and steel. He looked dangerous. Hurt. Familiar. Aurora took a careful sip. “Start at the beginning,” she said. “This time, don’t leave anything out.”
created_at"2026-03-06T12:25:16.241Z" 3/6/2026, 12:25:16 PM
model"openai/gpt-5.4-20260305"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency373
moderation_latency(null)
generation_time81951
tokens_prompt1034
tokens_completion4017
native_tokens_prompt927
native_tokens_completion3144
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.0494775
router(null)
provider_responses
0
endpoint_id"9ff5625c-403f-4d7f-b895-58ac7295062c"
id"resp_076f4be0abca538c0169aac7ac4ed0819697356a8f1c5ba108"
is_byokfalse
latency134
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-1772799916-fO0fNwD5k0XFWSC9cznN"
upstream_id"resp_076f4be0abca538c0169aac7ac4ed0819697356a8f1c5ba108"
total_cost0.0494775
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
totalTags13
adverbTagCount1
adverbTags
0"He leaned back [back]"
dialogueSentences134
tagDensity0.097
leniency0.194
rawRatio0.077
effectiveRatio0.015
95.90% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2437
totalAiIsmAdverbs2
found
0
adverb"slowly"
count1
1
adverb"sharply"
count1
highlights
0"slowly"
1"sharply"
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.64% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2437
totalAiIsms7
found
0
word"chill"
count1
1
word"tenderness"
count1
2
word"weight"
count1
3
word"pulse"
count1
4
word"measured"
count1
5
word"unsettled"
count1
6
word"familiar"
count1
highlights
0"chill"
1"tenderness"
2"weight"
3"pulse"
4"measured"
5"unsettled"
6"familiar"
100.00% Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches1
maxInWindow1
found
0
label"room fell silent"
count1
highlights
0"The room went silent"
100.00% Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells0
narrationSentences185
matches(empty)
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount0
hedgeCount1
narrationSentences185
filterMatches(empty)
hedgeMatches
0"started to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences306
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
maxSentenceWordsSeen40
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2437
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions18
unquotedAttributions1
matches
0"Behind her, Lucien spoke."
89.72% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions47
wordCount1576
uniqueNames8
maxNameDensity1.21
worstName"Aurora"
maxWindowNameDensity2
worstWindowName"Aurora"
discoveredNames
Moreau1
Ptolemy5
Aurora19
Lucien12
Lane1
Eva3
Rain3
One3
persons
0"Moreau"
1"Ptolemy"
2"Aurora"
3"Lucien"
4"Eva"
5"Rain"
6"One"
places
0"Lane"
globalScore0.897
windowScore1
85.34% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences116
glossingSentenceCount3
matches
0"not quite a smile"
1"as if greeting an old acquaintance"
2"as if supervising"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches0
per1kWords0
wordCount2437
matches(empty)
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount1
totalSentences306
matches
0"hated that he"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs196
mean12.43
std13.45
cv1.082
sampleLengths
011
126
21
362
42
58
611
71
814
93
101
1177
125
133
149
1529
1613
171
186
1934
209
217
225
231
2423
254
2611
2717
282
292
301
3133
326
3318
343
354
3610
3716
389
398
408
412
423
4319
4417
454
462
472
4814
494
100.00% Passive voice overuse
Target: ≤2% passive sentences
passiveCount1
totalSentences185
matches
0"was ruined"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount0
totalVerbs257
matches(empty)
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount0
semicolonCount0
flaggedSentences0
totalSentences306
ratio0
matches(empty)
100.00% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount1581
adjectiveStacks0
stackExamples(empty)
adverbCount63
adverbRatio0.03984819734345351
lyAdverbCount8
lyAdverbRatio0.005060088551549652
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences306
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences306
mean7.96
std6.7
cv0.841
sampleLengths
05
13
23
326
41
515
68
727
86
96
102
118
128
132
141
151
1614
173
181
1926
2018
216
229
2318
245
253
269
277
2822
297
306
311
326
339
3425
359
367
375
381
396
405
4112
424
4311
443
455
464
475
482
492
45.42% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats14
diversityRatio0.2908496732026144
totalSentences306
uniqueOpeners89
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount5
totalSentences161
matches
0"Then the second."
1"Then the third."
2"Somewhere below, a moped revved,"
3"Instead she turned away and"
4"Instead she pulled two mugs"
ratio0.031
68.45% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount61
totalSentences161
matches
0"His platinum hair stayed slicked"
1"She nearly shut the door"
2"His hand caught the wood"
3"His mouth moved, not quite"
4"He looked down the stairwell,"
5"He breathed out through his"
6"She watched it hit him."
7"His jaw shifted once."
8"He did not look away."
9"She hated that he saw"
10"He saw everything."
11"He lifted his hand from"
12"Her spine went rigid."
13"She stared at the stain"
14"It slid under her skin"
15"She hated that too."
16"She studied him through the"
17"She knew both versions too"
18"She opened the door wide"
19"He ducked inside with his"
ratio0.379
46.96% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount133
totalSentences161
matches
0"The first deadbolt scraped back."
1"Aurora kept one hand on"
2"Lucien Moreau stood in the"
3"Rain darkened the shoulders of"
4"His platinum hair stayed slicked"
5"The other sat black and"
6"She nearly shut the door"
7"His hand caught the wood"
8"The room smelled of old"
9"Eva’s notes carpeted the table,"
10"A chalk circle half-finished on"
11"Lucien glanced past her shoulder."
12"His mouth moved, not quite"
13"Aurora tightened her grip on"
14"He looked down the stairwell,"
15"That gave her a sharp,"
16"He breathed out through his"
17"The corridor light buzzed overhead."
18"Water ran from the hem"
19"The line landed."
ratio0.826
0.00% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount0
totalSentences161
matches(empty)
ratio0
74.18% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences52
technicalSentenceCount5
matches
0"His platinum hair stayed slicked back in spite of the weather, and his ivory-handled cane rested against the peeling wall as if the corridor belonged to him."
1"The cat sniffed Lucien’s polished shoe, then rubbed against it as if greeting an old acquaintance."
2"A peace offering from a man who preferred leverage to honesty."
3"He lowered himself onto the edge of the sofa with the controlled reluctance of a man who hated appearing weak in front of anyone, least of all her."
4"Aurora looked at his face, at the mismatched eyes that had unsettled her from the first day and then ruined her in smaller, quieter ways after."
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags13
uselessAdditionCount0
matches(empty)
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags9
fancyCount2
fancyTags
0"Aurora muttered (mutter)"
1"she snapped (snap)"
dialogueSentences134
tagDensity0.067
leniency0.134
rawRatio0.222
effectiveRatio0.03
89.7202%