NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-17-01KHMQXW9M74KG58VBDV0VKH98
Run Details
Model:
GPT-4.1 Mini
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
14.1s
Cost:
$0.002121
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 paused in the cramped hallway of Eva’s flat, her hand still resting on the worn brass doorknob. The late afternoon light filtered weakly through the grimy window opposite, casting a sickly yellow across the mess of books and papers piled like small towers around the room. She’d been halfway through answering an email when the knock came—soft, hesitant, but insistent. She thought she knew who it was before she even opened the door. Now, standing there in the narrow entrance, leaning
slightly
on his ivory-handled cane, was Lucien Moreau. The
silk
sheen of his charcoal suit caught the dull light, impeccable even here in the chaos of Brick Lane. His heterochromatic eyes—one amber, one black—fixed on her through the slight gap in the door as if weighing something unseen. “Lucien,” she said, voice clipped, cold with the careful distance she always used to protect herself. Her bright blue eyes flashed briefly with surprise, then hardened like a shield. “Rory,” he replied, the ease in his French-accented English never quite fading no matter how many times they crossed paths. “May I come in?” She swallowed hard, the familiar timbre stirring half-buried memories and that old, stubborn ache in her chest. She stepped aside without a word. Inside, the smell of jasmine incense, old paper, and damp fabric enveloped them. Ptolemy, the squat tabby cat perched on the window sill, arched his back and padded
cautiously
toward the newcomer, eyes narrowing with feline suspicion. Lucien crouched smoothly, hand extending as if to make peace. The cat sniffed, then chose to rub against his polished shoe. Aurora watched, arms crossed, leaning back against the doorframe. She noticed the subtle change—Lucien’s jaw
was clenched
, a shadow behind those impossibly calm eyes. She hadn’t expected this visit, didn’t know what pushed him to climb three flights of stairs unannounced. Their last parting still lingered like smoke in her lungs—half regret, half relief. “So,” Lucien said, standing and brushing a speck of dust from his sleeve, “Eva sends her regards, by the way. Says the curry smells like a spice bazaar.” A
flicker
of a smile tugged at Rory’s lips despite herself. Eva’s energy was infectious that way. “Thanks. She’s... well, she’s good.” “Glad to hear it.” His gaze slid to a threadbare cloak draped over a chair, then
slowly
,
deliberately
, back to her. “We need to talk.” She was silent, heartbeat hammering against her ribs. Talk. The word tasted both promise and peril. She stepped fully inside and closed the door behind them, the click reverberating through the cramped space like a starting gun. “Why are you here, Lucien?” Her voice was quiet but firm, the chill barely masking how much she’d wished this moment wouldn’t come. “Because you disappeared without a word.” His expression was sharp, pained even beneath the practiced control. “And because I need your help.” The words struck her like ice water. She had every right to hold him at arm’s length, but something—maybe the rare vulnerability in those uneven eyes—pulled her forward. She scrubbed a hand through her straight, shoulder-length black hair, her scar against her wrist a small prickling reminder of past mistakes. “You left, too,” she said
softly
. “You chose to vanish into your own world.” He winced at the accusation but didn’t deny it. “I thought you wanted to be left alone. With Evan, with all of it.” He paused, voice dropping to a murmur. “I was wrong.” Her breath caught. The name still tasted bitter on her tongue, a shadow she
was desperate
to outrun, not face head-on with him here now. The room felt too small; the air thick with old grudges and
unspoken
regrets. Ptolemy hopped onto the couch, settling between them as if sensing the fragile tension. “I’m not the person you left,” she whispered, not meeting his gaze. “Not anymore.” Lucien took a careful step closer, cane tapping
softly
on the floor. “Neither am I.” There was a trembling honesty in his words that undid some of the armor she’d worn for years. She glanced up, finally meeting his eyes—the amber one softened, the black one still
unreadable
. “We can’t pretend the past didn’t happen,” she admitted. “But maybe that means we start from here, not from where we broke.” He nodded, a slow, hopeful motion. “I’ve been tangled in shadows, Rory. But I want to find the light again. With you.” Her heart stuttered, caught between the scars of old wounds and the fragile possibility of something new, something stolen from the darkness but shining all the brighter for it. She stepped forward, close enough to see the faint lines at the corners of his eyes, the way his lips twitched uncertainly. “Then maybe,” she said, voice breathless, “we need to stop running. Together.” Lucien offered a rare, genuine smile—less the polished mask of the Frenchman fixer, more the man who craved a second chance. “Together,” he agreed. Outside, dusk settled over Brick Lane, but inside the cluttered flat, a fragile warmth
began to
bloom between two people who had once lost each other—and might just find their way back again.
created_at
"2026-02-17T02:47:47.76463+00:00"
2/17/2026, 2:47:47 AM
model
"openai/gpt-4.1-mini-2025-04-14"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
488
moderation_latency
(null)
generation_time
13882
tokens_prompt
808
tokens_completion
1375
native_tokens_prompt
754
native_tokens_completion
1137
native_tokens_completion_images
0
native_tokens_reasoning
0
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.0021208
router
(null)
provider_responses
0
id
"resp_01dd6c14c82f5b5a016993d6c500fc8196bffd33e14fb456de"
status
200
is_byok
false
latency
138
endpoint_id
"872eccb7-9c85-45fc-974a-ff7c8e2407e6"
provider_name
"OpenAI"
model_permaslug
"openai/gpt-4.1-mini-2025-04-14"
api_type
"completions"
id
"gen-1771296452-YwbzaWAyyErtj4DelFR9"
upstream_id
"resp_01dd6c14c82f5b5a016993d6c500fc8196bffd33e14fb456de"
total_cost
0.0021208
cache_discount
(null)
upstream_inference_cost
0
provider_name
"OpenAI"
Evaluation details
Result
Evaluator
Details
Meta Data
8.3333%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
8
adverbTagCount
3
adverbTags
0
"she said, voice clipped, cold with the careful distance she always used to protect herself [always]"
1
"he replied, the ease in his French-accented English never quite fading no matter how many times they crossed paths [quite]"
2
"she said softly [softly]"
30.6358%
AI-ism adverb frequency
Target: <1% AI-ism adverbs (57 tracked)
wordCount
865
totalAiIsmAdverbs
6
found
0
adverb
"cautiously"
count
1
1
adverb
"deliberately"
count
1
2
adverb
"slightly"
count
1
3
adverb
"slowly"
count
1
4
adverb
"softly"
count
2
highlights
0
"cautiously"
1
"deliberately"
2
"slightly"
3
"slowly"
4
"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)
53.7572%
AI-ism word frequency
Target: <1% AI-ism words (140 tracked)
wordCount
865
totalAiIsms
4
found
0
word
"flicker"
count
1
1
word
"silk"
count
1
2
word
"unspoken"
count
1
3
word
"unreadable"
count
1
highlights
0
"flicker"
1
"silk"
2
"unspoken"
3
"unreadable"
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
52
matches
0
"was desperate"
100.0000%
Filter word density
Target: ≤12% sentences with filter/hedge words
filterCount
0
hedgeCount
1
narrationSentences
52
filterMatches
(empty)
hedgeMatches
0
"began to"
100.0000%
Overuse of "that" (subordinate clause padding)
Target: ≤10% sentences with "that" clauses
thatCount
0
totalSentences
62
matches
(empty)
92.9157%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
28
mean
30.39
std
14.44
cv
0.475
sampleLengths
0
74
1
56
2
29
3
24
4
23
5
58
6
54
7
28
8
22
9
25
10
37
11
23
12
22
13
28
14
36
15
33
16
25
17
28
18
14
19
15
20
33
21
22
22
22
23
29
24
34
25
21
26
3
27
33
100.0000%
Passive voice overuse
Target: ≤5% passive sentences
passiveCount
1
totalSentences
52
matches
0
"was clenched"
100.0000%
Past progressive (was/were + -ing) overuse
Target: ≤10% past progressive verbs
pastProgressiveCount
0
totalVerbs
118
matches
(empty)
81.7092%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
729
adjectiveStacks
1
stackExamples
0
"stirring half-buried memories"
adverbCount
39
adverbRatio
0.053497942386831275
lyAdverbCount
15
lyAdverbRatio
0.0205761316872428
100.0000%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
62
echoCount
0
echoWords
(empty)
100.0000%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
62
mean
13.73
std
7.5
cv
0.547
sampleLengths
0
18
1
29
2
14
3
13
4
16
5
20
6
20
7
16
8
13
9
20
10
4
11
17
12
6
13
13
14
24
15
10
16
11
17
9
18
15
19
17
20
13
21
28
22
11
23
6
24
5
25
21
26
4
27
8
28
1
29
7
30
21
31
23
32
16
33
6
34
7
35
21
36
22
37
6
38
8
39
9
40
21
41
3
42
3
43
22
44
14
45
14
46
12
47
2
48
12
49
3
74.7312%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
7
diversityRatio
0.5161290322580645
totalSentences
62
uniqueOpeners
32
0.0000%
Dialogue tag variety (said vs. fancy)
Target: ≤30% fancy dialogue tags
totalTags
8
fancyCount
8
fancyTags
0
"she said, voice clipped, cold with the careful distance she always used to protect herself (say, clip, always protect)"
1
"he replied, the ease in his French-accented English never quite fading no matter how many times they crossed paths (reply, cross)"
2
"Lucien said, standing and brushing a speck of dust from his sleeve (say, stand brush)"
3
"she said softly (say softly)"
4
"she whispered, not meeting his gaze (whisper, does not meet)"
5
"she admitted (admit)"
6
"she said, voice breathless (say, voice)"
7
"he agreed (agree)"
78.9460%