NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-17-01KHMQHB4PQH8DXSV82C0FDFMZ
Run Details
Model:
o4 Mini
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
30.1s
Cost:
$0.016805
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 gilt edges of a half-unfurled scroll as the third knock rattled against the battered oak door. Ptolemy, the flat’s tabby
sentinel
, lifted his striped tail from the pile of research notes and padded down the narrow corridor, ears flat. Aurora’s heart hammered in a staccato she barely recognized. Who on earth would knock this late—this insistently—at Eva’s flat, with its three deadbolts and piles of erudite detritus? She set her quill aside, blinked at the twisting script on the parchment. The room smelled of ink and hot tea, of old paper and dust. Hands still trembling, she stood, tugged the scroll to the edge of the table. The lamp’s flame
wavered
. Rain whispered against the small windowpane. Rory—Aurora—clenched her free hand to steady herself. The scar at her wrist burned where the
silk
cuff bit into it. Another knock, firmer this time. Someone was patient enough to wait her fumbling through bolt one, two, three. She inhaled
sharply
, stalked forward, and unlatched the first lock. Then the second. Then the third. The door swung inward with a creak that sounded a demand. He stood in the threshold, motionless, drenched in rain, tailored charcoal suit clinging to narrow shoulders, shoes speckled with droplets. Slicked-back platinum blond hair glistened under the dim corridor light. One eye glowed amber, the other orbited by inky blackness, heterochromatic, unsettling—and achingly familiar. Ivory-handled cane concealed by his right hand, blade-hilt
gleaming
. Lucien Moreau. Rory’s breath caught. She pressed her palm flat against the frame, her voice caught in her throat. Lucien tipped his head, the cane sliding forward, a thread of silver beneath the handle. “I’m sorry,” he said, voice low, measured. “I shouldn’t have come unannounced.” She measured the distance between them on the threshold. Inches and months and
unspoken
goodbyes. “You—why are you here?” Her voice rose an octave at the end. Defensive. Accusatory. Vulnerable. She hated how vulnerable she felt. He held her gaze, one eye warm, one cold. “It’s important.” Rory’s arms folded across her chest. She drew in a stiff breath. “You know this is Eva’s flat. She’s out of town. You can’t just—” He shifted his
weight
, slick suit fabric creasing at the elbow. “I didn’t feel I could wait.” She swallowed, flash of anger knitting her brow. “Then wait.” A tense silence filled the corridor. Ptolemy, suspicious, rubbed against Lucien’s ankle. He glanced down at the cat and smiled once—slow, rueful. “Even Ptolemy recognizes me.” She relaxed a fraction. The cat purred, rolling between Lucien’s heels. His thumb stroked its fur. Rory edged back to let him inside. “Fine,” she said, twisting the door wider. “Come in. But one wrong move—” He lifted a hand. Black-suited sleeve made him seem aristocratic, dangerous. “No wrong moves. I promise.” Inside, books teetered on every shelf, scrolls spilling across the low coffee table. Aurora
flicked
on a wall sconce. Yellow light cracked through the shadows. She folded her arms, back to the lamp, chestnut curls brushing her shoulders. Lucien paused, surveying the clutter with a detective’s scrutiny. “How long have you been here?” she asked. “Since just now.” He stepped over a stack of vellum, cane clicking on the worn rug. “But I’ve been waiting for a chance to explain.” Her stomach flipped. “Explain what?” He stopped beneath another sconce. Rain dripped from his coat onto the rug. She caught herself staring at the amber eye, the narrow line of his mouth. Once, she’d fallen for that half-smile. Once, she’d believed in him. Now her mind raced with memories: the way he’d leaned close in the dark alley behind Yu-Fei Cheung’s Golden Empress, breath warm on her neck. The way he’d vanished before sunrise, leaving unanswered questions. “I’m in trouble,” he said
softly
. “And I—” He paused. Ran a hand through damp hair. Droplets slid down rails of pale skin. “I need you.” Heat coiled in her belly, equal parts anger and something old and tender. “Need me?” She laughed, sharp. “You hardly—” He took another step. Ptolemy skipped ahead, then arched his back against Rory’s legs. Lucien’s hand drifted toward his cane, then settled on his coat’s lapel. “I hardly told you the truth,” he corrected. “But I need your help now, and I’ll tell you everything.” She felt her defenses crack. She’d become so practiced at shielding herself—at swearing off trust after Evan. But Lucien was different. Even his voice held a dangerous comfort. “Why come here?” she asked, gesturing around the flat. “Why not Silas’s bar? Or Golden Empress?” His gaze
flicked
to the scroll-littered table. “Because you’re here, and I need your mind. Your insight. And…” He inhaled, looked back at her. “I need you.” Silence stretched. Aurora’s pulse roared so loud she
was afraid
he’d hear it. She pressed her hand to the scar on her wrist where a childhood accident had branded her. What madness made her pulse spare for him? Ptolemy circled her ankles, then flopped down, eyes heavy. Lucien watched her studying the cat. Then he watched her scar. His gaze softened. “That mark saved you once,” he murmured. “Let me help save you now.” Her chest tightened. “You saved me?” She shook her head. “I saved myself.” His lips twitched. “You always do.” Aurora stiffened—he’d praised her intelligence and resourcefulness before. Years of studying law had honed her mind; her heart still ached from choices she’d had to make. Lucien’s praise felt like both balm and blade. “Sit,” she said abruptly, nodding to the threadbare sofa. “Tell me what’s happening before my cat decides you’re a treat.” He sank into the cushion, placing the cane across his knees. Ptolemy hopped onto the sofa’s armrest, tail flicking. Rory retreated to her desk chair, folding one leg beneath her. She flipped open a tattered notebook, pen at the ready. Lucien watched her move. Every precise gesture anchored him in a reality beyond schemes and shadows. He cleared his throat. “Yesterday, in Avaros”—his voice dropped to a whisper—“someone stole a binding seal. It’s big, Rory. It can tear open doors between realms. And I suspect it’s headed here.” Aurora’s heart stalled. “Avaros? But that’s—” “Demon realm,” he finished. “Not exactly next door.” Her pen stilled. “You think someone’s going to
use that seal
in London?” “Already tracking its energy signature.” He rubbed his thumb over the cane’s ivory handle. “I need you to research any references to similar seals—history, vulnerabilities, counterbindings. I need your legal mind to piece together loopholes in occult law, loopholes they might exploit.” She leaned forward, adrenaline flaring. Despite every caution, she felt the old thrill—solving puzzles, piecing mysteries, outwitting those who underestimated her. “I can help,” she said. The words tasted dangerous on her tongue. “But you owe me full truth. No more half-secrets.” He met her gaze steadily. “You’ll have it.” Aurora closed her notebook, then reopened it. She scribbled a heading: “Binding Seal: References.” Lucien exhaled, tension melting from his shoulders. For a moment, she glimpsed him unmasked: a man forced by duty to betray his own heart, now seeking her aid again. Lightning
flickered
beyond the window. Thunder rattled the panes. Outside, Brick Lane’s curry houses closed for the night; the city hummed with restless magic. Aurora rose and padded to the kitchenette. She set the kettle on the stove, filled it from the tap. Lucien watched the steam coil from her hair, how her lashes brushed her cheeks when she concentrated. When she returned with two chipped mugs, he held out his hand. She hesitated, then let him draw near. She placed a mug on the table between them, then stepped back. He cradled the warm
porcelain
, and his gaze
flickered
to her lips. “Rory,” he said
softly
. The old nickname made her pulse stutter. She leaned against the table, crossing her arms again. His nearness was a gauntlet: comforting and incendiary all at once. “We’re partners in this,” she said, voice steady. “Nothing more.” “Partners,” he repeated, the single word a promise—and a plea. Ptolemy yawned, settled between them on the sofa cushion. Aurora’s eyes softened. She reached a hand out and stroked the cat’s fur. Lucien watched her fingertips graze the tabby’s back. He inched forward, one careful step. “Rory,” he murmured, voice low as thunder outside. His hand hovered near hers, fingers brushing the edge of the table—so close. She swallowed, memories roaring back: midnight confessions under the bar’s neon sign, brush of skin as he guided her through a hidden alley, the way his hand had
trembled
when he held her first. Her breath caught. The kettle clicked off. She glanced at the stove, then back to him. “Lucien—” He closed the distance, one inch. His hand hovered above hers. Lightning flashed. In that
stark
light, his amber eye burned like a flame, the black eye deep as night. He tipped his head. “I won’t lie again.” Her heart thudded so loud she feared he’d hear it. Time stretched. Ptolemy’s soft purr filled the room. Then he brushed past Lucien, hopped down, and vanished into the shadows. Rory exhaled, a laugh trembling free. Relief—and longing—coursed through her. She knew the danger ahead: realms bleeding together, enemies hunting. But she also knew this: she and Lucien, together, could face it. She uncrossed her arms and extended a hand. “Tell me everything,” she said, voice soft. His fingers brushed hers. The brush sparked like fire. He nodded once. “Everything.” Outside, thunder rolled. Inside, the door remained bolted—but their hearts stood open.
created_at
"2026-02-17T02:41:12.958059+00:00"
2/17/2026, 2:41:12 AM
model
"openai/o4-mini-2025-04-16"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
5886
moderation_latency
(null)
generation_time
30003
tokens_prompt
808
tokens_completion
3083
native_tokens_prompt
753
native_tokens_completion
3631
native_tokens_completion_images
0
native_tokens_reasoning
1344
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.0168047
router
(null)
provider_responses
0
id
"resp_00140a4d4de3c377016993d52a39d88195920bc35bb93f1ff9"
status
200
is_byok
false
latency
143
endpoint_id
"bd121898-b27c-4e2c-bc92-278627465a54"
provider_name
"OpenAI"
model_permaslug
"openai/o4-mini-2025-04-16"
api_type
"completions"
id
"gen-1771296042-MifVkBAq3y0Z5n1gCuUv"
upstream_id
"resp_00140a4d4de3c377016993d52a39d88195920bc35bb93f1ff9"
total_cost
0.0168047
cache_discount
(null)
upstream_inference_cost
0
provider_name
"OpenAI"
Evaluation details
Result
Evaluator
Details
Meta Data
70.8333%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
16
adverbTagCount
3
adverbTags
0
"he said softly [softly]"
1
"she said abruptly, nodding to the threadbare sofa [abruptly]"
2
"he said softly [softly]"
81.3200%
AI-ism adverb frequency
Target: <1% AI-ism adverbs (57 tracked)
wordCount
1606
totalAiIsmAdverbs
3
found
0
adverb
"sharply"
count
1
1
adverb
"softly"
count
2
highlights
0
"sharply"
1
"softly"
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)
19.0535%
AI-ism word frequency
Target: <1% AI-ism words (140 tracked)
wordCount
1606
totalAiIsms
13
found
0
word
"sentinel"
count
1
1
word
"flickered"
count
2
2
word
"flicked"
count
2
3
word
"gleaming"
count
1
4
word
"wavered"
count
1
5
word
"trembled"
count
1
6
word
"porcelain"
count
1
7
word
"silk"
count
1
8
word
"unspoken"
count
1
9
word
"stark"
count
1
10
word
"weight"
count
1
highlights
0
"sentinel"
1
"flickered"
2
"flicked"
3
"gleaming"
4
"wavered"
5
"trembled"
6
"porcelain"
7
"silk"
8
"unspoken"
9
"stark"
10
"weight"
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
163
matches
0
"was afraid"
100.0000%
Filter word density
Target: ≤12% sentences with filter/hedge words
filterCount
0
hedgeCount
0
narrationSentences
163
filterMatches
(empty)
hedgeMatches
(empty)
100.0000%
Overuse of "that" (subordinate clause padding)
Target: ≤10% sentences with "that" clauses
thatCount
1
totalSentences
192
matches
0
"use that seal"
100.0000%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
54
mean
29.3
std
17.89
cv
0.611
sampleLengths
0
73
1
70
2
45
3
55
4
32
5
12
6
36
7
11
8
25
9
17
10
10
11
26
12
36
13
16
14
47
15
8
16
25
17
5
18
72
19
26
20
20
21
45
22
28
23
16
24
27
25
38
26
36
27
13
28
6
29
34
30
20
31
40
32
48
33
6
34
8
35
13
36
42
37
42
38
8
39
43
40
60
41
43
42
11
43
30
44
10
45
36
46
55
47
17
48
38
49
36
100.0000%
Passive voice overuse
Target: ≤5% passive sentences
passiveCount
0
totalSentences
163
matches
(empty)
100.0000%
Past progressive (was/were + -ing) overuse
Target: ≤10% past progressive verbs
pastProgressiveCount
0
totalVerbs
264
matches
(empty)
100.0000%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1339
adjectiveStacks
0
stackExamples
(empty)
adverbCount
47
adverbRatio
0.0351008215085885
lyAdverbCount
9
lyAdverbRatio
0.006721433905899925
100.0000%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
192
echoCount
0
echoWords
(empty)
100.0000%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
192
mean
8.24
std
5.39
cv
0.654
sampleLengths
0
22
1
23
2
9
3
19
4
13
5
13
6
14
7
4
8
6
9
7
10
13
11
5
12
13
13
10
14
3
15
3
16
11
17
20
18
10
19
14
20
9
21
2
22
3
23
14
24
15
25
7
26
5
27
9
28
6
29
12
30
1
31
1
32
1
33
6
34
9
35
2
36
6
37
6
38
13
39
11
40
6
41
8
42
2
43
6
44
6
45
10
46
4
47
4
48
7
49
5
59.3750%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
6
diversityRatio
0.375
totalSentences
192
uniqueOpeners
72
0.0000%
Dialogue tag variety (said vs. fancy)
Target: ≤30% fancy dialogue tags
totalTags
16
fancyCount
13
fancyTags
0
"he said, voice low, measured (say, voice)"
1
"she said, twisting the door wider (say, twist)"
2
"he said softly (say softly)"
3
"laughed (laugh)"
4
"he corrected (correct)"
5
"he murmured (murmur)"
6
"she said abruptly, nodding to the threadbare sofa (say abruptly, nod)"
7
"he finished (finish)"
8
"he said softly (say softly)"
9
"she said, voice steady (say, voice)"
10
"he repeated, the single word a promise—and a plea (repeat)"
11
"he murmured, voice low as thunder outside (murmur, voice)"
12
"she said, voice soft (say, voice)"
84.1519%