NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-09-23-01M36RB3GX4AMW31JHJEGEKD9A
Run Details
Model:
GPT-6 Luna (Reasoning, High)
Test:
Bad Writing Habits
Scenario:
Horror: alone in an eerie place at night
Duration:
34.3s
Cost:
$0.001427
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
0.00%
Adverbs in dialogue tags
(details)
94.66%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
75.95%
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)
83.33%
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)
100.00%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
40.34%
Sentence opener variety
(details)
100.00%
Adverb-first sentence starts
(details)
80.55%
Pronoun-first sentence starts
(details)
56.33%
Subject-first sentence starts
(details)
45.87%
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)
89.2342%
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 pendant began to pulse
as soon as Rory passed the ancient oaks. Not a heartbeat, exactly.
More like a faint knock
from inside the deep-crimson stone, warm against her skin beneath her coat.
She stopped on the path
and touched it through the fabric.
The silver chain had caught
at the collar of her jumper. She eased it free. Beyond the trees, Richmond Park was all black trunks and silvered grass.
The moon showed through ragged
clouds, then vanished.
Rory had expected the standing
stones to be difficult to find.
Instead they seemed to wait
just beyond the path, a broken ring of dark shapes around a narrow opening in the woods.
She’d come because the pendant
had warmed in her hand twice that week, once in the restaurant kitchen and once on the bus back from a delivery.
Tonight, walking past the park
on her way home, she’d felt the same small
pulse
beneath her shirt.
It had been enough to
turn her toward the trees. Enough to bring her here alone.
She’d told herself she was
only checking.
If the pendant did it
again, she would take a photograph, mark the spot on her phone, and leave. A sensible plan.
A plan with a clear
end. Her phone said 10:48.
The battery was at sixty-three
percent.
She had a torch, her
keys, and no reason to be afraid. Rory stepped between the stones. The
warmth
stopped.
She stood in a clearing
scattered with wildflowers.
They opened under the moon
as if it were full summer, though the night smelled of wet earth and cold leaves. There were flowers at her feet, in the grass, beneath the trees: white, yellow, and a deep blue that made her
think
of bruises.
Their petals held a shine
like frost. The clearing should not have been there.
She knew the park well
enough to know that.
She had delivered to a
house near Richmond Gate, walked its long roads, watched the dark open lawns from the bus. This place was too small to be a clearing and too deep to lie just past the path. The stones behind her framed the woods she’d come through, but the woods looked farther away now, as if someone had pulled them back by their roots. Rory took out her phone and opened the camera. The screen showed the flowers in a washed-out grey. She tried the flash. It fired. The clearing jumped white, then fell back into moonlight. A sound came from somewhere beyond the trees. A short, sharp scrape. Like a shoe dragging over gravel. She turned. Nothing moved among the trunks. “Hello?”
Her voice travelled no farther
than the stones.
It seemed to be absorbed
by the clearing’s soft dark. She tried the phone again. No signal. That was fine. She hadn’t expected one. The pendant gave a small, warm thud against her chest. Rory frowned and lifted it into her palm.
Its inner glow was barely
visible, a red smudge under the surface of the stone.
She held it away from
herself. The glow faded. When she lowered it, it returned.
She stepped toward the middle
of the clearing. The flowers stirred around her shoes. There was no wind. Rory looked up at the trees. The leaves stayed still, their edges sharp against the patchy sky. A second scrape sounded from the opposite side of the clearing. She pivoted. Her phone’s torch swept the tree line, catching narrow trunks and low branches. Between two oaks, something pale slipped out of view. Rory held the beam there. A patch of bark. A branch. Nothing else. She breathed out through her nose. “You’re tired.” She’d worked a double shift and carried a stack of takeaway orders up three flights of stairs. The dark could do strange things to a person’s depth perception. A pale patch was a pale patch. She was not the sort of person who frightened herself with shadows. Something clicked, once, from the woods. A tongue against teeth. Her fingers tightened around the phone. She turned the torch toward the sound and walked closer to the boundary. The pendant stayed warm. One of the flowers brushed her boot. Its petals folded in as she passed, though none of the others moved. At the edge of the clearing, the nearest oak stood wider than her outstretched arms. Its bark had split in a long vertical seam. Rory angled the light into it. The crack was dark, too narrow to hold anything. She took another step and saw the grass beyond the tree line lay flat in a path leading back toward the standing stones. That was impossible. She had crossed the stones less than five minutes ago. There had been no grass path. The woods had not been that far away. She checked the time. 10:49. Only a minute had passed. The pendant
pulsed
. Warmth spread from it across her collarbone. Rory glanced back. The stones seemed nearer now. One of them had a pale shape at its base, perhaps a flower.
Perhaps a face turned toward
the grass. She swung the torch back. The shape
was gone
. A bird called from the trees. Three notes, descending. Rory knew the sound, or thought she did. She waited for an answer from another bird. None came. The same three notes sounded again, close behind her. She spun around. The clearing was empty. The flowers
trembled
at her feet. The stones stood dark and solid at the other end, the gaps between them filled with black. Rory swallowed. The call had sounded exactly the same. Not similar. The same notes, with the same thin break between the second and third. Something had copied it. The phone’s light faltered, then steadied. She checked the battery. Sixty-one percent. “Okay,” she said, to hear herself speak. “I’m leaving.” She walked toward the stones. The flowers parted for her, brushing her ankles with wet stems. At the boundary she stopped. Beyond it lay the woodland path, moonlit and
familiar
. She could see the pale curve of the track. A lamp from the road glimmered between branches. She stepped through. The woods were silent. Not quiet: silent. No wind, no insects, no distant road.
Even her shoes made no
sound on the ground. She turned back, and the clearing waited beyond the stones, bright with flowers. The moon shone in it, though she couldn’t see the moon overhead. The pendant knocked once against her chest. Rory backed away from the stones. She was on the path now. She could walk until she reached the road. She could call Eva, or a cab, or the police if she had to. She did not need to understand the clearing. She only needed to leave it. She took three steps. A soft crunch came behind her, close enough to sound like someone walking in the leaves. She froze. The crunch came again, keeping the same pace. Rory turned the torch over her shoulder. The path stretched between the trees. No one stood on it. But the leaves moved, one after another, in a line coming toward her. The motion stopped where the beam fell. Her hand shook. She steadied it against her ribs. “Who’s there?” The leaves held still.
Then, from the clearing, a
voice said, “Rory?” It was her own voice. Not a recording. Not an
echo
. The voice carried the same small rasp she heard when she
was tired
, the same rise at the end of her name. It came from between the stones. She did not answer. The pendant turned hot in her palm. Rory looked down. Its red light shone through her fingers, brighter now, pulsing in time with the quick, hard beat of her heart. Something stood in the clearing. At first she saw only a gap between the flowers, a dark upright shape beneath the nearest oak.
Then it shifted, though nothing
else moved, and the shape separated from the trunk. It was too far away to make out a face. Rory’s torch should have reached it. The beam touched the flowers around its feet and the bark behind its shoulders, but not the thing itself. It
seemed to
swallow the light. “Rory,” it said again. This time it used the voice of her mother. The voice was warm and
lightly
amused, as if Jennifer Carter had found her daughter doing something foolish in the kitchen. Rory felt the sound settle beneath her ribs, in the soft place where memory lived. She hated it for that. She hated the clearing, the stones, the flowers that opened beneath a dead moon. She backed away. The figure remained beneath the oak. A low rustle came from the path ahead. The leaves shifted toward her in a slow, patient wave. Rory was between it and the stones. She looked down at the pendant. Its glow had brightened to a deep, bloody red, but there was no blood in it. Only light. The silver chain lay taut between her fingers and her throat. She took one step toward the stones. The figure leaned its head to one side. Not a human movement. Not quite. Rory’s heel brushed a flower. It folded shut. The figure took a step too. No sound from the earth. No sound from the flowers. She ran. The path opened before her, then bent where it should have gone straight. She struck a tree shoulder-first and stumbled. Her phone flew from her hand, torch beam tumbling across the ground. For an instant it lit the roots ahead, the wet leaves, the standing stones farther off. And a second Rory, crouched between them. The other woman wore Rory’s dark coat. Her black hair hung straight to her shoulders. She had her hands folded in her lap, and her face was turned toward the ground. The phone landed faceup. Its light went out. Rory’s breath snagged. She scrambled for it, found the smooth case by touch, and thumbed the side button. The screen came on. The torch stayed dark. A hand closed around her wrist. Cold fingers, small and firm, pressing over the crescent scar. Rory jerked free with a sharp cry. There was no one beside her.
Only a tree trunk, slick
with dew. She ran blindly toward the stones. The pendant struck her chest with each step, hot now, almost painful. The clearing broke open in front of her. She saw the boundary. She saw the gap between the oaks. Beyond it, the park path curved toward the road. A lamp burned yellow through the branches. She crossed the stones and kept running. The trees thinned. The road’s distant hiss returned, thin as rain. Rory stumbled onto the path and caught herself against a post. Her lungs burned. Her wrist
throbbed
. She looked back. The oaks stood in a dark, ordinary line. There was no opening between them. No flowers. No clearing. Her phone read 10:51. The pendant cooled
slowly
in her hand. Rory stood under the road lamp until a car passed, its headlights sweeping the park.
When it was gone, a
bird called from somewhere among the trees. Three notes, descending.
Then the same call came
from the pendant, small and warm against her palm.
created_at
"2026-09-23T09:07:57.096Z"
9/23/2026, 9:07:57 AM
model
"openai/gpt-6-luna-20260922"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
6826
moderation_latency
(null)
generation_time
34211
tokens_prompt
792
tokens_completion
2692
native_tokens_prompt
742
native_tokens_completion
2705
native_tokens_completion_images
0
native_tokens_reasoning
395
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.0014267
router
(null)
user_agent
"langchainjs-openai/1.0.0 ((node/v24.21.0; linux; x64))"
http_referer
(null)
request_id
"req-1790154477-89bfKVhA1cvyrYf9pMJt"
session_id
(null)
preset_id
(null)
api_type
"completions"
id
"gen-1790154477-yW7ovTbWVJzDrP6rEsEQ"
upstream_id
"resp_082fc5002ec6af9f016ab396ed701487d1a6eb33e9f45a18d8"
provider_responses
0
endpoint_id
"05e94e02-b9c2-4bbb-ba55-4082ee9ad687"
id
"resp_082fc5002ec6af9f016ab396ed701487d1a6eb33e9f45a18d8"
is_byok
false
latency
925
model_permaslug
"openai/gpt-6-luna-20260922"
provider_name
"OpenAI"
status
200
total_cost
0.0014267
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
0.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
3
adverbTagCount
1
adverbTags
0
"it said again [again]"
dialogueSentences
7
tagDensity
0.429
leniency
0.857
rawRatio
0.333
effectiveRatio
0.286
94.66%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
1871
totalAiIsmAdverbs
2
found
0
adverb
"lightly"
count
1
1
adverb
"slowly"
count
1
highlights
0
"lightly"
1
"slowly"
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)
75.95%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
1871
totalAiIsms
9
found
0
word
"pulse"
count
2
1
word
"warmth"
count
2
2
word
"pulsed"
count
1
3
word
"trembled"
count
1
4
word
"familiar"
count
1
5
word
"echo"
count
1
6
word
"throbbed"
count
1
highlights
0
"pulse"
1
"warmth"
2
"pulsed"
3
"trembled"
4
"familiar"
5
"echo"
6
"throbbed"
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
235
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
1
hedgeCount
4
narrationSentences
235
filterMatches
0
"think"
hedgeMatches
0
"began to"
1
"seemed to"
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
239
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
repeatedSegmentCount
0
maxSentenceWordsSeen
27
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
1871
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
5
unquotedAttributions
0
matches
(empty)
83.33%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
31
wordCount
1861
uniqueNames
7
maxNameDensity
1.29
worstName
"Rory"
maxWindowNameDensity
2.5
worstWindowName
"Rory"
discoveredNames
Rory
24
Richmond
2
Park
1
Gate
1
Eva
1
Jennifer
1
Carter
1
persons
0
"Rory"
1
"Gate"
2
"Eva"
3
"Jennifer"
4
"Carter"
places
0
"Richmond"
1
"Park"
globalScore
0.855
windowScore
0.833
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
152
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
1871
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
0
totalSentences
239
matches
(empty)
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
103
mean
18.17
std
17.24
cv
0.949
sampleLengths
0
13
1
47
2
53
3
61
4
35
5
22
6
5
7
3
8
60
9
82
10
9
11
24
12
8
13
10
14
2
15
5
16
1
17
32
18
10
19
38
20
8
21
27
22
11
23
24
24
5
25
8
26
8
27
47
28
6
29
4
30
6
31
37
32
62
33
27
34
4
35
1
36
5
37
10
38
28
39
5
40
4
41
27
42
9
43
3
44
27
45
28
46
12
47
9
48
47
49
3
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
3
totalSentences
235
matches
0
"was gone"
1
"was tired"
2
"was gone"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
1
totalVerbs
297
matches
0
"was only checking"
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
0
semicolonCount
0
flaggedSentences
0
totalSentences
239
ratio
0
matches
(empty)
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1866
adjectiveStacks
0
stackExamples
(empty)
adverbCount
64
adverbRatio
0.03429796355841372
lyAdverbCount
12
lyAdverbRatio
0.006430868167202572
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
239
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
239
mean
7.83
std
5.1
cv
0.651
sampleLengths
0
13
1
4
2
17
3
11
4
11
5
4
6
12
7
8
8
11
9
22
10
27
11
18
12
10
13
6
14
7
15
19
16
3
17
6
18
4
19
6
20
12
21
5
22
3
23
8
24
21
25
24
26
7
27
7
28
9
29
21
30
18
31
27
32
9
33
9
34
4
35
2
36
9
37
8
38
4
39
6
40
2
41
5
42
1
43
8
44
10
45
5
46
2
47
3
48
4
49
10
40.34%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
23
diversityRatio
0.18487394957983194
totalSentences
238
uniqueOpeners
44
100.00%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
9
totalSentences
218
matches
0
"More like a faint knock"
1
"Instead they seemed to wait"
2
"Only a minute had passed."
3
"Perhaps a face turned toward"
4
"Even her shoes made no"
5
"Then, from the clearing, a"
6
"Then it shifted, though nothing"
7
"Only a tree trunk, slick"
8
"Then the same call came"
ratio
0.041
80.55%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
76
totalSentences
218
matches
0
"She stopped on the path"
1
"She eased it free."
2
"She’d come because the pendant"
3
"It had been enough to"
4
"She’d told herself she was"
5
"Her phone said 10:48."
6
"She had a torch, her"
7
"She stood in a clearing"
8
"They opened under the moon"
9
"Their petals held a shine"
10
"She knew the park well"
11
"She had delivered to a"
12
"She tried the flash."
13
"Her voice travelled no farther"
14
"It seemed to be absorbed"
15
"She tried the phone again."
16
"She hadn’t expected one."
17
"Its inner glow was barely"
18
"She held it away from"
19
"She stepped toward the middle"
ratio
0.349
56.33%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
176
totalSentences
218
matches
0
"The pendant began to pulse"
1
"She stopped on the path"
2
"The silver chain had caught"
3
"She eased it free."
4
"The moon showed through ragged"
5
"Rory had expected the standing"
6
"She’d come because the pendant"
7
"Tonight, walking past the park"
8
"It had been enough to"
9
"She’d told herself she was"
10
"A sensible plan."
11
"A plan with a clear"
12
"Her phone said 10:48."
13
"The battery was at sixty-three"
14
"She had a torch, her"
15
"Rory stepped between the stones."
16
"The warmth stopped."
17
"She stood in a clearing"
18
"They opened under the moon"
19
"Their petals held a shine"
ratio
0.807
45.87%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
2
totalSentences
218
matches
0
"If the pendant did it"
1
"When it was gone, a"
ratio
0.009
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
64
technicalSentenceCount
2
matches
0
"They opened under the moon as if it were full summer, though the night smelled of wet earth and cold leaves."
1
"The voice was warm and lightly amused, as if Jennifer Carter had found her daughter doing something foolish in the kitchen."
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
7
tagDensity
0.429
leniency
0.857
rawRatio
0
effectiveRatio
0
89.2342%