NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-17-01KHMQJ599SW7ZWT0R3XSPNH2P
Run Details
Model:
o4 Mini
Test:
Bad Writing Habits
Scenario:
Horror: alone in an eerie place at night
Duration:
16.0s
Cost:
$0.010263
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 paused at the threshold of the Grove, the ancient oaks arching overhead like silent
sentinels
. Her pulse
fluttered
beneath her ribs, each thump a reminder of why she’d come. The night air smelled of wet earth and something faintly sweet—wildflowers that should not bloom in late October. She tugged her coat tighter and brushed a lock of black hair from her face, scanning the clearing for the standing stones that marked the boundary. Moonlight glinted off their moss-clad surfaces, and somewhere beyond them, time rippled in strange, unknowable ways. A tremor of unease slid up her spine. The stones were larger than she’d imagined, gnarled and scarred by centuries of weather. Aurora swallowed and forced her shoulders down. She stepped forward, the gravel crunching under her boots. Her heartbeat thundered in her ears, but she had to keep moving. Eva had insisted she try the Heartstone one more time, that the pendant might guide her to the answers she needed. Aurora owed it to herself—and to all the questions she’d been running from since London. She lifted her hand and traced the small crescent scar on her left wrist, a talisman of her own survival. The pendant rested warm against her chest, a rough thumbnail–sized stone suspended from a silver chain. Deep crimson, it lay beneath her shirt, invisible to the rest of the world but pulsing faintly now, like a heartbeat in the dark. Aurora closed her eyes and let her fingertips brush the cool metal of the chain. Its warmth seeped upward, a subtle insistence that there was something here, something waiting. A dry crack
echoed
behind her. She spun, breath catching. The clearing was empty. The oaks stood motionless. A chill seeped through her coat. She shivered and drew in a steadying breath. No one would follow her here. Richmond Park
was locked
down at night. No one even knew about the Grove except the few who listened for the ancient hum in the trees. She stepped deeper into the hollow. Wildflowers brushed her ankles—pale blues and yellows that stared up at her like watchful eyes. She remembered Eva’s warning: trust the stone, but trust your mind more. Aurora squared her shoulders. She’d come to find a portal, maybe glimpse a trace of Hel’s realm. She even half-believed she’d see a way forward, some hint to cut through the years of half-lived dread since Evan had chased her out of Cardiff. But all she felt now was cold dread. Her foot caught on a root. She stumbled and caught herself against one of the stones. Moss brushed her sleeve, damp and yielding. The pendant buzzed faintly against her sternum. Through the veil of her unease she registered it: the glow was stronger here. She pressed her palm to the gemstone through her shirt. Warmth bloomed under her palm, a gentle pulse. She nodded, heart tightening with relief. She was on the right track. A whisper. Faint, distant, like a
silk
gown dragging over a
marble
floor. Aurora froze. She strained her ears. The wind was still. No animals should wander this deep, no foxes, no birds. And yet—there it was again. A voice, low and sibilant, too soft to catch words. She tilted her head, listening. The stones behind her stood silent, but leaves rustled somewhere to her right. She stepped toward the sound, inhaling the scent of honeyed blooms and decaying leaves. The pendant pulsed faster. Aurora’s breath caught. She drew her phone from her pocket and clicked on the flashlight. The beam cut a narrow swath through the gloom, illuminating tree trunks black as wet stone. There. A movement—bright blue eyes reflecting the light from between two oaks. Aurora’s heart leapt. She
started to
ward them. “Hello?” she called, voice steadier than she felt. “Is someone there?” Silence. The eyes vanished. The beam of her light swung. No one. Only the grooves of bark and the wildflowers, drooping under dewy
weight
. She frowned and lowered the phone. The hush pressed in around her, thicker than the fog in London’s streets. Her pulse stuttered. She swallowed. “Eva,” she whispered. She’d promised to text as soon as she arrived. She
flicked
on her screen. No signal. She sank to one knee, pressing a hand to the ground. Damp earth trickled through her fingers. She closed her eyes. There must be another way out. A path. Something
tangible
to hold onto. Behind her, the whisper rose into a chorus—a dozen voices weaving together like strands of smoke. Aurora snapped her eyes open. The trees
seemed to
shift. Oak and ash trunks leaned closer, branches curling like fingers in the faint moonlight. She gasped and scrambled to her feet. The whispering became a susurrus, an unbroken hum that filled her head. She clutched at her pendant. Let me out, she thought. The Grove
was supposed
to be a portal—her way in and out. Why was it trapping her? A twig snapped to her left. She swung around. The clearing was empty, but the stones
trembled
. Moss fell in ribbons. A breath colder than midnight drifted past her neck. Aurora kissed her teeth together. She forced herself to step forward, toward the trembling stone. If she could just touch it, maybe she could find the exit. She raised her hand, heart pounding. The pendant flared against her chest, like a warning. Her fingers brushed the stone’s surface. It was slick and slick and cold—alive with subtle vibration. Aurora recoiled. The humming in her head surged. She staggered back, chest tight. Wildflowers bowed as though a wind had swept through. She blinked and realized the petals had turned black, shriveled. Panic lanced her spine. She stumbled on the uneven ground, then found herself at the edge of the clearing, under a break in the oaks. There: a ribbon of pale moonlight. The world beyond looked normal—stray brambles, mossy trunks, the sloppy edge of the park. She bolted. Branches whipped at her face, snagging her coat. She crashed through undergrowth, lungs burning, head pounding. The whisper followed—soft, caressing, “Come back, come play.” Aurora didn’t stop. The trees turned from oaks to dense hawthorn, then to bramble and bracken. Her shoes slipped on mud. She fell face-first and tasted iron. She spat out soil, scrambled up, and staggered onward. The whisper became a high, lilted
giggle that cut
through her blood. Her coat snagged on a thornbush. She yanked free and tore it at the seam. Moonlight gleamed on droplets of red where her forearm had snagged. Pain bit, but she forced her legs to move. She skidded out of the thicket and found herself in the park proper: empty grass plain and distant wrought-iron fence. Stars
trembled
overhead. She pressed a hand to her chest, felt the pendant through cloth. Dim glow, gentle warmth. It still pulsed: a steady, reassuring beat. Aurora sank to her knees on the dew-slick grass, crying out for help, for Eva, for anything. Silence. Just the distant rustle of wildlife. No giggles, no voice. She blinked back tears. The Grove lay behind her, hidden among trees. She fought the urge to dash back, to smash the stones, to throw the pendant into the undergrowth. She slid her hand beneath her coat, pressed the pendant against her palm. The warmth soothed her, a heartbeat in the dark. She lifted her chin. She would find her way to London. She’d check the pendant again with Silas’s bar lights, with Yu-Fei’s stove flame. She would find answers—and if the Grove wouldn’t give them, she’d pry them out herself. Aurora rose, legs trembling like an old engine. She tucked the pendant beneath her shirt, pulled her torn coat closed, and began retracing her steps toward the gate. Behind her, the trees whispered. But she no longer listened. She walked on, certain that the Grove would wait. Time moved strangely there. Perhaps hours, perhaps days. It didn’t matter. She
steeled
her shoulders. She would return. She would be ready. And next time, she would not be alone.
created_at
"2026-02-17T02:41:25.435972+00:00"
2/17/2026, 2:41:25 AM
model
"openai/o4-mini-2025-04-16"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
2594
moderation_latency
(null)
generation_time
15870
tokens_prompt
812
tokens_completion
2368
native_tokens_prompt
742
native_tokens_completion
2147
native_tokens_completion_images
0
native_tokens_reasoning
320
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.010263
router
(null)
provider_responses
0
id
"resp_08d7a1ffb73bcdb4016993d544fc2c81959c90883bca909c60"
status
200
is_byok
false
latency
118
endpoint_id
"bd121898-b27c-4e2c-bc92-278627465a54"
provider_name
"OpenAI"
model_permaslug
"openai/o4-mini-2025-04-16"
api_type
"completions"
id
"gen-1771296068-pl254w75C6JdyolA6L14"
upstream_id
"resp_08d7a1ffb73bcdb4016993d544fc2c81959c90883bca909c60"
total_cost
0.010263
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
3
adverbTagCount
0
adverbTags
(empty)
100.0000%
AI-ism adverb frequency
Target: <1% AI-ism adverbs (57 tracked)
wordCount
1355
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)
18.8192%
AI-ism word frequency
Target: <1% AI-ism words (140 tracked)
wordCount
1355
totalAiIsms
11
found
0
word
"tangible"
count
1
1
word
"sentinels"
count
1
2
word
"flicked"
count
1
3
word
"trembled"
count
2
4
word
"fluttered"
count
1
5
word
"silk"
count
1
6
word
"marble"
count
1
7
word
"steeled"
count
1
8
word
"weight"
count
1
9
word
"echoed"
count
1
highlights
0
"tangible"
1
"sentinels"
2
"flicked"
3
"trembled"
4
"fluttered"
5
"silk"
6
"marble"
7
"steeled"
8
"weight"
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
0
narrationSentences
155
matches
(empty)
100.0000%
Filter word density
Target: ≤12% sentences with filter/hedge words
filterCount
0
hedgeCount
2
narrationSentences
155
filterMatches
(empty)
hedgeMatches
0
"started to"
1
"seemed to"
100.0000%
Overuse of "that" (subordinate clause padding)
Target: ≤10% sentences with "that" clauses
thatCount
1
totalSentences
156
matches
0
"giggle that cut"
0.0000%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
16
mean
83.5
std
11.56
cv
0.138
sampleLengths
0
91
1
86
2
89
3
64
4
84
5
74
6
80
7
65
8
101
9
86
10
72
11
93
12
74
13
98
14
102
15
77
100.0000%
Passive voice overuse
Target: ≤5% passive sentences
passiveCount
2
totalSentences
155
matches
0
"was locked"
1
"was supposed"
100.0000%
Past progressive (was/were + -ing) overuse
Target: ≤10% past progressive verbs
pastProgressiveCount
0
totalVerbs
243
matches
(empty)
100.0000%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1346
adjectiveStacks
0
stackExamples
(empty)
adverbCount
27
adverbRatio
0.020059435364041606
lyAdverbCount
5
lyAdverbRatio
0.003714710252600297
100.0000%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
156
echoCount
0
echoWords
(empty)
100.0000%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
156
mean
8.56
std
5.3
cv
0.619
sampleLengths
0
17
1
14
2
18
3
26
4
16
5
8
6
14
7
7
8
9
9
12
10
21
11
15
12
20
13
16
14
24
15
15
16
14
17
6
18
4
19
4
20
4
21
6
22
8
23
6
24
7
25
19
26
6
27
15
28
12
29
4
30
13
31
26
32
8
33
6
34
10
35
7
36
7
37
14
38
10
39
8
40
6
41
6
42
2
43
11
44
2
45
4
46
4
47
10
48
5
49
10
41.6667%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
13
diversityRatio
0.25
totalSentences
156
uniqueOpeners
39
8.3333%
Dialogue tag variety (said vs. fancy)
Target: ≤30% fancy dialogue tags
totalTags
3
fancyCount
2
fancyTags
0
"she whispered (whisper)"
1
"The whisper followed—soft, caressing, Aurora didn’t stop. (follow—does not stop)"
80.5188%