NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-17-01KHMR1TEVC83B4C69NB1PEQ5M
Run Details
Model:
Claude Haiku 4.5
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
25.1s
Cost:
$0.011509
Provider:
Anthropic
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 knock came at half past eleven on a Thursday night, the kind of hour that made Rory's stomach clench before she even looked through the peephole. She'd learned to be cautious in London. Three deadbolts bought some peace of mind, though not much. She squinted through the glass and felt her breath catch. Lucien stood in the hallway outside Eva's flat, still in his charcoal suit despite the late hour, the ivory handle of his cane catching the amber glow of the corridor light. His platinum hair was
slightly
mussed, which meant something had rattled him. Rory had learned to read those small tells over the months they'd worked together before everything went sideways. She didn't open the door. "I know you're there," he called through the wood, his Marseille accent clipping the words just
slightly
. "I can hear your breathing." "Go away, Luc." "Not until we talk." "We don't have anything to talk about." But even as she said it, Rory's hand
was moving
to the first deadbolt, muscle memory overriding the part of her brain that insisted this was a terrible idea. The part that remembered how it had ended — the argument in his apartment in Shoreditch, the way his heterochromatic eyes had gone cold when she'd accused him of lying about his connections to the thing they'd been hunting. The silence that followed, thick and suffocating. The bolt turned with a click. "This is a mistake," she muttered, unlatching the second lock. "Probably," Lucien agreed from the other side. "But a necessary one." The third bolt gave way, and Rory pulled open the door before she could second-guess herself. The hallway air rushed in, carrying the ghost of curry spices from downstairs and something else — something that smelled like cologne and rain and the specific Lucien-ness she'd been trying not to think about for the past six weeks. He looked tired. Not disheveled, never that — his suit was impeccable, not a thread out of place — but tired in the way that suggested he hadn't slept properly in days. The black of his left eye seemed darker than she remembered, a void against the sharp amber of the right. "You can't just show up at people's flats at eleven at night," Rory said, but she stepped back anyway, an implicit invitation he didn't waste time accepting. She locked the door behind him with the same three deadbolts, though she wasn't entirely sure if she
was locking
him in or the rest of the world out. "I tried the restaurant first," Lucien said, leaning his cane against Eva's overstuffed bookshelf. The ivory handle gleamed among the spines of grimoires and research texts. "Yu-Fei said you'd left early. The bar was my second attempt, but Silas was less than forthcoming about your current whereabouts. Eva's flat seemed the logical choice." "How did you even—" "I know where your friend lives, Aurora." He used her full name, the one he only deployed when he
was making
a point. "I've known for months. I simply respected your privacy enough not to appear on her doorstep until circumstances became urgent." Rory crossed her arms. Ptolemy, Eva's tabby, had appeared in the kitchen doorway at the sound of his voice, regarding Lucien with the same suspicious intensity Rory
was managing
. At least the cat had good instincts. "What circumstances?" she asked. "What's happened?" "The Veil corruption you and I investigated together — the one you were convinced I was involved with — has accelerated." Lucien moved deeper into the flat, careful not to disturb the precarious stacks of books that covered nearly every surface. His cane made a soft sound against the hardwood. "It's spreading faster than anyone anticipated. Three locations in East London in the past week alone. The supernatural community is starting to notice, which means the human authorities won't be far behind." "That's not my problem anymore," Rory said, but her voice
wavered
. It was a lie and they both knew it. When you'd spent months chasing something, when you'd nearly died for it, it didn't stop being your problem just because you'd walked away from the person who'd helped you hunt it. Lucien turned to face her, and in the lamplight of Eva's cramped living room, she could see the shadows under his eyes more clearly. "Three people died in the latest breach." The words landed like a stone in her chest. "I didn't know," she whispered. "Of course you didn't. You've been avoiding me — and by extension, anyone who works with me, anyone who might bring me within your orbit." His voice wasn't cruel, which somehow made it worse. "But ignorance has an expiration date, and that date has passed." Rory sank onto the arm of Eva's sofa, the one that wasn't buried under books. Ptolemy jumped up and pressed against her legs, offering cat-based comfort that felt inadequate to the moment. "Why come to me? You have your contacts, your network. You don't need me." "I came to you," Lucien said
slowly
, as if choosing each word with deliberate care, "because you are the only person I trust to keep an open mind. The only person I trust at all, if I'm being precise." The admission hung between them, fraught with all the things they hadn't said before he'd left her apartment that night. The way she'd hurt him — that was clear now, in the careful distance he maintained, in the formality that had replaced the ease that used to exist between them. "Luc—" "I wasn't lying to you," he continued, moving to the window. He didn't look out at the street below, just stood with his hand on the frame, staring at the glass. "About my involvement with the Architect or whatever that thing called itself. I was protecting you, yes, but not in the way you thought. The less you knew about my family's connection to the Avarosian realms, the safer you were. And I botched the explanation badly enough to make you believe I was complicit. I've spent six weeks wishing I'd done that differently." Rory's throat felt tight. She'd spent those six weeks alternating between anger and regret, constructing arguments she'd never get to make, reliving the moment his eyes had gone shuttered. "I accused you of terrible things." "You were right to be suspicious. I was hiding things." He turned back to her, and the heterochromatic gaze was level, honest. "I'm still hiding things — I always will be, it's part of what I am. But I wasn't lying about what mattered. I wasn't lying about wanting to protect you. I wasn't lying about..." He trailed off, the words catching somewhere behind his teeth. "About what?" Rory asked quietly. Lucien's jaw worked. "I came here because I need your help. But also because I've been miserable without you, and I thought you should
know that." The
admission
seemed to
cost him something. "Even if you tell me to leave right now, even if you slam this door and throw the deadbolts and never want to see me again, I wanted you to know." Rory stood, moving toward him without quite deciding to. The space between them felt charged, like the air before a storm. "You can't just say things like that." "Why not?" "Because I've been miserable too," she said, the words tumbling out before she could stop them. "And that's not fair. You don't get to come here at eleven at night and make me have feelings about you after six weeks of successfully not having them." "I never made you have feelings," Lucien said
softly
. "They were always yours, same as mine are mine. We just spent some time pretending they didn't exist." Rory could feel the crescent scar on her wrist tingling — a phantom ache from her childhood, triggered by tension. She rubbed at it absently and watched understanding
flicker
across Lucien's face as he noticed the gesture. He'd always been attentive that way, always saw the small tells. "Tell me about the breaches," she heard herself say. "Tell me everything, and then we'll talk about what comes next." The relief in his expression was unmistakable. "There's a café near here. We could—" "No." Rory shook her head. "Here. Eva won't be back until morning, and Ptolemy has already accepted you. We'll talk here, and you can help me make sense of the research she's been accumulating. And then..." She paused, looking at him directly. "Then we figure out what we're doing." Lucien picked up his cane, leaning on it with a grace that suggested it was as much accessory as tool. "I was hoping you might say something like that." They settled at the kitchen table, surrounded by books and the lingering smell of curry, while Lucien laid out the details of the accelerating corruption. And if his fingers brushed hers once or twice while they sorted through Eva's meticulous notes, if the careful distance between them
seemed to
shrink with each passing hour, neither of them mentioned it. Not yet. But the night was long, and there were still so many things left unsaid.
created_at
"2026-02-17T02:50:07.967706+00:00"
2/17/2026, 2:50:07 AM
model
"anthropic/claude-4.5-haiku-20251001"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
462
moderation_latency
(null)
generation_time
24994
tokens_prompt
808
tokens_completion
2286
native_tokens_prompt
854
native_tokens_completion
2131
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.011509
router
(null)
provider_responses
0
id
"msg_01M1TZTZ65ocffh7iNg2Mu1m"
status
200
is_byok
false
latency
462
endpoint_id
"41d2915a-92e6-4993-b537-210b4e10cba8"
provider_name
"Anthropic"
model_permaslug
"anthropic/claude-4.5-haiku-20251001"
api_type
"completions"
id
"gen-1771296582-Fu7fzbak2vu5DRQrmQDm"
upstream_id
"msg_01M1TZTZ65ocffh7iNg2Mu1m"
total_cost
0.011509
cache_discount
(null)
upstream_inference_cost
0
provider_name
"Anthropic"
Evaluation details
Result
Evaluator
Details
Meta Data
44.4444%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
15
adverbTagCount
4
adverbTags
0
"he called through the wood, his Marseille accent clipping the words just slightly [just slightly]"
1
"Rory said, but she stepped back anyway, an implicit invitation he didn't waste time accepting [back anyway]"
2
"Lucien said slowly, as if choosing each word with deliberate care [slowly]"
3
"Lucien said softly [softly]"
73.6495%
AI-ism adverb frequency
Target: <1% AI-ism adverbs (57 tracked)
wordCount
1518
totalAiIsmAdverbs
4
found
0
adverb
"slightly"
count
2
1
adverb
"slowly"
count
1
2
adverb
"softly"
count
1
highlights
0
"slightly"
1
"slowly"
2
"softly"
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)
86.8248%
AI-ism word frequency
Target: <1% AI-ism words (140 tracked)
wordCount
1518
totalAiIsms
2
found
0
word
"flicker"
count
1
1
word
"wavered"
count
1
highlights
0
"flicker"
1
"wavered"
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
68
matches
(empty)
100.0000%
Filter word density
Target: ≤12% sentences with filter/hedge words
filterCount
0
hedgeCount
2
narrationSentences
68
filterMatches
(empty)
hedgeMatches
0
"seemed to"
100.0000%
Overuse of "that" (subordinate clause padding)
Target: ≤10% sentences with "that" clauses
thatCount
1
totalSentences
92
matches
0
"know that.\" The"
100.0000%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
45
mean
33.87
std
24.57
cv
0.725
sampleLengths
0
44
1
10
2
61
3
5
4
22
5
3
6
4
7
82
8
6
9
10
10
11
11
56
12
52
13
56
14
53
15
4
16
43
17
36
18
6
19
82
20
51
21
31
22
9
23
5
24
45
25
46
26
39
27
50
28
1
29
94
30
35
31
66
32
5
33
64
34
28
35
2
36
45
37
27
38
48
39
20
40
14
41
49
42
29
43
59
44
16
100.0000%
Passive voice overuse
Target: ≤5% passive sentences
passiveCount
0
totalSentences
68
matches
(empty)
100.0000%
Past progressive (was/were + -ing) overuse
Target: ≤10% past progressive verbs
pastProgressiveCount
4
totalVerbs
173
matches
0
"was moving"
1
"was locking"
2
"was making"
3
"was managing"
100.0000%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
951
adjectiveStacks
0
stackExamples
(empty)
adverbCount
35
adverbRatio
0.03680336487907466
lyAdverbCount
13
lyAdverbRatio
0.013669821240799159
100.0000%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
92
echoCount
0
echoWords
(empty)
100.0000%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
92
mean
16.57
std
12.23
cv
0.738
sampleLengths
0
27
1
7
2
10
3
10
4
31
5
12
6
18
7
5
8
17
9
5
10
3
11
4
12
36
13
39
14
7
15
6
16
10
17
7
18
4
19
16
20
40
21
3
22
29
23
20
24
27
25
29
26
14
27
12
28
27
29
4
30
23
31
20
32
4
33
25
34
7
35
4
36
2
37
41
38
9
39
32
40
11
41
9
42
31
43
24
44
7
45
9
46
5
47
34
48
11
49
15
56.5217%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
8
diversityRatio
0.391304347826087
totalSentences
92
uniqueOpeners
36
0.0000%
Dialogue tag variety (said vs. fancy)
Target: ≤30% fancy dialogue tags
totalTags
15
fancyCount
12
fancyTags
0
"he called through the wood, his Marseille accent clipping the words just slightly (call clip)"
1
"she muttered, unlatching the second lock (mutter, unlatch)"
2
"Lucien agreed from the other side (agree)"
3
"Rory said, but she stepped back anyway, an implicit invitation he didn't waste time accepting (say, step does not waste accept)"
4
"Lucien said, leaning his cane against Eva's overstuffed bookshelf (say, lean overstuff)"
5
"Rory said, but her voice wavered (say, waver)"
6
"she whispered (whisper)"
7
"Lucien said slowly, as if choosing each word with deliberate care (say slowly, choose)"
8
"he continued, moving to the window (continue, move)"
9
"she said, the words tumbling out before she could stop them (say, tumble stop)"
10
"Lucien said softly (say softly)"
11
"she heard herself say (heard herself say)"
85.9671%