NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-17-01KHMQR3ZPYR0PFGSYX2QDFD0A
Run Details
Model:
Claude Sonnet 4.5
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
35.5s
Cost:
$0.032232
Provider:
Amazon Bedrock
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 door swung open on the third deadbolt, and Rory found herself staring up at Lucien Moreau. He stood framed in the doorway of Eva's flat, one hand resting on the ivory handle of his cane, the other still on the door itself. His heterochromatic eyes — that unnerving amber-and-black combination — swept over her face with the same careful assessment she remembered from six months ago. His platinum hair
was slicked
back as always, not a strand out of place despite the late hour. The charcoal suit he wore looked like it cost more than her entire wardrobe. "Aurora." His voice carried that faint French lilt that made her name sound like something precious. "What are you doing here?" The words came out sharper than she intended. She'd been running deliveries for the Golden Empress all evening and
was exhausted
, her feet aching, her delivery bag still slung across her chest. The last thing she'd expected was to come back to Eva's place to find Lucien bloody Moreau waiting for her. "May I come in?" He gestured with his cane toward the interior of the flat. "You're already in." She pushed past him,
deliberately
brushing his shoulder as she moved into the cramped space. Books and scrolls covered every available surface — the coffee table, the kitchen counter, even stacked in precarious towers along the baseboards. Ptolemy, Eva's tabby cat, watched them both from his perch atop a stack of grimoires. She heard the door close behind her. The sound of all three deadbolts sliding home
echoed
in the small space. "Where's Eva?" Lucien asked. Rory dropped her delivery bag onto the only clear spot on the couch and turned to face him. "Research trip. Cambridge. She'll be back Sunday." She crossed her arms. "You didn't answer my question." "I came to see you." "That's not an answer either." A muscle twitched in his jaw. It was the only sign that her hostility
was landing
. Lucien Moreau, the information broker, the fixer, the man who moved through London's supernatural underworld like he owned it — he never showed more than he wanted to show. Except for that one night. Except for those few hours when they'd both let their guards down and— No. She
wasn't going
there. "You have been avoiding my calls," he said. "I haven't been avoiding anything. I've been busy." "For six months?" "Yes." He took a step closer. In the cramped flat, it brought him near enough that she could smell his cologne — something expensive and woodsy that reminded her of dark forests and dangerous promises. "Do not insult my intelligence, chérie. I know avoidance when I see it." "Don't call me that." The endearment stung more than it should have. She turned away, busying herself with removing her jacket. Her hands were steady, at least. That was something. "Look, whatever you need, whatever information you're after, Eva's the one you want to talk to. I'm just the delivery girl who happens to crash here sometimes." "I do not need information." "Everyone needs something from you, Lucien. That's how you operate. That's your whole—" She gestured vaguely with one hand, struggling for words. "Your whole thing." "My thing." His tone was dry, almost amused. She whirled back to face him. "Yes. Your thing. You broker deals, you trade secrets, you show up in people's lives when you want something from them. So what is it? What do you want?" The amusement faded from his face. When he spoke again, his voice was quiet,
carefully
controlled. "An apology." That stopped her cold. "What?" "You left. No explanation, no goodbye. You simply vanished." He moved closer again, and this time she held her ground. His mismatched eyes searched her face. "I searched for you. For weeks, Aurora. I called in favors I could not afford to spend. I thought something had happened to you. I thought—" He stopped himself, jaw tightening. Guilt twisted in her stomach. She'd known he would look for her. Part of her had counted on it. But she hadn't let herself
think
about what that searching might have cost him. Men like Lucien didn't show weakness, didn't
reveal that they
cared. In his world, caring was currency that could be used against you. "I needed space," she said finally. "Space." The word came out flat. "Is that
truly
all you have to say?" "What do you want me to say?" The exhaustion of the evening
was catching
up with her, mixing with older, more complicated feelings. "That I'm sorry? Fine. I'm sorry. I should have called, I should have—" She dragged a hand through her black hair, disrupting the practical ponytail she'd tied it in for deliveries. "I should have handled it better." "Why did you leave?" Because I
was falling
for you, she thought. Because for the first time since Evan, I felt something real, and it terrified me. Because you're half-demon and I'm just some girl from Cardiff who barely understands the world you move through. Because I knew I'd get hurt. "It was getting complicated," she said instead. "Complicated." He repeated the word like it was foreign to him. Then, to her surprise, he laughed — a short, bitter sound. "Of course. God forbid things become complicated." "Says the man whose entire life is complicated." "That is different." "How?" "Because I do not run from it." The words were sharp, cutting. They
hung in the air
between them. Ptolemy meowed from his perch, breaking the tension. Rory looked away first, her bright blue eyes tracking to the window where London's lights blurred in the darkness beyond. The crescent-shaped scar on her left wrist caught the lamplight as she unconsciously rubbed it — an old habit from childhood, a nervous tell Lucien had learned to read months ago. "You're scared," he said, his voice softer now. "I'm not—" "You are." He moved close enough that she could feel the heat of him, though he didn't touch her. His cane clicked
softly
against the worn floorboards. "And I
understand that. After
what you told me about your ex, about Evan—" "Don't." The word came out sharp, defensive. "I am not him, Aurora." "I know that." "Do you?" He reached up
slowly
, giving her time to pull away, and touched her chin with careful fingers, turning her face toward his. Those eyes — amber and black, human and demon — studied her with an intensity that made her breath catch. "Because from where I stand, it seems you have decided I am guilty of crimes I have not committed. You have tried, convicted, and sentenced me without trial." "That's not—" But the words died in her throat because there was truth in what he said. She'd run before he could hurt her, before things could fall apart the way they had with Evan. Preemptive defense. "I miss you," Lucien said quietly. The admission
seemed to
cost him something. His
carefully
constructed armor had cracks in it, and through those cracks she could see the truth of what they'd had, what they might still have. "These six months have been — " He paused, searching for words. "Interminable." Her heart hammered against her ribs. She should step back. She should ask him to leave. She should protect herself because that's what survivors did — they learned, they adapted, they built walls. But she was so tired of walls. "Lucien—" "I am not asking for promises," he interrupted. "I am not asking for anything you are not ready to give. But I am asking — no, I am begging — do not simply vanish again. If you
truly
want nothing to do with me, tell me so. I will accept it. But give me that much, at least. Give me the truth." She looked up at him, at this impossible man who was half-demon and half-human and somehow
completely
himself. She thought about six months of deliberate silence, of unanswered calls, of convincing herself that forgetting was better than feeling. "I don't want nothing to do with you," she whispered. "That's the problem." Something shifted in his expression — relief, hope, something tender and dangerous all at once. His thumb brushed along her jaw, a question. "Then what do you want, chérie?" This time, she didn't correct him.
created_at
"2026-02-17T02:45:00.558511+00:00"
2/17/2026, 2:45:00 AM
model
"anthropic/claude-4.5-sonnet-20250929"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
2368
moderation_latency
263
generation_time
35178
tokens_prompt
808
tokens_completion
2108
native_tokens_prompt
854
native_tokens_completion
1978
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.032232
router
(null)
provider_responses
0
id
"d3a3accf-f686-43a6-9e6d-9f7a366885e0"
status
200
is_byok
false
latency
2368
endpoint_id
"d8bee848-f020-454a-b2be-4a7ce868f99f"
provider_name
"Amazon Bedrock"
model_permaslug
"anthropic/claude-4.5-sonnet-20250929"
api_type
"completions"
id
"gen-1771296264-FHT3C2eGEO8h4EeqADny"
upstream_id
"d3a3accf-f686-43a6-9e6d-9f7a366885e0"
total_cost
0.032232
cache_discount
(null)
upstream_inference_cost
0
provider_name
"Amazon Bedrock"
Evaluation details
Result
Evaluator
Details
Meta Data
8.3333%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
8
adverbTagCount
3
adverbTags
0
"she said finally [finally]"
1
"she said instead [instead]"
2
"Lucien said quietly [quietly]"
41.8182%
AI-ism adverb frequency
Target: <1% AI-ism adverbs (57 tracked)
wordCount
1375
totalAiIsmAdverbs
8
found
0
adverb
"carefully"
count
2
1
adverb
"completely"
count
1
2
adverb
"deliberately"
count
1
3
adverb
"slowly"
count
1
4
adverb
"softly"
count
1
5
adverb
"truly"
count
2
highlights
0
"carefully"
1
"completely"
2
"deliberately"
3
"slowly"
4
"softly"
5
"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)
92.7273%
AI-ism word frequency
Target: <1% AI-ism words (140 tracked)
wordCount
1375
totalAiIsms
1
found
0
word
"echoed"
count
1
highlights
0
"echoed"
100.0000%
Cliche density
Target: ≤1 cliche(s) per 800-word window
totalCliches
1
maxInWindow
1
found
0
label
"hung in the air"
count
1
highlights
0
"hung in the air"
100.0000%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
88
matches
(empty)
100.0000%
Filter word density
Target: ≤12% sentences with filter/hedge words
filterCount
1
hedgeCount
1
narrationSentences
88
filterMatches
0
"think"
hedgeMatches
0
"seemed to"
100.0000%
Overuse of "that" (subordinate clause padding)
Target: ≤10% sentences with "that" clauses
thatCount
2
totalSentences
118
matches
0
"reveal that they"
1
"understand that. After"
100.0000%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
57
mean
24.28
std
22.63
cv
0.932
sampleLengths
0
17
1
82
2
16
3
57
4
15
5
55
6
20
7
4
8
34
9
5
10
5
11
63
12
5
13
8
14
8
15
3
16
1
17
47
18
57
19
5
20
25
21
8
22
35
23
18
24
5
25
57
26
56
27
6
28
14
29
60
30
4
31
47
32
7
33
29
34
8
35
3
36
1
37
19
38
59
39
8
40
2
41
41
42
7
43
5
44
3
45
72
46
37
47
52
48
33
49
7
100.0000%
Passive voice overuse
Target: ≤5% passive sentences
passiveCount
2
totalSentences
88
matches
0
"was slicked"
1
"was exhausted"
100.0000%
Past progressive (was/were + -ing) overuse
Target: ≤10% past progressive verbs
pastProgressiveCount
4
totalVerbs
174
matches
0
"was landing"
1
"wasn't going"
2
"was catching"
3
"was falling"
96.0910%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
967
adjectiveStacks
0
stackExamples
(empty)
adverbCount
43
adverbRatio
0.04446742502585315
lyAdverbCount
13
lyAdverbRatio
0.01344364012409514
100.0000%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
118
echoCount
0
echoWords
(empty)
100.0000%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
118
mean
11.73
std
8.84
cv
0.753
sampleLengths
0
17
1
26
2
24
3
18
4
14
5
16
6
13
7
24
8
20
9
15
10
18
11
22
12
15
13
7
14
13
15
4
16
18
17
11
18
5
19
5
20
5
21
6
22
10
23
29
24
5
25
13
26
1
27
4
28
8
29
8
30
3
31
1
32
5
33
29
34
13
35
12
36
9
37
6
38
3
39
27
40
5
41
22
42
3
43
8
44
6
45
29
46
6
47
10
48
2
49
4
66.3842%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
10
diversityRatio
0.4491525423728814
totalSentences
118
uniqueOpeners
53
18.7500%
Dialogue tag variety (said vs. fancy)
Target: ≤30% fancy dialogue tags
totalTags
8
fancyCount
5
fancyTags
0
"she said finally (say finally)"
1
"she said instead (say instead)"
2
"Lucien said quietly (say quietly)"
3
"he interrupted (interrupt)"
4
"she whispered (whisper)"
83.7708%