NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-17-01KHMMFWFERRAYS1W1K6QSNHYE
Run Details
Model:
GPT-4o, May 13th (temp=0)
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
15.5s
Cost:
$0.025700
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 shifted her
weight
from one foot to the other, her bright blue eyes fixed on the three deadbolts securing the door. She had come here for
solace
, for the comfort of her childhood friend, but the universe had other plans. The first knock was tentative, almost hesitant. Rory's heart skipped a beat. She
wasn't expecting
anyone. Eva was out of town, attending some arcane symposium in Edinburgh. The second knock was firmer, more insistent. Rory's hand hovered over the top deadbolt, her mind racing through possibilities. It couldn't be Evan; he didn't know where she was. But who else would come unannounced? She took a deep breath, steeling herself, and unlocked the door. As it swung open, her breath caught in her throat. Standing there, impeccably dressed in a tailored charcoal suit, was Lucien Moreau. His heterochromatic eyes—one amber, one black—bore into her with an intensity that made her pulse quicken. "Lucien," she breathed, her voice
barely above a whisper
. "Rory," he replied, his French accent caressing her name like a lover's touch. He leaned on his ivory-handled cane, the one that concealed a thin blade, and offered her a small, almost apologetic smile. "May I come in?" She hesitated, memories flooding back. The last time they had seen each other, things had ended on a note of unresolved tension, a mix of attraction and
hurt that neither
had been willing to address. But something in his eyes—perhaps the vulnerability she saw there—made her step aside and gesture for him to enter. Lucien walked in, his presence filling the cramped space. Ptolemy, Eva's tabby cat, darted out from under the coffee table and wound around his legs, purring loudly. Lucien bent down to scratch the cat behind the ears, his movements graceful despite the cane. "To what do I owe the pleasure?" Rory asked, closing the door and leaning against it, her arms crossed over her chest. Lucien straightened, his eyes scanning the room, taking in the clutter of books and scrolls. "I needed to see you," he said simply, his gaze finally settling on her. "There are things we left unsaid." Rory's heart ached at his words. She had
tried to
bury those
feel
ings, to move on, but seeing him now brought everything rushing back. "You could have called," she said, her voice
tinged
with bitterness. "I could have," he admitted, taking a step closer. "But I needed to see you in person. To explain." She raised an eyebrow, her skepticism evident. "Explain what, exactly?" Lucien sighed, running a hand through his slicked-back platinum blond hair. "Everything. Why I left. Why I couldn't stay." Rory's
eyes narrowed
. "You think you can just waltz back into my life and make everything right with a few words?" "No," he said
softly
, his eyes pleading. "But I have to try." She wanted to stay angry, to hold onto the hurt, but the sincerity in his voice made it difficult. She pushed off the door and walked over to the small kitchenette, busying herself with making tea. It was something to do, something to keep her hands occupied while her mind raced. Lucien followed her, leaning against the counter as she filled the kettle. "I never meant to hurt you, Rory," he said quietly. "But there are things about my life, about who I
am, that you
don't know." She glanced at him, her eyes searching his face for any sign of deceit. "Then tell me," she said, her voice
barely above a whisper
. He took a deep breath, his heterochromatic eyes locking onto hers. "I'm not just a man, Rory. I'm half-demon. My father is from the realm of Avaros." She blinked, the revelation taking a moment to sink in. "Half-demon?" she repeated, her mind struggling to process the information. He nodded. "It's why I had to leave. There are forces in this world, and others, that would use me for their own ends. I couldn't risk putting you in danger." Rory's hands
trembled
as she poured hot water into two mugs. She handed one to Lucien, their fingers brushing briefly, sending a jolt of electricity through her. "You should have told me," she said, her voice shaking. "I had a right to know." "I know," he said, his voice filled with regret. "But I was scared. Scared of losing you. Scared of what you would think of me." She took a sip of her tea, the warmth spreading through her, grounding her. "And now?" she asked, meeting his gaze. "Now," he said, taking a step closer, "I can't stay away. I need you, Rory. More than I've ever needed anyone." Her
heart pounded in her chest
, the walls she had built around it beginning to crumble. She wanted to believe him, to let herself
feel
the love she had tried so hard to forget. But the fear of getting hurt again held her back. Lucien reached out, his hand
gently
cupping her cheek. "I know I don't deserve your forgiveness," he said, his voice raw with emotion. "But I'm asking for it anyway. Please, give me another chance." Tears welled up in her eyes, and she blinked them away, not wanting to show weakness. But the sincerity in his eyes, the vulnerability, broke through her defenses. She placed her hand over his, leaning into his touch. "Okay," she whispered, her voice trembling. "But this time, no more secrets." He nodded, his eyes filled with relief and gratitude. "No more secrets," he promised. They stood there, the
weight
of their past hanging between them, but for the first time in a long time, Rory felt
a glimmer of hope
. Maybe, just maybe, they could find a way to heal the wounds and build something new together. Lucien leaned in, his lips brushing against hers in a tentative kiss, as if seeking permission. She responded, her arms wrapping around his neck, pulling him closer. The kiss deepened, a promise of what could be, a chance to rewrite their story. When they finally pulled apart, both breathless, Lucien rested his forehead against hers. "I love you, Rory," he whispered, his voice filled with conviction. "I love you too," she replied, her heart full for the first time in what felt like forever. As they stood there, wrapped in each other's arms, the world outside faded away. For now, in this moment, they had each other, and that was enough.
created_at
"2026-02-17T01:47:44.742651+00:00"
2/17/2026, 1:47:44 AM
model
"openai/gpt-4o-2024-05-13"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
492
moderation_latency
(null)
generation_time
15417
tokens_prompt
808
tokens_completion
1659
native_tokens_prompt
754
native_tokens_completion
1462
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.0257
router
(null)
provider_responses
0
id
"chatcmpl-DA4TQdVHqK5QFskkoWw5gEdDepOaj"
status
200
is_byok
false
latency
466
endpoint_id
"3d6584e7-a2bb-48d6-903d-24e3d90e7e55"
provider_name
"OpenAI"
model_permaslug
"openai/gpt-4o-2024-05-13"
api_type
"completions"
id
"gen-1771292848-y1nSHkNExAxtqIVIIFhO"
upstream_id
"chatcmpl-DA4TQdVHqK5QFskkoWw5gEdDepOaj"
total_cost
0.0257
cache_discount
(null)
upstream_inference_cost
0
provider_name
"OpenAI"
Evaluation details
Result
Evaluator
Details
Meta Data
22.2222%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
18
adverbTagCount
6
adverbTags
0
"she breathed, her voice barely above a whisper [barely]"
1
"he said simply, his gaze finally settling on her [simply, finally]"
2
"he said softly, his eyes pleading [softly]"
3
"he said quietly [quietly]"
4
"she said, her voice barely above a whisper [barely]"
5
"she replied, her heart full for the first time in what felt like forever [like forever]"
64.3811%
AI-ism adverb frequency
Target: <1% AI-ism adverbs (57 tracked)
wordCount
1123
totalAiIsmAdverbs
4
found
0
adverb
"gently"
count
1
1
adverb
"softly"
count
1
2
adverb
"barely above a whisper"
count
2
highlights
0
"gently"
1
"softly"
2
"barely above a whisper"
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)
55.4764%
AI-ism word frequency
Target: <1% AI-ism words (140 tracked)
wordCount
1123
totalAiIsms
5
found
0
word
"tinged"
count
1
1
word
"trembled"
count
1
2
word
"solace"
count
1
3
word
"weight"
count
2
highlights
0
"tinged"
1
"trembled"
2
"solace"
3
"weight"
33.3333%
Cliche density
Target: ≤1 cliche(s) per 800-word window
totalCliches
3
maxInWindow
3
found
0
label
"heart pounded in chest"
count
1
1
label
"eyes widened/narrowed"
count
1
2
label
"flicker of emotion"
count
1
highlights
0
"heart pounded in her chest"
1
"eyes narrowed"
2
"a glimmer of hope"
100.0000%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
75
matches
(empty)
100.0000%
Filter word density
Target: ≤12% sentences with filter/hedge words
filterCount
1
hedgeCount
1
narrationSentences
75
filterMatches
0
"feel"
hedgeMatches
0
"tried to"
100.0000%
Overuse of "that" (subordinate clause padding)
Target: ≤10% sentences with "that" clauses
thatCount
2
totalSentences
89
matches
0
"hurt that neither"
1
"am, that you"
100.0000%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
35
mean
31.83
std
16.47
cv
0.518
sampleLengths
0
89
1
62
2
49
3
9
4
38
5
54
6
43
7
22
8
35
9
35
10
19
11
10
12
19
13
21
14
12
15
51
16
37
17
25
18
27
19
20
20
31
21
43
22
25
23
21
24
21
25
44
26
34
27
38
28
12
29
14
30
43
31
42
32
24
33
18
34
27
100.0000%
Passive voice overuse
Target: ≤5% passive sentences
passiveCount
0
totalSentences
75
matches
(empty)
100.0000%
Past progressive (was/were + -ing) overuse
Target: ≤10% past progressive verbs
pastProgressiveCount
1
totalVerbs
175
matches
0
"wasn't expecting"
94.0000%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
892
adjectiveStacks
1
stackExamples
0
"small crescent-shaped scar"
adverbCount
30
adverbRatio
0.033632286995515695
lyAdverbCount
11
lyAdverbRatio
0.01233183856502242
100.0000%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
89
echoCount
0
echoWords
(empty)
100.0000%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
89
mean
12.52
std
5.88
cv
0.47
sampleLengths
0
28
1
20
2
22
3
19
4
7
5
5
6
4
7
11
8
7
9
12
10
10
11
6
12
11
13
10
14
12
15
16
16
9
17
13
18
21
19
4
20
5
21
30
22
19
23
9
24
18
25
16
26
22
27
15
28
14
29
6
30
6
31
18
32
11
33
9
34
10
35
7
36
3
37
11
38
8
39
3
40
18
41
7
42
5
43
19
44
17
45
15
46
12
47
10
48
15
49
14
55.4307%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
4
diversityRatio
0.3595505617977528
totalSentences
89
uniqueOpeners
32
0.0000%
Dialogue tag variety (said vs. fancy)
Target: ≤30% fancy dialogue tags
totalTags
18
fancyCount
14
fancyTags
0
"she breathed, her voice barely above a whisper (breathe)"
1
"he replied, his French accent caressing her name like a lover's touch (reply, caress like)"
2
"he said simply, his gaze finally settling on her (say simply, finally settle)"
3
"she said, her voice tinged with bitterness (say, tinged)"
4
"he admitted, taking a step closer (admit, take)"
5
"he said softly, his eyes pleading (say softly, plead)"
6
"he said quietly (say quietly)"
7
"she said, her voice shaking (say, shake)"
8
"he said, his voice filled with regret (say, fill)"
9
"he said, taking a step closer (say, take)"
10
"she whispered, her voice trembling (whisper)"
11
"he promised (promise)"
12
"he whispered, his voice filled with conviction (whisper, fill)"
13
"she replied, her heart full for the first time in what felt like forever (reply, feel like forever)"
77.9320%