NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-17-01KHMMDCBNZ2CPGSYHXBVCNXQB
Run Details
Model:
GPT-4o, May 13th (temp=0)
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
16.6s
Cost:
$0.025100
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 Carter stood in the narrow hallway of Eva's flat, her fingers brushing the small crescent-shaped scar on her left wrist, a nervous habit she hadn't quite shaken. The scent of curry wafted up from the restaurant below, mingling with the musty aroma of old books and parchment. She glanced at the three deadbolts on the front door, each one a
testament
to Eva's paranoia, and wondered if she should have called first. But it was too late for second-guessing now. She raised her hand and knocked, the sound
echoing
in the cramped stairwell. A moment later, she heard the shuffling of feet and the soft meow of Ptolemy, Eva's tabby cat. The door creaked open, revealing not Eva, but Lucien Moreau. "Rory," he said, his voice a smooth blend of surprise and something else she couldn't quite place. His heterochromatic eyes—one amber, one black—studied her with an intensity that made her heart skip a beat. "Lucien," she replied, her voice steadier than she felt. "I didn't expect to see you here." He stepped aside, gesturing for her to enter. "Eva's out. She asked me to keep an eye on the place." Aurora hesitated for a moment before stepping inside. The flat was as cluttered as ever, every surface covered with books, scrolls, and research notes. Ptolemy wound his way around her ankles, purring
softly
. "Still the same," she murmured, more to herself than to Lucien. "Some things never change," he said, closing the door behind her. The sound of the deadbolts sliding into place was oddly comforting. She turned to face him, taking in the sight of his tailored charcoal suit and the ivory-handled cane he always carried. He looked as impeccably dressed as ever, a
stark
contrast to her own casual attire. She felt a
pang
of self-consciousness but pushed it aside. "Why are you
really
here, Lucien?" she asked, crossing her arms over her chest. He raised an eyebrow, a small smile playing at the corners of his lips. "Straight to the point, as always. I could ask you the same question." "I needed to talk to Eva," she said, avoiding his gaze. "It's... personal." "Everything with you is personal," he replied, his tone softening. "But I won't pry." She looked up at him then, meeting his mismatched eyes. There was a time when she had found comfort in those eyes, a time when they had shared more than just secrets and stolen moments. But that was before everything had gone wrong, before the hurt and the misunderstandings. "How have you been?" he asked, breaking the silence. "Busy," she said with a shrug. "Work, life, you know how it is." He nodded, his expression
unreadable
. "I do." They stood there for a moment, the
weight
of their shared history hanging between them. Aurora felt
a surge of frustration
. She had come here to escape, to find
solace
in Eva's company, not to be confronted with the ghosts of her past. "Look, if this is awkward for you, I can leave," she said, taking a step back toward the door. Lucien's hand shot out,
gently
grasping her wrist. "No, stay. Please." She looked down at his hand, the touch sending a jolt of electricity through her. She had forgotten how much she missed his touch, how much she missed him. But she couldn't let herself fall back into old patterns, not after everything that had happened. "Why, Lucien?" she asked, her voice
barely above a whisper
. "Why should I stay?" He let go of her wrist, his hand falling to his side. "Because we never got the chance to say what needed to be said." Aurora felt a lump form in her throat. He was right. They had parted on complicated terms, with so much left unsaid. But she wasn't sure if she was ready to open those old wounds. "Maybe some things are better left unsaid," she said, turning away from him. "Or maybe they're the things that matter the most," he countered, his voice firm but gentle. She closed her eyes, taking a deep breath. She had spent so long running from her past, from the pain and the memories. But maybe it was time to face them, to face him. "Alright," she said, turning back to him. "Let's talk." Lucien's eyes softened, and he gestured to the small, cluttered living room. "Shall we sit?" She nodded, following him to the worn-out sofa. They sat down, the silence stretching between them like a chasm. Ptolemy jumped up onto Aurora's lap, his purring a soothing background noise. "Where do we start?" she asked, her voice
barely above a whisper
. "How about the beginning?" he suggested, his eyes never leaving hers. She nodded, taking a deep breath. "Alright. The beginning." They talked for what felt like hours,
unraveling
the tangled web of their past. They spoke of the good times, the moments of laughter and connection, and the bad times, the misunderstandings and the hurt. Aurora found herself opening up in a way she hadn't in years, the words spilling out of her like a dam that had finally burst. Lucien listened, his expression thoughtful and attentive. He shared his own perspective, his own regrets and hopes. They didn't always agree, but for the first time, they
truly
listened to each other. As the conversation wound down, Aurora felt
a sense of relief
, as if a
weight
had
been lifted
from her shoulders. She looked at Lucien, seeing him not as the man who had hurt her, but as the man who had once been her closest confidant, her partner in crime. "Thank you," she said
softly
. "For listening." He reached out, taking her hand in his. "Thank you for giving me the chance." They sat there in silence for a moment, the connection between them stronger than it had been in years. Aurora felt
a flicker of hope
, a possibility of something new. "Maybe we can start over," she said, her voice tentative. Lucien's eyes lit up, a small smile playing at his lips. "I'd like that." Aurora smiled back, feeling a warmth spread through her chest. It wouldn't be easy, and there were still many things to work through, but for the first time in a long time, she
felt hopeful
. As they sat there, hand in hand, Ptolemy curled up on her lap, Aurora
knew that this
was just the beginning of a new chapter. And for the first time in a long time, she was ready to face it, together with Lucien.
created_at
"2026-02-17T01:46:23.633218+00:00"
2/17/2026, 1:46:23 AM
model
"openai/gpt-4o-2024-05-13"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
267
moderation_latency
(null)
generation_time
16530
tokens_prompt
808
tokens_completion
1607
native_tokens_prompt
754
native_tokens_completion
1422
native_tokens_completion_images
(null)
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
"stop"
usage
0.0251
router
(null)
provider_responses
0
id
"chatcmpl-DA4S69OVRufxPnVvGCD1wYVMrYM7g"
status
200
is_byok
false
latency
238
endpoint_id
"3d6584e7-a2bb-48d6-903d-24e3d90e7e55"
provider_name
"OpenAI"
model_permaslug
"openai/gpt-4o-2024-05-13"
api_type
"completions"
id
"gen-1771292766-DGI4MrVvqyfzTMp2YBOA"
upstream_id
"chatcmpl-DA4S69OVRufxPnVvGCD1wYVMrYM7g"
total_cost
0.0251
cache_discount
(null)
upstream_inference_cost
0
provider_name
"OpenAI"
Evaluation details
Result
Evaluator
Details
Meta Data
35.2941%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
17
adverbTagCount
5
adverbTags
0
"he said, his voice a smooth blend of surprise and something else she couldn't quite place [quite]"
1
"she murmured, more to herself than to Lucien [more]"
2
"she said, turning away from him [away]"
3
"she said, turning back to him [back]"
4
"she said softly [softly]"
36.0731%
AI-ism adverb frequency
Target: <1% AI-ism adverbs (57 tracked)
wordCount
1095
totalAiIsmAdverbs
7
found
0
adverb
"gently"
count
1
1
adverb
"softly"
count
2
2
adverb
"barely above a whisper"
count
2
3
adverb
"really"
count
1
4
adverb
"truly"
count
1
highlights
0
"gently"
1
"softly"
2
"barely above a whisper"
3
"really"
4
"truly"
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)
8.6758%
AI-ism word frequency
Target: <1% AI-ism words (140 tracked)
wordCount
1095
totalAiIsms
10
found
0
word
"testament"
count
1
1
word
"pang"
count
1
2
word
"flicker"
count
1
3
word
"unreadable"
count
1
4
word
"stark"
count
1
5
word
"solace"
count
1
6
word
"weight"
count
2
7
word
"echoing"
count
1
8
word
"unraveling"
count
1
highlights
0
"testament"
1
"pang"
2
"flicker"
3
"unreadable"
4
"stark"
5
"solace"
6
"weight"
7
"echoing"
8
"unraveling"
100.0000%
Cliche density
Target: ≤1 cliche(s) per 800-word window
totalCliches
1
maxInWindow
1
found
0
label
"flicker of emotion"
count
1
highlights
0
"a flicker of hope"
91.6667%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
3
narrationSentences
75
matches
0
"a surge of frustration"
1
"a sense of relief"
2
"felt hopeful"
100.0000%
Filter word density
Target: ≤12% sentences with filter/hedge words
filterCount
0
hedgeCount
0
narrationSentences
75
filterMatches
(empty)
hedgeMatches
(empty)
100.0000%
Overuse of "that" (subordinate clause padding)
Target: ≤10% sentences with "that" clauses
thatCount
1
totalSentences
91
matches
0
"knew that this"
100.0000%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
43
mean
25.3
std
16.42
cv
0.649
sampleLengths
0
81
1
41
2
34
3
16
4
20
5
33
6
11
7
22
8
46
9
14
10
27
11
13
12
14
13
49
14
9
15
13
16
7
17
43
18
19
19
11
20
45
21
14
22
25
23
35
24
13
25
16
26
34
27
9
28
15
29
31
30
12
31
11
32
9
33
60
34
32
35
50
36
7
37
15
38
30
39
10
40
14
41
35
42
43
100.0000%
Passive voice overuse
Target: ≤5% passive sentences
passiveCount
1
totalSentences
75
matches
0
"been lifted"
100.0000%
Past progressive (was/were + -ing) overuse
Target: ≤10% past progressive verbs
pastProgressiveCount
0
totalVerbs
161
matches
(empty)
94.0000%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
933
adjectiveStacks
1
stackExamples
0
"small crescent-shaped scar"
adverbCount
33
adverbRatio
0.03536977491961415
lyAdverbCount
9
lyAdverbRatio
0.00964630225080386
100.0000%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
91
echoCount
0
echoWords
(empty)
100.0000%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
91
mean
11.96
std
6.29
cv
0.526
sampleLengths
0
28
1
20
2
25
3
8
4
13
5
18
6
10
7
17
8
17
9
9
10
7
11
8
12
12
13
8
14
16
15
9
16
11
17
11
18
11
19
21
20
15
21
10
22
14
23
14
24
13
25
11
26
2
27
10
28
4
29
10
30
25
31
14
32
9
33
6
34
7
35
5
36
2
37
15
38
6
39
22
40
19
41
8
42
3
43
15
44
14
45
16
46
10
47
4
48
12
49
13
61.5385%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
4
diversityRatio
0.3956043956043956
totalSentences
91
uniqueOpeners
36
13.2353%
Dialogue tag variety (said vs. fancy)
Target: ≤30% fancy dialogue tags
totalTags
17
fancyCount
11
fancyTags
0
"he said, his voice a smooth blend of surprise and something else she couldn't quite place (say, does not quite place)"
1
"she replied, her voice steadier than she felt (reply, feel)"
2
"she murmured, more to herself than to Lucien (murmur)"
3
"he said, closing the door behind her (say, close)"
4
"she said, avoiding his gaze (say, avoid)"
5
"he replied, his tone softening (reply, soften)"
6
"she said, taking a step back toward the door (say, take)"
7
"she said, turning away from him (say, turn away)"
8
"he countered, his voice firm but gentle (counter)"
9
"she said, turning back to him (say, turn)"
10
"she said softly (say softly)"
78.8520%