NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-17-01KHMQS28CQ001ABKZ36DG7R2E
Run Details
Model:
o4 Mini
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
28.2s
Cost:
$0.015287
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
Messages
Meta
AI
Aurora Carter’s fingers hovered above the chipped brass latch of Eva’s front door, the late-afternoon light slanting through the single dusty pane and illuminating motes that danced like motes of memory in her mind. Ptolemy, Eva’s tabby cat, slunk beneath her legs, tail twitching, as if warning her of the intruder before she even heard the knock—a single, firm rap that vibrated through the three deadbolts on the oak door. She stared at the spot where shadow pooled, her heart ticking faster than it had in months. She glanced back at the cluttered hallway: stacks of leather-bound journals, scrawled maps curling at the edges, candles half-burned in iron holders. In the narrow vestibule, a rolled parchment spilled onto the floor like a secret she’d been too afraid to open. She’d come here to help Eva catalog arcane texts, to flee the memory of another flat, another man pushing too hard, too fast. She’d thought London was her fresh start. She heard the knock again, more insistent. Something in the quickness of it made her chest tighten. Her thumb brushed the crescent-shaped scar on her left wrist as she took a breath, as though touching the memory of that childhood accident could steel her now. She undid the top bolt, then the middle. Ptolemy’s eyes, wide pale gold disks, followed her every movement. She waited an extra heartbeat—half a prayer—then turned the knob and pushed. The door swung inward. The hallway filled with the scent of damp pavement and something faintly exotic—bitter-wood smoke and a metallic undertone. He stood there in the gloom, lean as a coiled reed: slicked-back platinum hair
gleaming
like moonlight on steel, tailored charcoal suit fitted so
precisely
it might have
been woven
to his shape. He held an ivory-handled cane in his left hand, tipping it casually so the slender blade concealed within it caught the light. One eye, amber and liquid in its warmth, studied her through a veil of calm; the other, deep obsidian, reflected the dwindling day. Lucien Moreau. Aurora’s heart
lurched
. She’d half-frozen—an
echo
of every moment they’d shared and every moment he’d walked away. Beneath the doorway, the storm of memory thrashed against her ribs, each beat a warning: Don’t let him in. He tilted his head, his lips curving in a faint, rueful smile. “Rory.” His voice was
silk
and shadows, familiar and yet sharpened in the months they’d been apart. He stepped forward, and the door’s frame held him like a picture come to life. Ptolemy hissed low in her throat, hair on end, as Lucien’s amber eye narrowed, acknowledging the cat’s distrust. Aurora swallowed. “You shouldn’t be here.” His hand dropped from the cane’s handle. He held up empty palms, a gesture of truce. “I know. But I had to see you.” She pressed her shoulder against the door, just enough to remind him he wasn’t welcome. “You had a damned good reason last time.” He lifted his chin. “I was wrong. It wasn’t—” He faltered, as if the apology lodged in his throat. “I never meant to hurt you.” A slow tightness coiled in her belly at those words. Hurt was exactly the word. She’d felt it in the hollow between her ribs, cold and relentless. She glanced down at her wrist, at the ghost of that childhood scar, as if it bound her to vulnerability she despised. “Then why are you here now?” He met her gaze, amber and black flashing with urgency. “I need your help.” That simple confession cracked the door further. She shook her head,
flicked
her hair back. Black strands swung like dark confessions. “Your kind of help always comes with strings attached.” He exhaled, a sound like regret spilling out. “Not this time. There’s something coming through the Veil. Something I can’t handle alone.” He paused, then added
softly
, “And I can’t do any of it without you.” She bristled. “Why not me? Because I’m human and mortal?” The candlelight in the hallway
flickered
, casting grotesque shadows over his sharp cheekbones. “Because you’re brilliant. You see things I miss. And you care when others don’t.” Care. That word sounded like a confession. Aurora’s pulse hammered. She pressed her lips together. The instinct to slam the door
was desperate
—but the promise in his gaze, the raw vulnerability he’d barely let show,
unsettled
her more than anger. She could smell the faint trace of expensive aftershave—bergamot and something darker, ancient. It made her dizzy. Before she could find the words to refuse, Ptolemy brushed around her ankles and wound between Lucien’s legs. The cat’s purring thrummed against his cane. Lucien crouched, one careful step, hand extended. “Easy, Ptolemy.” The cat sniffed him and then, with feline indifference, rubbed his head against Lucien’s palm. Lucien looked up at Aurora, that odd pair of eyes caressing her with equal parts relief and apology. She opened the door wider. She hated herself for it, hated the way her breath caught. “Fine,” she said, voice tight. “You can come in. But I’m not making coffee.” He nodded once, a soldier acknowledging impossible orders, then stepped over the threshold. The door swung fully open, and she snagged it against a stopper. She leaned her shoulder into the frame, hands crossed over her chest, as if to ward off any more of his needs. Inside, sunlight slanted across overflowing shelves,
glinting
off a half-melted stub of blue candle. Scrolls perched precariously atop leather tomes inscribed with runes. Every surface bore the
weight
of Eva’s relentless research. Ptolemy leapt onto a stack of books by the door, tail flicking, watching Lucien with cautious green eyes. Lucien set his cane against the wall and turned to her, the hem of his coat brushing a pile of vellum. “I’m sorry I disappeared.” His amber eye darkened. “I should have told you what was happening in Marseille—about my father, about Avaros.” A tremor slid through Aurora. The realm of Avaros. She had heard the rumors—demons, bargains, half-breeds with deals carved into their flesh. She crossed her arms tighter. “You made a choice without me.” His gaze cast downward, shoulders tightening. “I panicked. I thought I could
keep that side
of my life separate from you. But when it collapsed…” He sucked in a breath, then met her eyes. “I lost more than distance. I lost you.” Pain, bright and unyielding, flared in her chest. “You never gave me a chance to decide.” He stepped forward, the seam of his jacket moving with him. Aurora almost stumbled back, heart racing. He paused a breath away, fingers curled as if to reach out, then drew them back. She saw the struggle in his face—half-demon caught between pride and need. “I’m here now. I’m asking.” She closed her eyes, blinked back a wave of memory: his warm hand cradling her wrist after a cut, his slow French whispers in the dark, the amber eye watching her in moonlight. She felt the scar beneath her sleeve, fingertip
brushing that sliver
of flesh. Hurt and longing tangled in her chest so
tightly
she thought she might suffocate. “What if I say no?” she murmured, voice barely steady. Lucien’s heterochromatic gaze softened. “Then I’ll leave,” he said quietly. “But I’ll never forgive myself for not trying.” The resolve in his tone cut through her anger. She took a step back, bumped against the doorjamb, and slid down until she sat on the bottom step, shoulders curled around her knees. She stared at the floor, the threads of her resolve unspooling. “You know this isn’t just me saying no,” she whispered. “Magic, demons… I have a life here. A flat above Silas’s bar. A job at the Golden Empress. I can’t throw all that away.” Lucien lowered himself beside her, leaning his cane against the step. “I’m not asking you to throw it away.” He reached out
cautiously
, thumb brushing her scar. She flinched, then didn’t pull away. His touch was cool, comforting, and she felt the tension in her arm ease. “Just… a few nights. Look into what’s crossing the Veil. You’re the only one with the mind and the courage to track it.” She looked up, dark hair tumbling forward, shielding her eyes. His gaze held her there, amber and inky black. “Why me, Lucien? Why not one of your contacts in the supernatural community?” He brushed a stray lock from her face. Dust motes danced in the stray beam of light, marking his shadow on the wall behind him. “Because they’d gamble with lives. You won’t.” Silence stretched between them, taut and trembling. She met his gaze—saw in that dual-colored stare the depth of his need, the promise he’d never broken before. She felt a single, decisive shift in her chest: part resentment, part something softer, a cautious hope. “Alright,” she whispered at last. Her voice
echo
ed in the cluttered hallway. “But after this, we settle things—once and for all.” He exhaled, relief flaring in his amber eye, and offered her a small, genuine smile. When his fingers closed around hers, the touch was a vow, an apology, and a beginning. Ptolemy meowed, leapt down, and wound around their feet, as though sealing the fragile new accord beneath ancient tomes and flickering candlelight. Outside, the curry house below groaned as a customer slipped the door open. But in Eva’s flat, between tomes and secrets and half-demon confessions, Aurora Carter and Lucien Moreau sat side by side on the doorstep of the unknown, two hearts bound by hurt and hope, ready to face whatever waited beyond the Veil—together.
created_at
"2026-02-17T02:45:24.274397+00:00"
2/17/2026, 2:45:24 AM
model
"openai/o4-mini-2025-04-16"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
4594
moderation_latency
(null)
generation_time
28056
tokens_prompt
808
tokens_completion
3050
native_tokens_prompt
753
native_tokens_completion
3286
native_tokens_completion_images
0
native_tokens_reasoning
1088
native_tokens_cached
0
num_media_prompt
(null)
num_input_audio_prompt
(null)
num_media_completion
0
num_search_results
(null)
origin
"https://ncbench.com/"
is_byok
false
finish_reason
"stop"
native_finish_reason
"completed"
usage
0.0152867
router
(null)
provider_responses
0
id
"resp_074d229c3cc74590016993d62742348195a4f6d69643d10d32"
status
200
is_byok
false
latency
150
endpoint_id
"bd121898-b27c-4e2c-bc92-278627465a54"
provider_name
"OpenAI"
model_permaslug
"openai/o4-mini-2025-04-16"
api_type
"completions"
id
"gen-1771296295-Jny5vD0pLXXNuiXz5fLQ"
upstream_id
"resp_074d229c3cc74590016993d62742348195a4f6d69643d10d32"
total_cost
0.0152867
cache_discount
(null)
upstream_inference_cost
0
provider_name
"OpenAI"
Evaluation details
Result
Evaluator
Details
Meta Data
22.2222%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
6
adverbTagCount
2
adverbTags
0
"He paused, then added softly [then softly]"
1
"he said quietly [quietly]"
75.2475%
AI-ism adverb frequency
Target: <1% AI-ism adverbs (57 tracked)
wordCount
1616
totalAiIsmAdverbs
4
found
0
adverb
"cautiously"
count
1
1
adverb
"precisely"
count
1
2
adverb
"softly"
count
1
3
adverb
"tightly"
count
1
highlights
0
"cautiously"
1
"precisely"
2
"softly"
3
"tightly"
100.0000%
AI-ism character names
Target: 0 AI-default names (17 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
100.0000%
AI-ism location names
Target: 0 AI-default location names (33 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
38.1188%
AI-ism word frequency
Target: <1% AI-ism words (140 tracked)
wordCount
1616
totalAiIsms
10
found
0
word
"lurched"
count
1
1
word
"flickered"
count
1
2
word
"flicked"
count
1
3
word
"gleaming"
count
1
4
word
"glinting"
count
1
5
word
"silk"
count
1
6
word
"unsettled"
count
1
7
word
"weight"
count
1
8
word
"echo"
count
1
9
word
"echoed"
count
1
highlights
0
"lurched"
1
"flickered"
2
"flicked"
3
"gleaming"
4
"glinting"
5
"silk"
6
"unsettled"
7
"weight"
8
"echo"
9
"echoed"
100.0000%
Cliche density
Target: ≤1 cliche(s) per 800-word window
totalCliches
0
maxInWindow
0
found
(empty)
highlights
(empty)
100.0000%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
1
narrationSentences
107
matches
0
"was desperate"
100.0000%
Filter word density
Target: ≤12% sentences with filter/hedge words
filterCount
0
hedgeCount
0
narrationSentences
107
filterMatches
(empty)
hedgeMatches
(empty)
100.0000%
Overuse of "that" (subordinate clause padding)
Target: ≤10% sentences with "that" clauses
thatCount
2
totalSentences
129
matches
0
"keep that side"
1
"brushing that sliver"
100.0000%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
39
mean
40.77
std
23.64
cv
0.58
sampleLengths
0
87
1
89
2
58
3
100
4
2
5
36
6
13
7
49
8
6
9
24
10
23
11
25
12
55
13
14
14
30
15
36
16
10
17
27
18
57
19
67
20
30
21
47
22
50
23
43
24
33
25
42
26
16
27
50
28
60
29
10
30
18
31
78
32
70
33
32
34
32
35
43
36
21
37
53
38
54
100.0000%
Passive voice overuse
Target: ≤5% passive sentences
passiveCount
1
totalSentences
107
matches
0
"been woven"
100.0000%
Past progressive (was/were + -ing) overuse
Target: ≤10% past progressive verbs
pastProgressiveCount
0
totalVerbs
237
matches
(empty)
100.0000%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1333
adjectiveStacks
0
stackExamples
(empty)
adverbCount
47
adverbRatio
0.035258814703675916
lyAdverbCount
13
lyAdverbRatio
0.009752438109527382
100.0000%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
129
echoCount
0
echoWords
(empty)
100.0000%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
129
mean
12.33
std
7.83
cv
0.635
sampleLengths
0
34
1
36
2
17
3
22
4
20
5
23
6
7
7
7
8
10
9
28
10
8
11
10
12
12
13
4
14
18
15
33
16
22
17
23
18
2
19
3
20
14
21
19
22
12
23
1
24
16
25
15
26
18
27
2
28
4
29
7
30
9
31
8
32
15
33
8
34
4
35
15
36
6
37
10
38
5
39
12
40
22
41
6
42
10
43
4
44
7
45
8
46
6
47
9
48
8
49
28
43.4109%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
14
diversityRatio
0.32558139534883723
totalSentences
129
uniqueOpeners
42
0.0000%
Dialogue tag variety (said vs. fancy)
Target: ≤30% fancy dialogue tags
totalTags
6
fancyCount
6
fancyTags
0
"He paused, then added softly (pause, add softly)"
1
"she said, voice tight (say, voice)"
2
"murmured (murmur)"
3
"he said quietly (say quietly)"
4
"she whispered (whisper)"
5
"she whispered at last (whisper)"
81.1176%