NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-19-01KHSZ9J56DBKRMR46H6AAHQM7
Run Details
Model:
Ministral 3B
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
6.7s
Cost:
$0.000116
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
92.90%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
0.00%
AI-ism word frequency
(details)
66.67%
Cliché density
(details)
100.00%
Emotion telling (show vs. tell)
(details)
100.00%
Filter word density
(details)
100.00%
Gibberish response detection
(details)
100.00%
Markdown formatting overuse
(details)
100.00%
Missing dialogue indicators (quotation marks)
(details)
2.69%
Name drop frequency
(details)
100.00%
Narrator intent-glossing
(details)
100.00%
"Not X but Y" pattern overuse
(details)
100.00%
Overuse of "that" (subordinate clause padding)
(details)
100.00%
Paragraph length variance
(details)
98.29%
Passive voice overuse
(details)
25.33%
Past progressive (was/were + -ing) overuse
(details)
93.02%
Em-dash & semicolon overuse
(details)
100.00%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
37.79%
Sentence opener variety
(details)
0.00%
Adverb-first sentence starts
(details)
100.00%
Pronoun-first sentence starts
(details)
0.00%
Subject-first sentence starts
(details)
0.00%
Subordinate conjunction sentence starts
(details)
95.24%
Technical jargon density
(details)
86.54%
Useless dialogue additions
(details)
10.00%
Dialogue tag variety (said vs. fancy)
(details)
73.6155%
Overall
Model input
System
You are an expert fiction writer. Always keep the following rules in mind: - Write in past tense and use General English spelling, grammar, and colloquialisms/slang. - Write in active voice - Always follow the "show, don't tell" principle. - Avoid adverbs and cliches and overused/commonly used phrases. Aim for fresh and original descriptions. - Convey events and story through dialogue. - Mix short, punchy sentences with long, descriptive ones. Drop fill words to add variety. - Skip "he/she said said" dialogue tags and convey people's actions or face expressions through their speech - Avoid mushy dialog and descriptions, have dialogue always continue the action, never stall or add unnecessary fluff. Vary the descriptions to not repeat yourself. - Put dialogue on its own paragraph to separate scene and action. - Reduce indicators of uncertainty like "trying" or "maybe" When writing text: - NEVER conclude the scene on your own, follow the beat instructions very closely. - NEVER end with foreshadowing. - NEVER write further than what I prompt you with. - AVOID imagining possible endings, NEVER deviate from the instructions. - STOP EARLY if the continuation contains what was required in the instructions. You do not need to fill out the full amount of words possible.
User/Human
Take into account the following glossary of characters/locations/items/lore... when writing your response: <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> Continue the story using the following instructions: <instructions> 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. </instructions>
Model response
Messages
Meta
AI
The front door of Eva’s
flat groaned under the
weight
of the knocker, its brass edge catching the dim glow of the streetlamps.
Aurora Carter didn’t even glance
up from her laptop—she was too busy swiping through a delivery app, her fingers hovering over the screen.
The knock came again, sharper
this time, and she finally sat back, her shoulders tense. “You’re late,”
she muttered, voice dry
.
The door swung open before
she could answer.
Lucien Moreau stood there, his
tailored suit still crisp despite the dampness clinging to his hair, his cane resting against the doorframe like a weapon.
His amber eye locked onto
hers, and for a heartbeat, the air between them crackled. “You didn’t have to come,”
Aurora said, crossing her arms
. “No,”
Lucien agreed, stepping inside
. “But I did.”
The flat smelled of old
paper and something faintly sweet—curry, maybe. Aurora didn’t move. The scar on her wrist, a thin crescent from a childhood accident,
pulsed
faintly under her skin. “You shouldn’t have come,”
she repeated, voice too quiet
. Lucien didn’t flinch. “I know.”
The door clicked shut behind
him, sealing them in
silence
.
Aurora exhaled sharply, her fingers
tightening around the edge of her desk.
Lucien’s cane tapped against the
floor as he moved toward the kitchen, where a pot of tea steamed on the stove. “You’re drinking tea,” she observed. “You’re not,”
he shot back, pouring two
cups. “But I’m not leaving until
you
’re done.” Aurora didn’t argue.
She took the cup, the
warmth
seeping into her hands. The scent of bergamot filled the air, sharp and bitter. “Why now?” she asked. Lucien didn’t answer right away. He sat across from her, his leg brushing hers under the table. Aurora’s breath hitched.
She’d seen him like this
before—close, too close, the way his fingers
traced
the cane’s hilt when he
was nervous
. “Because
you
were gone for too long,”
he said finally
. “And I couldn’t stand it.” Aurora’s
jaw clenched
. “You didn’t have to fix everything.” “No,” Lucien agreed. “But I had to fix *
you
*.” The words hung between them, heavy and wrong. Aurora’s fingers curled around her cup, the
porcelain
cool against her palm. Lucien leaned forward, his voice low. “You left me,” he said. “And I couldn’t let that happen again.” Aurora’s throat tightened.
She’d thought about him in
the dark, in the
silence
of her flat, her scar aching like it always did when she remembered Evan’s hands on her.
She wanted to tell him
it didn’t matter. But the words stuck in her throat.
Lucien’s cane tapped against the
table again, sharp and impatient. “You don’t have to pretend
you
’re okay.” Aurora’s breath came faster. She wanted to deny it, to say she was fine, but the truth was there in the way his fingers twitched, the way his eyes darkened when he spoke of the past. “You’re not,”
she said softly
. Lucien’s gaze snapped to hers, his amber eye burning. “I’m not?” Aurora swallowed. “You’re not the same person who walked out on me.” Lucien exhaled, long and slow. “No. But I’m not the one who let
you
walk away.” The kitchen light
flickered
, casting long shadows across the walls. Aurora’s fingers
traced
the rim of her cup, her mind
racing
. Lucien reached across the table, his hand brushing hers. “You’re scared,” he said. Aurora didn’t deny it. She was always scared. Of what came next, of what she’d left behind, of the way her life had unraveled when she’d left London. Lucien’s thumb brushed her wrist, the scar there, old and
familiar
. Aurora’s breath hitched. “You should go,” she whispered. Lucien’s fingers tightened. “No.” The flat was too small, too close, the air thick with
unspoken
words. Aurora’s
pulse
pounded in her ears. Lucien’s voice was rough when he spoke. “You left me with nothing,” he said. “And I’m not letting
you
do that again.” Aurora’s eyes burned. She wanted to run. She wanted to scream. But the door
was locked
, the flat was small, and Lucien
was standing
there, his cane tapping against the floor, his fingers brushing hers. “You don’t know what
you
’re asking,” she said. Lucien’s voice dropped, dangerous. “I know what I want.” Aurora’s breath came in shallow gasps. The scar on her wrist burned, sharp and bright. Lucien’s thumb
traced
the edge of it, slow and deliberate. “You’re not the same person who walked out on me,” he murmured. Aurora’s hands shook. She wanted to pull away. She wanted to scream. But the words stuck in her throat, heavy and wrong. Lucien’s fingers tightened. “No,” he said. “You’re not.” The flat was too small, too close.
The air was thick with
unspoken
words, with the
weight
of what came next. Aurora’s
pulse
pounded in her ears. Lucien’s voice was rough when he spoke. “You left me with nothing,” he said. “And I’m not letting
you
do that again.” Aurora’s eyes burned. She wanted to run. She wanted to scream. But the door
was locked
, the flat was small, and Lucien
was standing
there, his cane tapping against the floor, his fingers brushing hers. “You don’t know what
you
’re asking,” she said. Lucien’s voice dropped, low and dangerous. “I know what I want.” Aurora’s breath came in shallow gasps. The scar on her wrist burned, sharp and bright. Lucien’s thumb
traced
the edge of it, slow and deliberate. “You’re not the same person who walked out on me,” he said. Aurora’s hands
trembled
. She wanted to pull away. She wanted to scream. But the words stuck in her throat, heavy and wrong. Lucien’s fingers tightened around her wrist. The flat was too small. The air was too thick. The
weight
of what came next pressed down on her, heavy and unyielding. Aurora’s eyes closed. She wanted to run. She wanted to scream. But the door
was locked
, the flat was small, and Lucien
was standing
there, his cane tapping against the floor, his fingers brushing hers. “You’re not the same person who walked out on me,” he said. Aurora’s breath came in ragged gasps. The scar on her wrist burned, bright and sharp. Lucien’s thumb
traced
the edge of it, slow and deliberate. “You left me with nothing,” he said. Aurora’s fingers dug into the edge of her desk. The flat was too small. The air was too thick. The
weight
of what came next pressed down on her, heavy and unrelenting. Lucien’s voice was rough, his breath hot against her ear. “And I’m not letting
you
do that again.” Aurora’s
pulse
roared in her ears. The scar on her wrist
pulsed
, sharp and bright. Lucien’s fingers tightened, his thumb brushing the edge of it, slow and deliberate. “You’re not the same person who walked out on me,” he said. Aurora’s breath came in shallow, trembling gasps. The door clicked open behind her. The flat was too small. The air was too thick. The
weight
of what came next pressed down on her, heavy and crushing. Lucien’s voice was a
whisper
, his breath hot against her neck. “And I’m not letting
you
do that again.” Aurora’s fingers clawed at the edge of her desk. The scar on her wrist burned, bright and
searing
. Lucien’s thumb
traced
the edge of it, slow and sure. “You left me with nothing,” he said. Aurora’s vision blurred. The flat was too small. The air was too thick. The
weight
of what
was coming
pressed down on her, relentless and final. Lucien’s fingers tightened. The door slammed shut behind her. Aurora’s breath came in ragged, broken gasps. The scar on her wrist burned like fire. Lucien’s thumb
traced
the edge of it, slow and deliberate. “You’re not the same person who walked out on me,” he said. Aurora’s knees hit the floor. The flat was too small. The air was too thick. The
weight
of what
was coming
pressed down on her, crushing and final. Lucien’s voice was a
whisper
, his breath hot against her skin. “And I’m not letting
you
do that again.” Aurora’s vision swam. The scar on her wrist
pulsed
, bright and
searing
. Lucien’s thumb brushed the edge of it, slow and sure. “You left me with nothing,” he said. Aurora’s fingers dug into the floor. The flat was too small. The air was too thick. The
weight
of what
was coming
pressed down on her, final and unyielding. Lucien’s voice was a growl. “And I’m not letting
you
walk away again.”
total_cost
0.00011596000000000001
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
26
adverbTagCount
2
adverbTags
0
"he said finally [finally]"
1
"she said softly [softly]"
dialogueSentences
47
tagDensity
0.553
leniency
1
rawRatio
0.077
effectiveRatio
0.077
92.90%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
1409
totalAiIsmAdverbs
2
found
0
adverb
"sharply"
count
1
1
adverb
"softly"
count
1
highlights
0
"sharply"
1
"softly"
100.00%
AI-ism character names
Target: 0 AI-default names (17 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
100.00%
AI-ism location names
Target: 0 AI-default location names (33 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
0.00%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
1409
totalAiIsms
36
found
0
word
"weight"
count
8
1
word
"pulsed"
count
3
2
word
"silence"
count
2
3
word
"warmth"
count
1
4
word
"traced"
count
7
5
word
"jaw clenched"
count
1
6
word
"porcelain"
count
1
7
word
"flickered"
count
1
8
word
"racing"
count
1
9
word
"familiar"
count
1
10
word
"unspoken"
count
2
11
word
"pulse"
count
3
12
word
"trembled"
count
1
13
word
"whisper"
count
2
14
word
"searing"
count
2
highlights
0
"weight"
1
"pulsed"
2
"silence"
3
"warmth"
4
"traced"
5
"jaw clenched"
6
"porcelain"
7
"flickered"
8
"racing"
9
"familiar"
10
"unspoken"
11
"pulse"
12
"trembled"
13
"whisper"
14
"searing"
66.67%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
2
maxInWindow
2
found
0
label
"jaw/fists clenched"
count
1
1
label
"air was thick with"
count
1
highlights
0
"jaw clenched"
1
"The air was thick with"
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
1
narrationSentences
151
matches
0
"was nervous"
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
0
hedgeCount
0
narrationSentences
151
filterMatches
(empty)
hedgeMatches
(empty)
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
172
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
maxSentenceWordsSeen
32
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
1
markdownWords
1
totalWords
1406
ratio
0.001
matches
0
"you"
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
34
unquotedAttributions
0
matches
(empty)
2.69%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
72
wordCount
1154
uniqueNames
7
maxNameDensity
2.95
worstName
"Lucien"
maxWindowNameDensity
4.5
worstWindowName
"Lucien"
discoveredNames
Eva
1
Carter
1
Moreau
1
Lucien
34
Aurora
33
Evan
1
London
1
persons
0
"Eva"
1
"Carter"
2
"Moreau"
3
"Lucien"
4
"Aurora"
5
"Evan"
places
0
"London"
globalScore
0.027
windowScore
0.167
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
78
glossingSentenceCount
0
matches
(empty)
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
0
per1kWords
0
wordCount
1406
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
0
totalSentences
172
matches
(empty)
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
72
mean
19.53
std
12.29
cv
0.629
sampleLengths
0
61
1
6
2
48
3
10
4
8
5
31
6
9
7
5
8
43
9
5
10
15
11
23
12
4
13
40
14
15
15
9
16
9
17
26
18
12
19
45
20
17
21
36
22
5
23
11
24
12
25
16
26
30
27
4
28
28
29
14
30
5
31
4
32
26
33
15
34
35
35
8
36
9
37
25
38
12
39
22
40
8
41
34
42
15
43
35
44
8
45
11
46
25
47
12
48
22
49
29
98.29%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
3
totalSentences
151
matches
0
"was locked"
1
"was locked"
2
"was locked"
25.33%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
6
totalVerbs
229
matches
0
"was standing"
1
"was standing"
2
"was standing"
3
"was coming"
4
"was coming"
5
"was coming"
93.02%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
3
semicolonCount
0
flaggedSentences
3
totalSentences
172
ratio
0.017
matches
0
"Aurora Carter didn’t even glance up from her laptop—she was too busy swiping through a delivery app, her fingers hovering over the screen."
1
"The flat smelled of old paper and something faintly sweet—curry, maybe."
2
"She’d seen him like this before—close, too close, the way his fingers traced the cane’s hilt when he was nervous."
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1157
adjectiveStacks
0
stackExamples
(empty)
adverbCount
40
adverbRatio
0.03457216940363008
lyAdverbCount
6
lyAdverbRatio
0.005185825410544511
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
172
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
172
mean
8.17
std
5.28
cv
0.646
sampleLengths
0
23
1
23
2
15
3
6
4
8
5
25
6
15
7
10
8
5
9
3
10
11
11
3
12
17
13
9
14
3
15
2
16
10
17
12
18
21
19
5
20
8
21
7
22
3
23
10
24
10
25
4
26
5
27
12
28
3
29
20
30
10
31
5
32
3
33
6
34
3
35
6
36
8
37
12
38
6
39
5
40
7
41
3
42
27
43
8
44
7
45
10
46
7
47
4
48
32
49
5
37.79%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
21
diversityRatio
0.08139534883720931
totalSentences
172
uniqueOpeners
14
0.00%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
0
totalSentences
131
matches
(empty)
ratio
0
100.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
23
totalSentences
131
matches
0
"she muttered, voice dry"
1
"His amber eye locked onto"
2
"she repeated, voice too quiet"
3
"he shot back, pouring two"
4
"She took the cup, the"
5
"He sat across from her,"
6
"She’d seen him like this"
7
"he said finally"
8
"She’d thought about him in"
9
"She wanted to tell him"
10
"She wanted to deny it,"
11
"she said softly"
12
"She was always scared."
13
"She wanted to run."
14
"She wanted to scream."
15
"She wanted to pull away."
16
"She wanted to scream."
17
"She wanted to run."
18
"She wanted to scream."
19
"She wanted to pull away."
ratio
0.176
0.00%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
124
totalSentences
131
matches
0
"The front door of Eva’s"
1
"Aurora Carter didn’t even glance"
2
"The knock came again, sharper"
3
"she muttered, voice dry"
4
"The door swung open before"
5
"Lucien Moreau stood there, his"
6
"His amber eye locked onto"
7
"Aurora said, crossing her arms"
8
"Lucien agreed, stepping inside"
9
"The flat smelled of old"
10
"Aurora didn’t move."
11
"The scar on her wrist,"
12
"she repeated, voice too quiet"
13
"Lucien didn’t flinch."
14
"The door clicked shut behind"
15
"Aurora exhaled sharply, her fingers"
16
"Lucien’s cane tapped against the"
17
"he shot back, pouring two"
18
"Aurora didn’t argue."
19
"She took the cup, the"
ratio
0.947
0.00%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
0
totalSentences
131
matches
(empty)
ratio
0
95.24%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
45
technicalSentenceCount
3
matches
0
"But the door was locked, the flat was small, and Lucien was standing there, his cane tapping against the floor, his fingers brushing hers."
1
"But the door was locked, the flat was small, and Lucien was standing there, his cane tapping against the floor, his fingers brushing hers."
2
"But the door was locked, the flat was small, and Lucien was standing there, his cane tapping against the floor, his fingers brushing hers."
86.54%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
26
uselessAdditionCount
2
matches
0
"she muttered, voice dry"
1
"she repeated, voice too quiet"
10.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
25
fancyCount
7
fancyTags
0
"she muttered (mutter)"
1
"Lucien agreed (agree)"
2
"she repeated (repeat)"
3
"she observed (observe)"
4
"Lucien agreed (agree)"
5
"she whispered (whisper)"
6
"he murmured (murmur)"
dialogueSentences
47
tagDensity
0.532
leniency
1
rawRatio
0.28
effectiveRatio
0.28
73.6155%