NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-17-01KHMQV0V7XRANV2134D09HMAS
Run Details
Model:
GPT-4.1
Test:
Bad Writing Habits
Scenario:
Horror: alone in an eerie place at night
Duration:
42.2s
Cost:
$0.015534
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> <location id="861" name="The Fae Grove" aliases="Isolde's grove, Richmond grove, the Grove" realm="Earth (Fae-touched)"> <parkLocation>Richmond Park</parkLocation> <standingStones>ancient oak standing stones mark the boundary</standingStones> <timeBehavior>time moves differently — an hour inside can be minutes or days outside</timeBehavior> <flora>wildflowers bloom year-round</flora> <description>A hidden clearing that exists in a pocket between Earth and the Fae realm.</description> </location> <item id="2001" name="Heartstone Pendant" aliases="the pendant, Heartstone" type="Artifact" origin="Dymas"> <gemstoneColor>deep crimson</gemstoneColor> <chainMaterial>silver chain</chainMaterial> <size>roughly the size of a thumbnail</size> <behavior>pulses faintly with warmth when near a Hel portal</behavior> <glow>faint inner glow</glow> <description>Given to Aurora by an unknown benefactor.</description> </item> </codex> Write a fully fleshed out scene of at least 1000 words in the horror genre. A character is alone in a strange, isolated place at night. They came here for a reason, but something feels off from the moment they arrive. The wrongness builds slowly — sounds that shouldn't be there, things that move at the edge of vision, a growing certainty that they are not alone. Build tension through restraint, not through gore. Use the codex entries above as your world reference for the character and setting. Only include the prose of the scene without any markdown or commentary.
Model response
Messages
Meta
AI
Aurora Carter kept her hands buried in her coat pockets as she slipped through the thinning trees. Her
footsteps
barely disturbed the scattered leaf mold carpeting the ground, each crunch sounding too loud. It was past midnight, and Richmond Park should have been silent, closed to all but foxes and the rare, gliding shadow of an owl on the hunt. Yet somewhere, far off but not far enough, a branch snapped—a crisp, splintering sound, more deliberate than wind or wandering deer. She hesitated at the boundary of the grove, frozen by something other than the damp air prickling her cheeks. Ahead, ancient oaks rose in a loose, impossible circle. Their trunks had
been worn
smooth and pale by years of wind and secret rituals—Aurora had stood here in daylight, once, letting her fingers skim the strange glyphs burned into the bark. Now, under the waning moon, the oaks seemed taller, their canopies tangled so thickly overhead that not even starlight broke through. Her heart beat too fast. To calm herself, Aurora rolled the Heartstone Pendant between her thumb and forefinger, feeling its reassuring
weight
, its low, persistent heat. If the stories Eva muttered over coffee had any truth, the Heartstone would warn her of danger. But tonight it was just warm—it didn’t pulse, didn’t glow. She pressed her palm over it, felt its gentle thrum
echo
ing the quick flutter of her own pulse. She couldn’t turn back. She’d promised Eva she would come—just a
look
, she’d said, just see if anything answered from the Grove. Eva had sounded so sure that Aurora would be able to tell if the Fae
were watching
. Aurora didn’t know what she expected to find. She only knew she’d dreamed of the standing stones in fevered, slippery fragments all last week, woken each time bone-cold and tangled in sweat-soaked sheets. Aurora
flicked
on her phone torch, sending a
wavering
funnel of light ahead. The grass in the clearing had grown long, trapping pale blooms in their shadows; wildflowers, even in February, clustered thickly between the oaks. Not normal. Not right. She remembered Eva’s whisper: time moves differently inside the Grove. A day here, two heartbeats out there. She ducked beneath an overhanging branch and stepped inside the stone circle. The threshold prickled across her skin, goosefleshing her arms. It felt like walking through an invisible membrane, into a hush pressed flat and close. Aurora let her phone dangle from her wrist, its light trembling over moss and vivid daffodils. Nothing moved. No bird calls, no rustle from hidden animals, nothing but the hush and the friendly, infant warmth of the Heartstone against her heart. The silence stretched. She took another step, feeling watched—though by what, she couldn’t say. Far off, there was the faintest
echo
of music. Three notes, delicate as glass bells, drifting from somewhere deeper in the Grove. Aurora held her breath. The melody—if it was a melody—never repeated, just rang out and faded away, as though whatever played it was uncertain whether to linger or flee. She told herself, firmly, that it was just the city bleeding in through the fences. Some other idiot wandering the park after dark, humming to themselves. She almost believed it. Aurora made herself walk clockwise along the inside of the standing stones, tracing her fingers over the chalk-white glyphs. They felt hot, humming, as if the wood beneath her palm drew breath. Her eyes strained, searching between the black trunks for movement, an outline, anything— Something
fluttered
, quick and light, at the edge of her vision; she jerked her head, torch beam swinging to the undergrowth. There was nothing but tangled roots knuckling out of earth and bluebells nodding heavy with dew. Her breath steamed in the cold. A shape
flickered
in the trees—a thin arm, or the shadow of one, vanishing behind a trunk. The wrongness swelled, blooming low in her belly, rising. “Hello?” she called, the word too small, her voice tight. No answer, not even an
echo
. Aurora cursed under her breath. Her legs wanted to run, but she forced herself along the perimeter. This was what Eva asked her to do: make contact,
look
, sense. Simple as walking the dog, except the dog was every horror story Aurora’s mother had ever hissed at her for telling in the dark. A laugh, quiet as breath, uncurled from somewhere close behind. Aurora whirled, phone shaking in her grip. Nothing. Only the hush, and the strange feeling that the trees had pivoted
slightly
in their places, closing in a fraction. The air thickened, sweet and damp. Aurora’s fingers tightened on her pendant. She squatted in the grass, clutching the silver chain. The Heartstone pulsed warm and slow—not alarm, not quite—but now the space between the trees flexed unnaturally. The wildflowers at her knees
seemed to
bend toward her, nodding even though there was no wind. She caught another
flicker
—this time, unmistakably, a face peering out from the split in an oak. Too pale, too long; eyes large and
glinting
, hungry as foxfire. As soon as her lamp swept over the split, it vanished. Aurora licked her lips, throat dry. “I’m only here to
look
,” she whispered to the trees, absurd, but necessary. Silence. The grass pressed against her boots, cool and springy. She
was crouching
now, heartbeat wild, both palms flat on the ground. The earth was alive, humming, as if something moved beneath the shallow roots. She straightened up, ready to back toward the boundary. But the oaks had shifted further. No, not the oaks—the stones. The gaps she’d entered through had narrowed, closed in a step at a time. For a mad moment Aurora thought she saw the glyphs sliding, reshaping themselves the way letters curl on old maps. The Heartstone burned
suddenly
hot at her neck. Not heat—pressure. Aurora plucked it from her shirt. In the phone’s circle of light, the crimson gem glowed faintly from within, a steady alive pulse. She heard her own breath, ragged, loud. Between two trunks, the shadows bunched together. For an instant, a whole painted scene: a girl, white-gowned and willow-thin, stood barefoot in the flowers. Her mouth moved, words forming. Aurora
tried to
hear but the buzzing in her ears rose, drowning the voice. The girl’s eyes never left hers—too bright, impossible, reflections of wrong stars. The figure receded. The petals where she’d stood lay pressed down, wet as if in mourning. Aurora’s skin crawled. She circled backward, eyes locked on the place where the girl had vanished. Her foot caught a root and she staggered, wind-milling, landing hard on one knee. The music started again, urgent this time, off from any key she’d ever heard—notes blurring, climbing. The wind shifted—she swore it carried laughter, but gutter-deep this time, nothing like the previous breathy hint. Aurora bolted for the boundary, moving as quietly as she could, heart hammering a warning against her ribs. She reached for the nearest standing stone—felt the glyphs scalding hot under her palm—and squeezed the chain of the Heartstone for luck. Behind her, something followed. She heard grass bend, brittle stems snapped by careful, studying feet. She did not
look
back—the terror curdled too thick and old, the sort of fear that belonged to old childhood nightmares. At last she broke the invisible bubble; the air flattened, warmed
suddenly
, and all of Richmond’s distant city lights blinked between the branches. The sounds of traffic and distant sirens filtered through. Aurora stumbled free, lungs heaving. She didn’t stop until her back was to a lamppost, her hands knotted tight around the cooling Heartstone. Inside her chest, her heart kept on pounding a warning. Behind her, the Grove rested—patient, silent, its secrets unspilled. The wildflowers gleamed in the shadows. Somewhere, far off, a girl’s laughter played like a broken music box, fading as the world righted itself and left Aurora once again,
utterly
, alone.
created_at
"2026-02-17T02:46:42.046719+00:00"
2/17/2026, 2:46:42 AM
model
"openai/gpt-4.1-2025-04-14"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
303
moderation_latency
(null)
generation_time
42118
tokens_prompt
812
tokens_completion
2063
native_tokens_prompt
743
native_tokens_completion
1756
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.015534
router
(null)
provider_responses
0
id
"resp_0af2e2ef73dc28a7016993d66762e881939c241da8e7104cce"
status
200
is_byok
false
latency
123
endpoint_id
"c235abe8-11cc-42d3-95ad-72f4d198287a"
provider_name
"OpenAI"
model_permaslug
"openai/gpt-4.1-2025-04-14"
api_type
"completions"
id
"gen-1771296359-phuro9HCe87T5G6Yvp3r"
upstream_id
"resp_0af2e2ef73dc28a7016993d66762e881939c241da8e7104cce"
total_cost
0.015534
cache_discount
(null)
upstream_inference_cost
0
provider_name
"OpenAI"
Evaluation details
Result
Evaluator
Details
Meta Data
100.0000%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
2
adverbTagCount
0
adverbTags
(empty)
70.1046%
AI-ism adverb frequency
Target: <1% AI-ism adverbs (57 tracked)
wordCount
1338
totalAiIsmAdverbs
4
found
0
adverb
"slightly"
count
1
1
adverb
"suddenly"
count
2
2
adverb
"utterly"
count
1
highlights
0
"slightly"
1
"suddenly"
2
"utterly"
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)
17.7877%
AI-ism word frequency
Target: <1% AI-ism words (140 tracked)
wordCount
1338
totalAiIsms
11
found
0
word
"flickered"
count
1
1
word
"flicker"
count
1
2
word
"flicked"
count
1
3
word
"glinting"
count
1
4
word
"wavering"
count
1
5
word
"fluttered"
count
1
6
word
"weight"
count
1
7
word
"footsteps"
count
1
8
word
"echo"
count
2
9
word
"echoing"
count
1
highlights
0
"flickered"
1
"flicker"
2
"flicked"
3
"glinting"
4
"wavering"
5
"fluttered"
6
"weight"
7
"footsteps"
8
"echo"
9
"echoing"
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
106
matches
(empty)
100.0000%
Filter word density
Target: ≤12% sentences with filter/hedge words
filterCount
1
hedgeCount
2
narrationSentences
106
filterMatches
0
"look"
hedgeMatches
0
"seemed to"
1
"tried to"
100.0000%
Overuse of "that" (subordinate clause padding)
Target: ≤10% sentences with "that" clauses
thatCount
0
totalSentences
106
matches
(empty)
74.8423%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
30
mean
43.7
std
18
cv
0.412
sampleLengths
0
81
1
81
2
71
3
72
4
57
5
36
6
55
7
51
8
30
9
45
10
43
11
26
12
10
13
59
14
17
15
33
16
43
17
38
18
19
19
35
20
54
21
40
22
55
23
16
24
30
25
33
26
40
27
36
28
55
29
50
100.0000%
Passive voice overuse
Target: ≤5% passive sentences
passiveCount
1
totalSentences
106
matches
0
"been worn"
100.0000%
Past progressive (was/were + -ing) overuse
Target: ≤10% past progressive verbs
pastProgressiveCount
2
totalVerbs
218
matches
0
"were watching"
1
"was crouching"
96.8994%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1332
adjectiveStacks
0
stackExamples
(empty)
adverbCount
58
adverbRatio
0.04354354354354354
lyAdverbCount
17
lyAdverbRatio
0.012762762762762763
100.0000%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
106
echoCount
0
echoWords
(empty)
100.0000%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
106
mean
12.37
std
6.7
cv
0.542
sampleLengths
0
17
1
16
2
27
3
21
4
19
5
9
6
32
7
21
8
5
9
21
10
17
11
10
12
18
13
4
14
18
15
17
16
8
17
25
18
13
19
23
20
2
21
2
22
10
23
7
24
12
25
9
26
15
27
16
28
2
29
23
30
3
31
11
32
9
33
13
34
4
35
25
36
15
37
11
38
4
39
19
40
13
41
13
42
21
43
16
44
6
45
17
46
9
47
10
48
6
49
5
52.2013%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
8
diversityRatio
0.3584905660377358
totalSentences
106
uniqueOpeners
38
50.0000%
Dialogue tag variety (said vs. fancy)
Target: ≤30% fancy dialogue tags
totalTags
2
fancyCount
1
fancyTags
0
"she whispered to the trees, absurd, but necessary (whisper)"
85.9903%