NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-17-01KHMQP4C6T1MBQRQ264V6S4QM
Run Details
Model:
MoonshotAI: Kimi K2.5
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
59.2s
Cost:
$0.017549
Provider:
Fireworks
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 deadbolts were a ritual. Rory slid the first chain, the second, the third—Eva’s paranoia about living above a twenty-four-hour curry house had seemed excessive until you remembered what else shared the Brick Lane shadows. Her fingers lingered on the cold metal of the final latch. Through the peephole, the corridor warped into fisheye distortion: charcoal wool, platinum hair, ivory
gleaming
like a threat against his gloved palm. She stopped breathing. Lucien Moreau stood in the hallway that smelled of vindaloo and cheap detergent, leaning on that cane of his with a casualness that didn’t fool her for a second. He’d slicked his hair back, severe and proper, but one stray strand had escaped, silver against his temple. His eyes—god, his eyes. Even through the distorted glass, the asymmetry unnerved her. Amber and obsidian. Human and not. The last time she’d seen him, he’d been walking away from her in a Soho alley, the tails of his coat disappearing into fog, leaving her with a half-truth that had felt like a broken rib every time she breathed since. She should shut the peephole. Walk away. Instead, her thumb found the release. The door cracked open. “You’re missing a deadbolt,” he said. His voice carried the faint rasp of Marseille,
velvet
over gravel. “You’re counting my locks?” “I’m noting your security habits, chérie. One should always note what has changed.” Not what has changed. What has changed between them. The subtext hummed like a live wire. She opened the door fully. The chain remained on—old habits—but the gap was wide enough to see him properly. Rain had darkened the shoulders of his charcoal suit to near-black. He hadn’t brought an umbrella. For a man who
calculated
every variable, the oversight felt deliberate. Vulnerable, even. “Eva’s not here,” Rory said. “I know. I came to see you.” Her left wrist
throbbed
, phantom pain around the crescent scar she’d earned at eight years old, falling from her father’s bookshelf. She hid it behind her back, then stopped herself. He’d already seen. He saw everything. Ptolemy wound between her ankles, orange tabby fur brushing her jeans, then darted back into the flat’s interior as if sensing the static in the air. “You can’t just—” Rory gestured at the threshold, at him, at the three years or three weeks or however long it had been since he’d decided she was collateral damage in whatever demon realm dispute he
was brokering
. “You don’t get to show up like this. Unannounced. After—” “After I lied to you about Avaros?” He tilted his head. The amber eye caught the hallway’s bare bulb, reflecting something ancient. The black eye drank the light. “After I let you believe I was only dangerous in the ways you could see?” She gripped the doorframe. The paint
was peeling
there, layered with curry grease and London damp. “Yeah. After that.” He shifted his
weight
. The cane tapped once against the linoleum, ivory handle flashing. She knew what it concealed—a blade thin enough to slip between ribs, sharp enough to cut lies in half. He’d taught her that, during those weeks when she’d been stupid enough to think she could learn the rules of his world without paying a price. “May I come in?” he asked. Not a demand. A request, stripped of his usual performance. No flourish. No smirk. Rory looked at him—
really
looked. The exhaustion bracketing his mouth. The way his free hand flexed, empty, as if reaching for something he’d lost. She undid the chain. The door swung inward. He stepped across the threshold, and immediately the flat felt smaller. Eva’s research had colonized every surface: books teetering on the kitchen counter, scrolls unspooling across the threadbare sofa, the air thick with old paper and the cardamom scent rising from the restaurant below. Lucien had to turn sideways to avoid knocking a stack of grimoires with his cane. He smelled of rain and something else—sulfur, faint but distinct. The Avaros bloodline showing through. “You’re working for the Cheung family now,” he said. It wasn’t a question. “Delivery girl,” Rory said, closing the door, sliding the deadbolts home with three decisive clicks. The sound seemed loud in the sudden intimacy of the room. “Keeps me off the radar. Keeps me fed.” “It keeps you visible. Yu-Fei uses her delivery network to map the ley lines.” “I know.” She faced him, arms crossed. The scar on her wrist peeked from beneath her sleeve—black hair falling forward, bright blue eyes defiant. “I’m not stupid, Lucien. I just needed a job that didn’t ask questions. Unlike some people.” He set the cane against Eva’s cluttered dining table—an antique mahogany piece buried under archaeological journals—and removed his gloves, finger by finger. Black leather. Precise. The exposed skin of his hands was pale, the nails manicured, but the knuckles carried faint scarring she didn’t remember. New damage. “I didn’t come to recruit you,” he said. “Then why?” Silence settled between them, heavy as the humidity outside. Ptolemy jumped onto the windowsill, tail thumping against the glass, watching Brick Lane’s evening crowd with feline indifference. Lucien took a step closer. He was five-eleven to her five-six; he’d always had to tilt his chin down to meet her eyes, and he did so now with a focus that felt like
being pinned
beneath a microscope. “You stopped taking my calls,” he said. “You stopped being honest.” “I stopped being safe. There’s a difference.” “Not to me.” Rory’s voice cracked. She hated it. She was cool-headed,
calculated
—her father’s daughter, her mother’s stubbornness. But around him, the edges blurred. “You walked away like I was nothing. Like what happened in that safehouse was—” “Was what?” Another step. His shadow fell across her, cool where the room was warm. “Say it, Rory. You’re so good at naming things. The law, the truth. Name this.” Her back hit the bookshelf. Spines dug into her shoulder blades—Eva’s collection on Celtic demonology, ironically enough. Lucien’s hands came up, not touching her, but bracketing her head, caging her in a prison of his own making. His breath stirred the hair at her temple. The sulfur smell was stronger now, but beneath it, the clean scent of his cologne, something with bergamot and sharp edges. “You left,” she whispered. “I was protecting you from the House of Avaros. From my father’s emissaries who would have used you to leash me.” His amber eye
was molten
now, the black one depthless. “I thought distance was armor. I was wrong.” She could see the pulse in his throat, rapid and uncontrolled. For a fixer who spoke four languages and wielded silence like a blade, the tremor in his composure was devastating. “Three weeks,” she said. “You let me think you were dead for three weeks, Lucien. I checked the morgues. I checked the—” “I know.” His forehead dropped to rest against hers, a gesture so intimate it felt like a confession. His skin was fever-warm, demon-warm. “I know, and I’m here to collect the debt of that hurt, if you’ll let me. Or I’ll leave again, if that’s what you need. But I couldn’t stay away another night, not knowing you were here, unprotected, with Evan still asking questions in Camden—” Rory’s breath hitched. The abusive ex. The reason she’d fled Cardiff. Lucien knew; of course he knew. Information broker. “You’re checking up on me,” she said, but there was no heat in it. “I’m falling apart without you,” he murmured, the French accent thickening, breaking through the polished English. “Je suis désolé, Laila.” The alias—Laila, the name she’d used in the underworld, the name he’d whispered against her skin in that safehouse—shattered the last of her resolve. Her hands moved before her mind caught up, gripping the lapels of his charcoal suit, pulling him in. The cane clattered to the floor, forgotten. His mouth found hers, hungry and desperate, all the unsaid things translating into pressure and heat and the taste of rain. He kissed like he fought—strategic, devastating, then
suddenly
soft, reverent, his thumbs brushing the scar on her wrist where he’d finally touched her. Outside, Brick Lane roared with life, curry and crowds and the endless London rain. Inside, surrounded by Eva’s books and Ptolemy’s judgmental stare, Rory let the deadbolts stay thrown. Let the world wait. Let him in.
created_at
"2026-02-17T02:44:18.741945+00:00"
2/17/2026, 2:44:18 AM
model
"moonshotai/kimi-k2.5-0127"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
156
moderation_latency
(null)
generation_time
58914
tokens_prompt
808
tokens_completion
6679
native_tokens_prompt
767
native_tokens_completion
5824
native_tokens_completion_images
(null)
native_tokens_reasoning
4416
native_tokens_cached
766
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.0175492
router
(null)
provider_responses
0
id
"63837cfe-7b1a-4ce6-a69e-077861e70da5"
status
200
is_byok
false
latency
156
endpoint_id
"2e3d0ec2-3384-498b-9654-5ae800e3d886"
provider_name
"Fireworks"
model_permaslug
"moonshotai/kimi-k2.5-0127"
api_type
"completions"
id
"gen-1771296199-2pS6aUwoZra7w0qSo1Ng"
upstream_id
"63837cfe-7b1a-4ce6-a69e-077861e70da5"
total_cost
0.0175492
cache_discount
0.000383
upstream_inference_cost
0
provider_name
"Fireworks"
Evaluation details
Result
Evaluator
Details
Meta Data
100.0000%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
11
adverbTagCount
0
adverbTags
(empty)
85.8055%
AI-ism adverb frequency
Target: <1% AI-ism adverbs (57 tracked)
wordCount
1409
totalAiIsmAdverbs
2
found
0
adverb
"suddenly"
count
1
1
adverb
"really"
count
1
highlights
0
"suddenly"
1
"really"
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)
57.4166%
AI-ism word frequency
Target: <1% AI-ism words (140 tracked)
wordCount
1409
totalAiIsms
6
found
0
word
"throbbed"
count
1
1
word
"gleaming"
count
1
2
word
"velvet"
count
1
3
word
"calculated"
count
2
4
word
"weight"
count
1
highlights
0
"throbbed"
1
"gleaming"
2
"velvet"
3
"calculated"
4
"weight"
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
109
matches
(empty)
100.0000%
Filter word density
Target: ≤12% sentences with filter/hedge words
filterCount
0
hedgeCount
0
narrationSentences
109
filterMatches
(empty)
hedgeMatches
(empty)
100.0000%
Overuse of "that" (subordinate clause padding)
Target: ≤10% sentences with "that" clauses
thatCount
0
totalSentences
127
matches
(empty)
100.0000%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
50
mean
27.68
std
20.21
cv
0.73
sampleLengths
0
68
1
3
2
66
3
41
4
7
5
10
6
17
7
4
8
13
9
16
10
48
11
5
12
7
13
36
14
26
15
48
16
43
17
19
18
59
19
20
20
24
21
4
22
63
23
15
24
13
25
34
26
14
27
40
28
47
29
8
30
2
31
27
32
39
33
7
34
4
35
7
36
38
37
30
38
66
39
4
40
39
41
31
42
22
43
68
44
19
45
14
46
20
47
24
48
69
49
36
100.0000%
Passive voice overuse
Target: ≤5% passive sentences
passiveCount
2
totalSentences
109
matches
0
"being pinned"
1
"was molten"
100.0000%
Past progressive (was/were + -ing) overuse
Target: ≤10% past progressive verbs
pastProgressiveCount
2
totalVerbs
186
matches
0
"was brokering"
1
"was peeling"
100.0000%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1116
adjectiveStacks
0
stackExamples
(empty)
adverbCount
31
adverbRatio
0.027777777777777776
lyAdverbCount
7
lyAdverbRatio
0.0062724014336917565
100.0000%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
127
echoCount
0
echoWords
(empty)
100.0000%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
127
mean
10.9
std
8.86
cv
0.813
sampleLengths
0
5
1
30
2
11
3
22
4
3
5
29
6
18
7
4
8
9
9
3
10
3
11
41
12
5
13
2
14
6
15
4
16
6
17
11
18
4
19
13
20
4
21
5
22
7
23
5
24
14
25
11
26
5
27
11
28
2
29
5
30
7
31
21
32
9
33
3
34
3
35
26
36
38
37
10
38
11
39
11
40
6
41
15
42
4
43
12
44
3
45
4
46
10
47
19
48
26
49
6
51.1811%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
10
diversityRatio
0.3543307086614173
totalSentences
127
uniqueOpeners
45
84.0909%
Dialogue tag variety (said vs. fancy)
Target: ≤30% fancy dialogue tags
totalTags
11
fancyCount
4
fancyTags
0
"Rory said, closing the door, sliding the deadbolts home with three decisive clicks (say, close slide)"
1
"she whispered (whisper)"
2
"she said, but there was no heat in it (say, does not be no)"
3
"he murmured, the French accent thickening, breaking through the polished English (murmur, thicken, break)"
92.8526%