NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-17-01KHMQY3YCMV6K3XCPJJ87MVRB
Run Details
Model:
Gemini 2.5 Pro
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
40.8s
Cost:
$0.039253
Provider:
Google AI Studio
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
The insistent rapping on the door was sharp enough to cut through the scent of
simmering
spices from the curry house below. Aurora looked up from a brittle scroll detailing Sumerian warding techniques. A fine layer of dust coated her fingertips. On the arm of the chair, Ptolemy, a fat tabby who ruled the flat with furry indifference,
flicked
an ear but didn't bother opening his eyes. Eva
wasn’t expecting
anyone. Rory wasn’t either. Probably a courier with the wrong address again. She slid a strip of vellum into the scroll to mark her place and
navigated
the treacherous maze of book stacks that had consumed Eva’s living room. The door, a slab of thick, scarred wood, was a fortress. Rory worked the locks, her fingers sure and practiced. The top deadbolt groaned in protest. The second clicked cleanly. The third, a beast of reinforced steel Eva had installed after a particularly nasty incident involving a rogue imp, took a firm twist to disengage. Finally, she pulled the door inward. And her breath caught in her throat. Lucien Moreau stood on the threshold, a study in charcoal and silver. His tailored suit was immaculate, uncreased by the chaos of a Brick Lane afternoon. His platinum hair, catching the weak hallway light,
was slicked
back from his sharp features. One hand rested on the ivory head of his cane, casually, as if he
were waiting
for a table at a Michelin-star restaurant and not standing in the shabby corridor of a walk-up. Then he met her gaze, and the world tilted. One eye was the colour of warm amber, the other a
stark
, bottomless black. The last time she saw those eyes, they
were looking
at her with an expression she’d never
managed to
decipher, just before he walked out of her life without a word. “Aurora,” he said. Her full name, a sound like gravel and
silk
. No one called her Aurora anymore. She was Rory. Or Carter. Hearing it from him felt like
being called
back to a life she’d
deliberately
shed. “Lucien.” Her voice was tight, thin. “What are you doing here?” A ghost of a smile touched his lips, but it didn’t reach his mismatched eyes. “A simple ‘hello’ would suffice. It has been a while.” “Not long enough.” She kept her hand on the door, her body angled to block the entrance. The cramped hallway
suddenly
felt smaller, airless. He smelled the same—of expensive cologne, old paper, and something else, something faintly metallic and sharp, like ozone after a lightning strike. He ignored her jab. His gaze drifted past her, into the chaotic
sanctuary
of Eva’s flat. “Is she here?” “No.” The word was a clipped, defensive bark. “Eva’s in Glastonbury for the week. Research.” “Convenient,” he murmured, though whether for him or for her, Rory couldn’t tell. He took a half-step forward, a subtle shift of
weight
that was pure predatory grace. “Then perhaps you can help me.” Rory’s grip on the door tightened. “I’m not interested.” “You haven’t heard what I need.” “Don’t care.” Everything in her screamed to slam the door, to shoot the three deadbolts home and pretend he was just a bad memory. But she
was rooted
to the spot, trapped in the gravitational pull of his presence. Six months. Six months of radio silence, of wondering if he was dead in a ditch or simply bored of her. And now he stood here, asking for a favour. The audacity of it was a current of pure fire in her veins. His amber eye
seemed to
soften, a trick of the light. “You are the only other person she trusts, Laila.” Her breath hitched. *Laila*. The name he’d given her on their second meeting, whispered in the back of a shadowed pub. *My night*, he’d translated from the Arabic, his voice low and intimate. It had felt like a secret, a name just for them. Hearing it now felt like a violation. “Don’t call me that,” she said, her voice dropping. “Why not? It suited you.” He finally moved, not to get past her, but to lean one shoulder against the doorframe. The pose
was relaxed
, belying the tension coiled in his frame. She could see it in the set of his shoulders, the way his fingers tapped a restless rhythm on the ivory cane. “I need access to Eva’s collection. Specifically, her notes on the Ashen Grimoire.” Of course. It was never about her. It was always about the work, the information, the next move in the endless game he played in the city’s supernatural underbelly. She’d been a fool to ever think otherwise. “The Grimoire is a myth,” she said, falling back on academic dismissal. “Myths are just truths that have learned to hide,” he retorted smoothly. “And I have reason to believe it has surfaced. There are whispers. People are dying, Aurora. In ways that are… inventive.” She hated the part of her that felt a
flicker
of professional curiosity. Hated more that he knew it would be there. She glanced down at her own left wrist, at the faint, crescent-shaped scar there. A reminder of a different kind of danger, a purely human one she’d run from. Evan had been a monster of fists and words. Lucien was a monster of silences and shadows, and she wasn’t sure which was worse. “And what makes you think Eva’s notes on a fairy tale will help?” “Because Eva Griffith is the foremost expert on Abyssal texts in this hemisphere,” he said, his voice laced with a respect he rarely afforded anyone. “And I am out of time. Please.” The ‘please’ was what did it. It was uncharacteristic, a crack in the polished
facade
. She saw it then—a faint, dark smudge of exhaustion beneath his eyes, a tension in his jaw that his tailored perfection couldn’t quite conceal. Something had him running scared, and Lucien Moreau didn’t scare easily. With a sigh that felt like it
was dredged
up from her heels, she stepped back. It was an admission of defeat. The door swung open, granting him entry. He moved into the flat, his presence seeming to absorb what little light and space there was. He
navigated
the book stacks with an unnerving ease, his cane tapping
softly
on the floorboards. Ptolemy, finally sensing an intrusion, lifted his head. The cat’s ears went flat, and a low hiss vibrated in his chest. Lucien paused, his heterochromatic eyes fixing on the animal. He didn’t smile, just inclined his head in a small gesture of acknowledgement, as if greeting an equal. Ptolemy’s hissing subsided into a suspicious grumble. “Her filing system is still an offense against God and man, I see,” Lucien commented, his gaze sweeping over the piles of scrolls and leather-bound tomes. “It’s Eva’s system. It makes sense to her.” Rory closed the door but didn’t shoot the bolts. Not yet. Leaving them unlocked felt like a statement: *You are not staying*. He turned to face her, the narrow aisle between a tower of books and Eva’s desk forcing them into proximity. He was closer now than he’d been in the hall, close enough that she could see the fine platinum hairs at his temple, the individual black and gold flecks in his strange eyes. The urge to reach out, to touch his jaw and see if he was real, was a sudden, sharp ache in her chest. She curled her fingers into a fist. “You could have called,” she said, the accusation quiet but sharp. “And would you have answered?” She didn’t have a reply to that. Probably not. “That’s what I thought,” he said, his voice softer now. “This was better.” “Better for you.” “Aurora.” He said her name again, and this time it was different. Weary. He reached out, not to touch her, but to
gently
move a precariously balanced copy of *De Vermis Mysteriis* that was about to topple onto her shoulder. His fingers brushed the fabric of her t-shirt, and a jolt went through her, hot and unwelcome. She flinched away. His hand dropped. The hurt in his eyes
was fleeting
, but she saw it. Or maybe she imagined it. With him, she was never sure what was real and what was performance. “I am sorry,” he said. The quiet words stunned her more than a shout would have. “Sorry for what? For needing a book, or for disappearing for six months?” “For the latter,” he said, his gaze
unwavering
. “It was… unavoidable.” “Everything with you is unavoidable,” she shot back, the bitterness she’d
tried to
bury bubbling to the surface. “Or necessary. Or complicated. It’s never just a choice, is it? You never just choose.” The silence that followed was heavy, thick with everything they’d never said. It stretched between them, clinging to the dusty air. He looked at her, and for a moment, the impeccable fixer, the half-demon broker of secrets,
was gone
. In his place was just a man. A man with tired eyes and a past he wouldn’t share. “Sometimes,” he said, his voice barely a whisper, “the choice is made for you. To protect people.” Rory’s heart hammered against her ribs. *To protect people.* Was that it? Did he leave to protect *her*? The idea was both infuriating and devastatingly tempting to believe. She shook her head, trying to clear it. “The Grimoire,” she said, seizing the original topic like a lifeline. “What do you need to know?” He
seemed to
gratefully accept the change of subject. “Anything Eva found on its summoning rites. Its vulnerabilities. Who wrote it, and more importantly, who they wrote it for.” It was a huge ask. Hours of work, sifting through Eva’s cryptic cross-references and colour-coded chaos. It meant letting him stay. It meant being near him, breathing the same air,
pretending that her
world hadn’t just
been fractured
all over again. She walked past him,
deliberately
not touching him, and went to the large oak filing cabinet that was the closest thing to an organizational system in the flat. Her hand
trembled
slightly
as she pulled open a drawer labeled *Abyssals & Their Discontents*. “Fine,” she said, not looking at him. “I’ll help you look. But Lucien?” She felt him turn toward her. “When you find what you need,” she said, finally meeting his gaze over her shoulder, “you leave. And this time, you don’t come back.” He didn’t answer. He just watched her, his expression
unreadable
, and in the amber and black depths of his eyes, she saw the reflection of a thousand
unspoken
things, a history that was still
being written
, whether she wanted it to be or not.
created_at
"2026-02-17T02:48:22.218068+00:00"
2/17/2026, 2:48:22 AM
model
"google/gemini-2.5-pro"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
3058
moderation_latency
(null)
generation_time
40761
tokens_prompt
808
tokens_completion
3487
native_tokens_prompt
786
native_tokens_completion
3827
native_tokens_completion_images
0
native_tokens_reasoning
1442
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.0392525
router
(null)
provider_responses
0
status
200
is_byok
false
latency
3058
endpoint_id
"b261d15b-95ce-4c8c-8bce-00eb0dc1ff77"
provider_name
"Google AI Studio"
model_permaslug
"google/gemini-2.5-pro"
api_type
"completions"
id
"gen-1771296460-ZEIwy8RV3ehs9jATCnRx"
upstream_id
(null)
total_cost
0.0392525
cache_discount
(null)
upstream_inference_cost
0
provider_name
"Google AI Studio"
Evaluation details
Result
Evaluator
Details
Meta Data
54.9020%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
17
adverbTagCount
4
adverbTags
0
"he retorted smoothly [smoothly]"
1
"he said, his voice laced with a respect he rarely afforded anyone [rarely]"
2
"he said, his voice barely a whisper [barely]"
3
"she said, finally meeting his gaze over her shoulder [finally]"
66.4430%
AI-ism adverb frequency
Target: <1% AI-ism adverbs (57 tracked)
wordCount
1788
totalAiIsmAdverbs
6
found
0
adverb
"deliberately"
count
2
1
adverb
"gently"
count
1
2
adverb
"slightly"
count
1
3
adverb
"softly"
count
1
4
adverb
"suddenly"
count
1
highlights
0
"deliberately"
1
"gently"
2
"slightly"
3
"softly"
4
"suddenly"
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)
10.5145%
AI-ism word frequency
Target: <1% AI-ism words (140 tracked)
wordCount
1788
totalAiIsms
16
found
0
word
"sanctuary"
count
1
1
word
"facade"
count
1
2
word
"simmering"
count
1
3
word
"flicker"
count
1
4
word
"flicked"
count
1
5
word
"trembled"
count
1
6
word
"silk"
count
1
7
word
"unwavering"
count
1
8
word
"unspoken"
count
1
9
word
"unreadable"
count
1
10
word
"stark"
count
1
11
word
"fractured"
count
1
12
word
"weight"
count
1
13
word
"navigated"
count
2
14
word
"abyssal"
count
1
highlights
0
"sanctuary"
1
"facade"
2
"simmering"
3
"flicker"
4
"flicked"
5
"trembled"
6
"silk"
7
"unwavering"
8
"unspoken"
9
"unreadable"
10
"stark"
11
"fractured"
12
"weight"
13
"navigated"
14
"abyssal"
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
132
matches
(empty)
100.0000%
Filter word density
Target: ≤12% sentences with filter/hedge words
filterCount
0
hedgeCount
4
narrationSentences
132
filterMatches
(empty)
hedgeMatches
0
"managed to"
1
"seemed to"
2
"tried to"
100.0000%
Overuse of "that" (subordinate clause padding)
Target: ≤10% sentences with "that" clauses
thatCount
1
totalSentences
154
matches
0
"pretending that her"
100.0000%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
55
mean
32.33
std
23.9
cv
0.739
sampleLengths
0
67
1
15
2
88
3
7
4
74
5
54
6
38
7
11
8
25
9
46
10
19
11
15
12
34
13
9
14
6
15
2
16
80
17
20
18
51
19
9
20
67
21
37
22
12
23
33
24
75
25
13
26
32
27
50
28
29
29
88
30
26
31
30
32
83
33
11
34
5
35
9
36
13
37
3
38
60
39
32
40
5
41
24
42
11
43
33
44
57
45
17
46
28
47
25
48
29
49
41
92.9293%
Passive voice overuse
Target: ≤5% passive sentences
passiveCount
8
totalSentences
132
matches
0
"was slicked"
1
"being called"
2
"was rooted"
3
"was relaxed"
4
"was dredged"
5
"was gone"
6
"been fractured"
7
"being written"
100.0000%
Past progressive (was/were + -ing) overuse
Target: ≤10% past progressive verbs
pastProgressiveCount
4
totalVerbs
259
matches
0
"wasn’t expecting"
1
"were waiting"
2
"were looking"
3
"was fleeting"
100.0000%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1497
adjectiveStacks
0
stackExamples
(empty)
adverbCount
59
adverbRatio
0.0394121576486306
lyAdverbCount
27
lyAdverbRatio
0.018036072144288578
100.0000%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
154
echoCount
0
echoWords
(empty)
100.0000%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
154
mean
11.55
std
7.47
cv
0.647
sampleLengths
0
22
1
11
2
8
3
26
4
4
5
3
6
8
7
27
8
11
9
9
10
6
11
4
12
25
13
6
14
7
15
12
16
14
17
15
18
33
19
9
20
14
21
31
22
3
23
9
24
6
25
3
26
2
27
15
28
6
29
5
30
15
31
10
32
17
33
7
34
22
35
4
36
12
37
3
38
8
39
7
40
13
41
15
42
6
43
6
44
3
45
6
46
2
47
22
48
15
49
2
53.4632%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
11
diversityRatio
0.36363636363636365
totalSentences
154
uniqueOpeners
56
13.2353%
Dialogue tag variety (said vs. fancy)
Target: ≤30% fancy dialogue tags
totalTags
17
fancyCount
11
fancyTags
0
"he murmured, though whether for him or for her, Rory couldn’t tell (murmur, does not tell)"
1
"she said, her voice dropping (say, drop)"
2
"she said, falling back on academic dismissal (say, fall back)"
3
"he retorted smoothly (retort smoothly)"
4
"he said, his voice laced with a respect he rarely afforded anyone (say, lace rarely afford)"
5
"Lucien commented, his gaze sweeping over the piles of scrolls and leather-bound tomes (comment)"
6
"he said, his gaze unwavering (say, unwaver)"
7
"she shot back, the bitterness she’d tried to bury bubbling to the surface (shoot back, try bury bubbling)"
8
"she said, seizing the original topic like a lifeline (say, seize like)"
9
"she said, not looking at him (say, does not look)"
10
"she said, finally meeting his gaze over her shoulder (say, finally meet)"
81.8522%