NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-09-23-01M36R91VHWYYDAS7N6WBYP4KB
Run Details
Model:
GPT-6 Luna (Reasoning, High)
Test:
Bad Writing Habits
Scenario:
Horror: alone in an eerie place at night
Duration:
36.2s
Cost:
$0.001464
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
86.27%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
61.56%
AI-ism word frequency
(details)
100.00%
Cliché density
(details)
100.00%
Emotion telling (show vs. tell)
(details)
100.00%
Filter word density
(details)
100.00%
Gibberish response detection
(details)
100.00%
Markdown formatting overuse
(details)
100.00%
Missing dialogue indicators (quotation marks)
(details)
92.05%
Name drop frequency
(details)
100.00%
Narrator intent-glossing
(details)
100.00%
"Not X but Y" pattern overuse
(details)
100.00%
Overuse of "that" (subordinate clause padding)
(details)
100.00%
Paragraph length variance
(details)
100.00%
Passive voice overuse
(details)
100.00%
Past progressive (was/were + -ing) overuse
(details)
100.00%
Em-dash & semicolon overuse
(details)
92.86%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
39.10%
Sentence opener variety
(details)
100.00%
Adverb-first sentence starts
(details)
90.90%
Pronoun-first sentence starts
(details)
63.17%
Subject-first sentence starts
(details)
26.46%
Subordinate conjunction sentence starts
(details)
100.00%
Technical jargon density
(details)
100.00%
Useless dialogue additions
(details)
100.00%
Dialogue tag variety (said vs. fancy)
(details)
91.7458%
Overall
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
The first time the pendant
warmed, Rory had been standing beside a pond in Richmond Park, watching rain stipple the water.
It had happened so faintly
she’d blamed the silver chain against her skin.
Then the little crimson stone
gave a
pulse
—one soft beat of heat beneath her shirt—and went cool again.
She’d come back the next
afternoon. Nothing. The day after, nothing. But tonight, as she crossed the park alone with the pendant tucked beneath her collar, it had begun to warm before she even reached the trees.
That was why she kept
walking.
The sensible thing would have
been to turn around. Rory knew that.
She also knew the pendant
had
been given
to her by someone who hadn’t wanted to be known, and that it had no right to behave like a compass. Still, its
warmth
had sharpened with every step.
Now it pressed against her
sternum, a tiny live coal. Her phone showed 10:47.
The park was closed, or
close enough to it that the distinction didn’t matter. Beyond the reach of the nearest streetlamp, the paths had dissolved into dark.
She’d left her bike chained
near the road and come on foot, telling herself that if the pendant stopped, she would stop too. It didn’t. The trees crowded closer.
Branches laced together overhead, blotting
out the cloudy sky. Rory slowed, listening.
Richmond Park had its ordinary
night noises: a wind moving through leaves, the distant traffic of a road, the creak of a branch under its own
weight
.
She could hear none of
those now. The
silence
wasn’t complete. There was something beneath it, a thin, continuous shushing, like rain falling on a roof
very
far away. She glanced back.
The path behind her was
empty.
The trees stood in a
loose, uneven row, their trunks silvered faintly by the light from her phone.
She turned the screen off
to save the battery and let her eyes adjust. The pendant
pulsed
once. Rory stopped. Between two trees ahead, a pale patch showed in the dark. It might have been mist, though the air was clear enough to sting her nose. She moved towards it,
carefully
, placing her feet on the packed earth instead of the dry leaves.
Her trainers made almost no
sound.
Then she heard a footstep
behind her. A crisp crack. A pause. Another. Rory looked over her shoulder. Nothing moved. No flash of a torch, no silhouette between the trees. She waited, counting to ten. When the
silence
held, she went on.
She had spent enough of
her life
being frightened
by a man who used fear as a tool. Fear did not mean danger. Fear meant her body had noticed something before her mind had put a name to it. The next step sounded behind her again. This time she spun
quickly
, phone raised, its light cutting through the trees. The beam found a patch of nettles, a broad trunk, a scattering of wet leaves. Nothing else. “Is someone there?” she called.
Her voice travelled farther than
it should have. It didn’t
echo
.
It simply seemed to keep
going, thinning into the black until she could no longer tell where it ended. A sound answered from ahead. Not a voice. A little click, like someone tapping a fingernail against glass. Rory’s grip tightened around the phone.
She took another step towards
the pale opening.
Her pulse had begun to
knock at the base of her throat, but her thoughts stayed sharp. There could be a person out here. A park ranger. A dog walker who’d taken a wrong path. She could leave. She should leave. But the pendant was warmer than it had ever been, and the strange click had come from the direction of the clearing. At the edge of the trees, the ground rose
slightly
. Three standing stones jutted from the earth beyond it, dark and immense. They
were made
of the same rough grey rock as the park’s oldest boundary markers, though Rory had never seen these before. Their tops leaned inward, as if the stones had turned to listen. A fourth stood farther off, half hidden by an oak. Rory checked the map on her phone. The blue dot
flickered
, then spun in place. No path showed nearby. The words “no signal” appeared at the top of the screen. She slipped the phone into her coat pocket and stepped between the stones. The clearing opened around her. Wildflowers grew thickly in the grass, though it was the middle of the year and too late for most of them. White heads nodded among yellow and violet blooms, their colours startling in the dark. There was no moon, no light source she could see, yet every petal held a little of the night’s silver. At the centre of the clearing stood an oak with a split trunk. One side had grown outward, the other bent inward, leaving a narrow black seam between them. The pendant warmed against her chest until she
could feel
the shape of the stone through her shirt. Rory drew it out. The crimson gem was the size of her thumbnail, set on its silver chain. A faint light moved inside it, a slow red glimmer like a
pulse
seen through closed eyelids. A Hel portal, the unknown voice in her memory said, though the words had come from no one she could name. Or perhaps from one of the late-night searches she’d done after the pendant first warmed. She had found nothing useful. The phrase had stuck anyway, sharp and cold. She took a step toward the oak. The shushing sound grew louder. It
seemed to
come from the grass, from the stones, from the air between the trees. Rory looked down. Every flower in the clearing leaned towards her. Not towards the wind. There was no wind. They turned together, their stems bending with slow, delicate patience. Rory backed up. Something moved beyond the standing stones. A shape slid from one trunk to the next, too narrow and too tall to be a person. She caught it only from the corner of her eye. When she turned, there was nothing but the dark seam between the trees. She forced herself to breathe through her nose. One hand closed around the pendant; the other found the phone in her pocket. She could call for help once she reached the road. She could keep the clearing in view and walk backwards to the path. A child laughed behind her. Rory froze. The laugh was small and bright, the kind that belonged on a playground in daylight. It came from the oak. She looked at its split trunk. “Hello?” she said, before she could stop herself. The laugh came again, from behind her this time. She turned. The stones stood in a straight line now, or
seemed to
. Their positions had changed by a few inches. Rory stared at them, trying to prove it to herself. She had entered between the second and third stone. She was now facing the gap between the first and second. She hadn’t moved. The clearing was wider than it had been when she stepped into it. The trees had pulled away from one another, exposing more night beyond their trunks. The shushing had become almost a
whisper
, a crowd murmuring just beyond hearing. Rory took out her phone and switched on the light. The beam reached the stones. It stopped there, as if the dark beyond them had thickened into something solid. Her screen lit her palm. A new message was open, though she hadn’t touched the phone. MUM. No text beneath it.
Just the name, bright against
the dark. Her throat tightened. She hadn’t spoken to her mother today. The phone had no signal. The message could have been old, some half-loaded notification. That was all. A second line appeared. RORY? The message arrived with a soft chime. The sound came from somewhere outside the phone too. A small bright ding from among the trees. Then another, farther away. Then a third, behind her. She shut the screen off. The clearing went black except for the faint red glow of the pendant. “Enough,” she said. Her own voice sounded thin and unfamiliar. It reached the oak and came back to her, but not as an
echo
. Enough, said a voice among the flowers. Rory stopped breathing. The voice had used her tone. Not quite. It had been lower, roughened at the edges, but it had the same clipped shape. The same impatience. She backed towards the stones, watching the black seam in the oak. The pendant beat twice against her knuckles. Warm. Warmer.
Too hot now to hold
comfortably. A hand appeared in the seam. Not a hand, Rory thought. A pale branch. A root showing through the split trunk. It curled around the edge of the wood. Five long, jointed shapes, each as white as bone under moonlight. She dropped the pendant. The chain caught against her fingers, snapped loose, and fell into the flowers. The red stone disappeared in the grass. The pale shapes withdrew. The shushing stopped. For one long moment the clearing was
utterly
still. Rory could hear her heartbeat, fast and heavy. She bent to find the pendant. The flowers pressed against her face, damp with dew, and every pale head turned towards her. A footstep sounded behind her. Then another, matching the quick, uneven pace of her breath. Rory straightened. The stones were close now. Close enough to touch. She reached for the nearest one, but her hand met empty air. The stone stood an arm’s length farther away. She ran. The flowers dragged at her shoes. Their stems did not break; they folded around her ankles, soft as wet hair. She kicked free and drove herself towards the gap between the stones. The air thickened around her, heavy and sweet with the smell of turned earth. Something breathed against the back of her neck. Rory threw herself forward. Her shoulder struck stone. Pain burst bright down her arm. She stumbled through the boundary and into the trees. The shushing fell away at once. She ran without looking back, crashing through undergrowth until her shoes found a path. She kept running until she reached the road and the distant spill of streetlight. Only then did she stop. Her phone had no signal. Her wrist stung where a branch had scraped it, just above the small crescent scar. She could hear traffic now. A car passed, its tyres hissing on damp tarmac. The pendant hung cold in her hand. Rory looked back towards the trees. From the road, Richmond Park was a dark,
familiar
slope beneath the low clouds. No clearing. No stones. No pale flowers. Then, far inside the trees, someone called her by name. Not Rory. Aurora. She put the pendant in her pocket and walked towards the lights without turning around.
created_at
"2026-09-23T09:06:49.851Z"
9/23/2026, 9:06:49 AM
model
"openai/gpt-6-luna-20260922"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
8829
moderation_latency
(null)
generation_time
36189
tokens_prompt
792
tokens_completion
2628
native_tokens_prompt
742
native_tokens_completion
2779
native_tokens_completion_images
0
native_tokens_reasoning
548
native_tokens_cached
0
num_media_prompt
(null)
num_input_audio_prompt
(null)
num_media_completion
0
num_search_results
(null)
num_fetches
(null)
web_search_engine
(null)
origin
"https://ncbench.com/"
is_byok
false
finish_reason
"stop"
native_finish_reason
"completed"
service_tier
"default"
usage
0.0014637
router
(null)
user_agent
"langchainjs-openai/1.0.0 ((node/v24.21.0; linux; x64))"
http_referer
(null)
request_id
"req-1790154409-XTdwcPjjdfyTPZz4kCto"
session_id
(null)
preset_id
(null)
api_type
"completions"
id
"gen-1790154409-uxfkgjWa2UxOgxrWYgNC"
upstream_id
"resp_07817d8b63a4b6bc016ab396a9fa4087d190945b418eeda286"
provider_responses
0
endpoint_id
"05e94e02-b9c2-4bbb-ba55-4082ee9ad687"
id
"resp_07817d8b63a4b6bc016ab396a9fa4087d190945b418eeda286"
is_byok
false
latency
1075
model_permaslug
"openai/gpt-6-luna-20260922"
provider_name
"OpenAI"
status
200
total_cost
0.0014637
cache_discount
(null)
upstream_inference_cost
0
provider_name
"OpenAI"
response_cache_source_id
(null)
data_region
"global"
workspace_id
"97e315e5-d303-487d-83c1-83180e8a13d4"
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
3
adverbTagCount
0
adverbTags
(empty)
dialogueSentences
4
tagDensity
0.75
leniency
1
rawRatio
0
effectiveRatio
0
86.27%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
1821
totalAiIsmAdverbs
5
found
0
adverb
"very"
count
1
1
adverb
"carefully"
count
1
2
adverb
"quickly"
count
1
3
adverb
"slightly"
count
1
4
adverb
"utterly"
count
1
highlights
0
"very"
1
"carefully"
2
"quickly"
3
"slightly"
4
"utterly"
100.00%
AI-ism character names
Target: 0 AI-default names (17 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
100.00%
AI-ism location names
Target: 0 AI-default location names (33 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
61.56%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
1821
totalAiIsms
14
found
0
word
"pulse"
count
3
1
word
"warmth"
count
1
2
word
"weight"
count
1
3
word
"silence"
count
2
4
word
"pulsed"
count
1
5
word
"echo"
count
2
6
word
"flickered"
count
1
7
word
"could feel"
count
1
8
word
"whisper"
count
1
9
word
"familiar"
count
1
highlights
0
"pulse"
1
"warmth"
2
"weight"
3
"silence"
4
"pulsed"
5
"echo"
6
"flickered"
7
"could feel"
8
"whisper"
9
"familiar"
100.00%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
0
maxInWindow
0
found
(empty)
highlights
(empty)
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
211
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
0
hedgeCount
3
narrationSentences
211
filterMatches
(empty)
hedgeMatches
0
"seemed to"
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
211
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
repeatedSegmentCount
0
maxSentenceWordsSeen
29
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
1819
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
5
unquotedAttributions
0
matches
(empty)
92.05%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
28
wordCount
1812
uniqueNames
4
maxNameDensity
1.16
worstName
"Rory"
maxWindowNameDensity
2
worstWindowName
"Rory"
discoveredNames
Rory
21
Richmond
3
Park
3
Hel
1
persons
0
"Rory"
places
0
"Richmond"
1
"Park"
globalScore
0.921
windowScore
1
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
133
glossingSentenceCount
0
matches
(empty)
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
0
per1kWords
0
wordCount
1819
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
0
totalSentences
211
matches
(empty)
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
95
mean
19.15
std
18.43
cv
0.962
sampleLengths
0
21
1
31
2
37
3
6
4
59
5
54
6
2
7
72
8
3
9
38
10
4
11
2
12
49
13
7
14
6
15
5
16
63
17
7
18
13
19
17
20
5
21
30
22
5
23
13
24
77
25
56
26
10
27
30
28
13
29
5
30
55
31
47
32
4
33
31
34
49
35
7
36
32
37
8
38
10
39
3
40
47
41
45
42
5
43
2
44
26
45
8
46
9
47
51
48
3
49
40
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
3
totalSentences
211
matches
0
"been given"
1
"being frightened"
2
"were made"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
293
matches
(empty)
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
2
semicolonCount
2
flaggedSentences
3
totalSentences
211
ratio
0.014
matches
0
"Then the little crimson stone gave a pulse—one soft beat of heat beneath her shirt—and went cool again."
1
"One hand closed around the pendant; the other found the phone in her pocket."
2
"Their stems did not break; they folded around her ankles, soft as wet hair."
92.86%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1816
adjectiveStacks
1
stackExamples
0
"same rough grey rock"
adverbCount
75
adverbRatio
0.04129955947136564
lyAdverbCount
11
lyAdverbRatio
0.006057268722466961
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
211
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
211
mean
8.62
std
5.62
cv
0.652
sampleLengths
0
21
1
13
2
18
3
6
4
1
5
4
6
26
7
6
8
9
9
3
10
29
11
8
12
10
13
4
14
14
15
13
16
23
17
2
18
4
19
9
20
3
21
27
22
7
23
4
24
18
25
3
26
6
27
18
28
14
29
4
30
2
31
11
32
15
33
17
34
6
35
7
36
3
37
2
38
1
39
5
40
2
41
10
42
5
43
7
44
18
45
5
46
16
47
7
48
13
49
15
39.10%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
23
diversityRatio
0.22748815165876776
totalSentences
211
uniqueOpeners
48
100.00%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
9
totalSentences
189
matches
0
"Then the little crimson stone"
1
"Then she heard a footstep"
2
"Just the name, bright against"
3
"Then another, farther away."
4
"Then a third, behind her."
5
"Too hot now to hold"
6
"Then another, matching the quick,"
7
"Only then did she stop."
8
"Then, far inside the trees,"
ratio
0.048
90.90%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
61
totalSentences
189
matches
0
"It had happened so faintly"
1
"She’d come back the next"
2
"She also knew the pendant"
3
"Her phone showed 10:47."
4
"She’d left her bike chained"
5
"She could hear none of"
6
"She glanced back."
7
"She turned the screen off"
8
"It might have been mist,"
9
"She moved towards it, carefully,"
10
"Her trainers made almost no"
11
"She waited, counting to ten."
12
"She had spent enough of"
13
"Her voice travelled farther than"
14
"It didn’t echo."
15
"It simply seemed to keep"
16
"She took another step towards"
17
"Her pulse had begun to"
18
"She could leave."
19
"She should leave."
ratio
0.323
63.17%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
150
totalSentences
189
matches
0
"The first time the pendant"
1
"It had happened so faintly"
2
"She’d come back the next"
3
"The day after, nothing."
4
"That was why she kept"
5
"The sensible thing would have"
6
"Rory knew that."
7
"She also knew the pendant"
8
"Her phone showed 10:47."
9
"The park was closed, or"
10
"She’d left her bike chained"
11
"The trees crowded closer."
12
"Branches laced together overhead, blotting"
13
"Rory slowed, listening."
14
"Richmond Park had its ordinary"
15
"She could hear none of"
16
"The silence wasn’t complete."
17
"She glanced back."
18
"The path behind her was"
19
"The trees stood in a"
ratio
0.794
26.46%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
1
totalSentences
189
matches
0
"Now it pressed against her"
ratio
0.005
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
78
technicalSentenceCount
1
matches
0
"It stopped there, as if the dark beyond them had thickened into something solid."
100.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
3
uselessAdditionCount
0
matches
(empty)
100.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
3
fancyCount
0
fancyTags
(empty)
dialogueSentences
4
tagDensity
0.75
leniency
1
rawRatio
0
effectiveRatio
0
91.7458%