NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-17-01KHMR1QMEXC8X509GK3MTJFDH
Run Details
Model:
o4 Mini
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
17.5s
Cost:
$0.011973
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 over the spread of parchment and dog-eared tomes that cluttered Eva’s coffee-stained dining table. Candlelight
flickered
across her bright blue eyes, casting her slim figure in
dancing
shadows. Ptolemy, Eva’s tabby cat, curled at her elbow, purring a low rumble that vibrated through the scar on her left wrist. Outside, Brick Lane murmured with late-night traffic and distant laughter from the curry houses below. She tightened the scarf around her neck, stifling a yawn, and reached for her pen. A sudden click
echoed
through the narrow hallway. Three locks slid into place—one, two, three—and a hesitant knock followed. Rory froze. Visitors at this hour, unannounced, were rare. Her lips parted as if to say Eva’s name, reminding herself this was Eva’s flat, not her own
sanctuary
above Silas’s bar. But curiosity pushed her up from the chair, the leather grating against her palms as she rose. She advanced along the sea of books, her boots scuffing the hardwood floor. Ptolemy padded alongside her, tail twitching. Rory paused at the door, pressing an ear against the wood. The muffled tones on the other side held a familiar smoothness she hadn’t heard in months—months since she last saw him under different circumstances. Her heart thudded unevenly against her ribs. She unlocked the top deadbolt, then the middle, then slid the bottom latch free. The door eased open, and she blinked against the sudden draft of cool night air. Lucien Moreau stood framed in the threshold, ivory-handled cane in hand, blade concealed. His tailored charcoal suit was impeccable, as always, the fabric catching the glow of the hallway lamp. One amber eye, one black, studied her with calm intensity. His platinum blond hair
was slicked
back, each strand in place as though he’d paused mid-application of some invisible gel. “I hope I’m not intruding,” he said in English, but the accent—soft hints of French and something older—curling around each word sent a pulse of memory through her. Rory’s voice came out steadier than she felt. “Lucien.” She crossed her arms, bracing herself against the surge of emotions. “What are you doing here?” He stepped inside without waiting for an invitation. The door clicked shut behind him, muffled by the odd scraps of parchment pinned around the jamb. His gaze swept the cramped one-bedroom flat, lingering on stacks of scrolls near the window, a half-finished cup of tea on the windowsill. He met her eyes. “I came because I need your help,” he said as he slid the cane under his arm. Rory’s breath caught. The last time he asked for her help, she’d been too afraid to say no. He’d made her
feel
needed in a way her life delivering food to front doors never did. But she’d left him then—left everything—instead of facing the demons he brokered with. “I’m… I’m not sure I should,” she said, stepping back. Lucien’s lips quirked in something like regret. “I know.” He folded his arms, the ivory handle of the cane pressing against his forearm. “But it’s about Eva. She’s… she’s in danger.” Rory’s stomach clenched. Eva’s flat, Eva’s cat, Eva’s safety. She wanted to shut him down, tell him to leave. Instead, she swallowed. “What sort of danger?” He closed the distance between them, careful not to invade her space but urgent enough that his presence buzzed through the air. “A contact of mine spotted someone tailing you both—something supernatural.” He paused, voice low. “A warlock with contacts in the underworld.” Her chest tightened. She knelt to scratch Ptolemy behind the ears; the cat purred louder, as if sensing the tension. “Why come to me? You have other allies.” He lowered his eyes. “Because you’re the one who escaped him.” He meant the warlock. The abusive ex
was gone
; Evan was human. But this warlock was another figure from her past, someone who’d forced her to think outside the box of her Pre-Law training. “You’re the quickest thinker I know.” She bristled. Quick thinking had saved her from Evan, from half a dozen tight spots delivering food to no-paper-trail clients. It had also nearly gotten her killed when she’d volunteered to help Lucien track a demon smuggler weeks before she fled to London for good. “I’m not… I’m not your errand girl.” Lucien’s jaw tightened. “That’s not what I meant.” She pressed a hand to her scar,
feel
ing the faint raised curve beneath her fingers. “Then what did you mean, Lucien?” He watched the scar as if it held answers. “I meant I trust you.” He reached inside his suit and withdrew a slim envelope of parchment, ancient and brittle at the edges. “I need you to read this. It’s cursed in a way I can’t begin to
unravel
on my own.” Rory stared at the parchment as though it might bite her. Her mind reeled: curses, warlocks, supernatural tailing. Late-night research sessions with Eva had become her escape, her attempt to untangle a world she barely understood. She glanced at the books piled on the table: demonology texts, protective-ward diagrams, binding-ritual instructions. She’d immersed herself in arcane knowledge since fleeing Evan. But with Lucien here, those books had a different
weight
—one she hadn’t anticipated. “I don’t know if I’m ready for this,” she admitted. Lucien held her gaze, amber eye flicking to black. “You’ll never be ready,” he said quietly. “But you’re the only one who can.” A tremor of something—fear, anger, longing—passed through her. She remembered their last night together: the scent of his cologne, the hush of his voice as he told her the world was darker than she knew. She’d pulled away, too scared, and disappeared. Now he stood in Eva’s flat, asking her to risk herself again. She wondered if he’d ever forgiven her. Ptolemy wound around her legs, demanding more attention. Rory bent to stroke the tabby’s soft fur, using the moment to weigh her choices. She could close the door, tell Lucien she was done with supernatural messes, and continue her delivery shifts in peace. Or she could step into danger with him, face the unknown, and perhaps open the door to her own aching heart. She sighed and looked up. Her hair, straight and fat from running a brush across it, caught the candlelight. “Show me,” she said. “But I’m not doing this for you. I’m doing it for Eva.” Lucien’s posture relaxed, just a fraction. He placed the parchment on the table and lit a second candle. The flame’s glow revealed
intricate
sigils and symbols—sharp lines that
seemed to
itch. Rory braced one hand on the table, knuckles whitening, and traced a finger along the edges. “What is it?” she whispered. He leaned in. The scent of sandalwood and something metallic rode the night air. “A binding oath,” he said. “Once you read it aloud, the warlock knows you’ve broken into his domain.” Her pulse quickened. “So it’d mark me.” Lucien’s amber eye softened. “Only if he catches you.” Rory closed her eyes, recalling every abandoned scrap of safety she’d ever known. She could
feel
Lucien’s presence behind her—solid, reassuring, yet charged with that same tension she felt whenever he was near. She snatched up her pen. “If I do this, you’ll help me.” He nodded, one eyebrow lifting. “I always do.” She turned back to the parchment and
began to
decipher the archaic language, the words rough on her tongue. Lucien watched her, every muscle taut. Outside, the city sighed, unaware of the pact
being formed
in a cramped flat above a curry house. When she finished, the silence stretched. Ptolemy stopped purring, eyes wide. Rory sucked in air, her throat raw. She looked at Lucien, expecting triumph or relief. Instead, his gaze held something softer—pride, concern, and something she refused to name. “I’m in,” she said, voice steady despite the tremor in her chest. He closed the distance, slid the cane aside, and offered his hand—not the blade, but his bare palm. “Then let’s finish this.” Rory placed her hand in his. His grip was warm, grounding. For a moment, her world narrowed to that touch: rough calluses on his palm, the faint pulse in his wrist, the quiet promise he wouldn’t let her face the darkness alone. Behind them, the city’s hum swelled, and somewhere down Brick Lane, a late train clattered. In Eva’s flat, candles guttered as Rory and Lucien leaned together over a table strewn with secrets. The warlock’s threat still
loomed
, but for now, they stood united—two mismatched souls bound by danger, trust, and a history they’d never quite left behind.
created_at
"2026-02-17T02:49:57.072059+00:00"
2/17/2026, 2:49:57 AM
model
"openai/o4-mini-2025-04-16"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
4396
moderation_latency
(null)
generation_time
17241
tokens_prompt
808
tokens_completion
2572
native_tokens_prompt
753
native_tokens_completion
2533
native_tokens_completion_images
0
native_tokens_reasoning
576
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.0119735
router
(null)
provider_responses
0
id
"resp_099412a5f26f56ca016993d74348dc819090fc3f5f03e5e72a"
status
200
is_byok
false
latency
124
endpoint_id
"bd121898-b27c-4e2c-bc92-278627465a54"
provider_name
"OpenAI"
model_permaslug
"openai/o4-mini-2025-04-16"
api_type
"completions"
id
"gen-1771296579-fTdd6MqAqDbrVzFhO5jV"
upstream_id
"resp_099412a5f26f56ca016993d74348dc819090fc3f5f03e5e72a"
total_cost
0.0119735
cache_discount
(null)
upstream_inference_cost
0
provider_name
"OpenAI"
Evaluation details
Result
Evaluator
Details
Meta Data
59.2593%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
9
adverbTagCount
2
adverbTags
0
"she said, stepping back [back]"
1
"he said quietly [quietly]"
100.0000%
AI-ism adverb frequency
Target: <1% AI-ism adverbs (57 tracked)
wordCount
1453
totalAiIsmAdverbs
0
found
(empty)
highlights
(empty)
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)
44.9415%
AI-ism word frequency
Target: <1% AI-ism words (140 tracked)
wordCount
1453
totalAiIsms
8
found
0
word
"sanctuary"
count
1
1
word
"flickered"
count
1
2
word
"loomed"
count
1
3
word
"intricate"
count
1
4
word
"weight"
count
1
5
word
"dancing"
count
1
6
word
"echoed"
count
1
7
word
"unravel"
count
1
highlights
0
"sanctuary"
1
"flickered"
2
"loomed"
3
"intricate"
4
"weight"
5
"dancing"
6
"echoed"
7
"unravel"
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
0
narrationSentences
107
matches
(empty)
100.0000%
Filter word density
Target: ≤12% sentences with filter/hedge words
filterCount
1
hedgeCount
2
narrationSentences
107
filterMatches
0
"feel"
hedgeMatches
0
"seemed to"
1
"began to"
100.0000%
Overuse of "that" (subordinate clause padding)
Target: ≤10% sentences with "that" clauses
thatCount
0
totalSentences
125
matches
(empty)
100.0000%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
37
mean
38.51
std
20.8
cv
0.54
sampleLengths
0
83
1
67
2
54
3
36
4
60
5
28
6
25
7
69
8
58
9
31
10
26
11
43
12
28
13
51
14
52
15
8
16
21
17
51
18
73
19
10
20
23
21
61
22
64
23
35
24
47
25
5
26
32
27
7
28
9
29
45
30
8
31
43
32
39
33
12
34
22
35
42
36
57
100.0000%
Passive voice overuse
Target: ≤5% passive sentences
passiveCount
3
totalSentences
107
matches
0
"was slicked"
1
"was gone"
2
"being formed"
100.0000%
Past progressive (was/were + -ing) overuse
Target: ≤10% past progressive verbs
pastProgressiveCount
0
totalVerbs
225
matches
(empty)
100.0000%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1258
adjectiveStacks
0
stackExamples
(empty)
adverbCount
36
adverbRatio
0.028616852146263912
lyAdverbCount
4
lyAdverbRatio
0.003179650238473768
100.0000%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
125
echoCount
0
echoWords
(empty)
100.0000%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
125
mean
11.4
std
6.53
cv
0.572
sampleLengths
0
18
1
14
2
21
3
15
4
15
5
8
6
11
7
2
8
7
9
22
10
17
11
13
12
6
13
11
14
24
15
7
16
14
17
15
18
13
19
17
20
10
21
20
22
28
23
8
24
12
25
5
26
8
27
17
28
23
29
4
30
17
31
3
32
15
33
17
34
13
35
10
36
7
37
16
38
8
39
3
40
6
41
10
42
3
43
4
44
22
45
14
46
7
47
3
48
17
49
8
48.0000%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
5
diversityRatio
0.312
totalSentences
125
uniqueOpeners
39
0.0000%
Dialogue tag variety (said vs. fancy)
Target: ≤30% fancy dialogue tags
totalTags
9
fancyCount
7
fancyTags
0
"he said in English, but the accent—soft hints of French and something older—curling around each word sent a pulse of memory through her (say send)"
1
"he said as he slid the cane under his arm (say slide)"
2
"she said, stepping back (say, step)"
3
"she admitted (admit)"
4
"he said quietly (say quietly)"
5
"whispered (whisper)"
6
"she said, voice steady despite the tremor in her chest (say, voice)"
85.4236%