NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-20-01KHY7VZ6ME2W3XFGW7566PXYF
Run Details
Model:
Ministral 3 3B
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
8.9s
Cost:
$0.000362
Provider:
Mistral
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
78.71%
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)
16.67%
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)
100.00%
Passive voice overuse
(details)
100.00%
Past progressive (was/were + -ing) overuse
(details)
0.00%
Em-dash & semicolon overuse
(details)
82.89%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
48.08%
Sentence opener variety
(details)
100.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)
100.00%
Technical jargon density
(details)
0.00%
Useless dialogue additions
(details)
93.66%
Dialogue tag variety (said vs. fancy)
(details)
76.2224%
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 door creaked open before
Aurora had even reached the handle.
The air inside Eva’s flat
smelled of old paper and something faintly metallic—like the scent of a wound that hadn’t
quite healed
. Aurora froze.
The scar on her wrist
twitched.
Lucien stood there, his cane
tapping against the floor with deliberate precision, his amber and black eyes locked onto hers.
The suit he wore was
immaculate, but his posture
was relaxed
, almost too easy.
She remembered the way he’d
always been—too smooth, too sure of himself, like he didn’t have a care in the world. “You’re late,”
she said, voice rougher than
she intended.
He smirked, but it didn’t
reach his eyes. “I’m always late for things that matter.”
The deadbolts clicked back into
place with a sharp *
click
*.
Aurora exhaled, her fingers brushing
the scar on her wrist before she could stop herself. “You shouldn’t have come.” “Shouldn’t I?”
His voice dropped, just a
little. “You’re the one who didn’t answer my calls.”
She turned away, her gaze
flicking over the cluttered shelves—scrolls, half-empty jars of herbs, a half-finished sketchbook of some kind.
Ptolemy, the tabby cat, blinked
up at her from his perch on the windowsill, tail flicking
lazily
. “You know I didn’t,” she muttered.
Lucien stepped closer, the cane’s
tip brushing against the floorboards. “I know you didn’t.” Aurora’s breath hitched.
The space between them felt
smaller than it had in years. “Why?” He didn’t answer right away.
Instead, he reached into his
coat and pulled out a small, leather-bound book.
The kind of book she’d
seen him carry before—one that looked like it had been well-loved, its edges
slightly
worn. “This isn’t a warning,”
he said, flipping it open
. “It’s an invitation.” Aurora’s
pulse
jumped.
She’d seen him with this
book before, in the dim light of a back-alley deal, the way his fingers
traced
the pages like they were maps of something dangerous. Something she’d once wanted too much. “You’re not here to scare me,”
she said, though she knew
he was. “No,”
he said, voice low
. “I’m here to remind you.” The door swung shut behind him, cutting off the sound of the street outside. Aurora’s fingers curled into the scar on her wrist, the memory of Evan’s hands—rough, possessive—flashing through her mind. Lucien’s gaze locked onto hers, unblinking. “You were always good at running.” She didn’t answer.
Instead, she turned away, her
back to him, and reached for the book. The pages were thick, filled with sketches of faces—some
familiar
, some not.
She flipped through them, her
fingers brushing the ink. “What are you doing?” Lucien asked, stepping closer. Aurora didn’t look at him. “Looking for something.” “Like what?” She exhaled
sharply
. “Like answers.” Lucien’s cane tapped against the floor again, slow and deliberate. “You’re not the only one who’s been looking.” The book slipped from her hands.
It landed on the floor
with a soft *
thud
*, the pages fluttering open to a sketch of a woman with bright blue eyes—her own. Lucien’s expression darkened. “You shouldn’t have come back.” Aurora’s breath came faster. The air between them was thick,
charged
with something older than words.
She reached for the book
again, but Lucien’s hand shot out, gripping her wrist. “Let me go,” she hissed. He didn’t. Instead, he pulled her closer, his voice a
whisper
against her ear. “You don’t get to decide what happens next.” Aurora’s fingers dug into his coat, her nails biting into the fabric. “I don’t have to take it.” Lucien’s grip loosened just enough for her to pull away, but not before she saw the fire in his eyes. “You always did.” The door creaked open again, the sound of
footsteps
echoing
down the hall. Aurora’s
blood ran cold
. Lucien’s voice dropped to a growl. “You’re not leaving.” Aurora’s gaze snapped to the door. The
footsteps
stopped.
Then, a voice—Eva’s, sharp and
amused. “Well, well. If it isn’t the two of you.” Lucien’s cane tapped against the floor, slow and steady. “Eva.” Aurora’s breath hitched.
She’d forgotten how sharp Eva’s
eyes were, how she could cut through lies like a knife. “You’re late,” Eva said, stepping into the flat. “Again.” Lucien’s gaze
flicked
to Aurora, then back to Eva. “I’m not here for you.” Eva’s smile didn’t reach her eyes. “Oh, I know that. But you’re here for her.” Aurora’s
stomach
twisted. “I’m not.” Lucien’s voice was a low rumble. “You were always good at lying.” Eva’s fingers twitched, as if she wanted to reach for something—her knife, maybe, or a book, or something to keep them at bay. But she didn’t. Instead, she crossed her arms, her gaze never leaving Lucien. “You’re not the only one who’s been looking,”
Aurora said, her voice steady despite the tremor in her hands
. Lucien’s cane tapped against the floor once more. “I know.” Eva’s
eyes narrowed
. “What’s going on?” Aurora’s fingers curled around the book, her thumb brushing the ink. “Nothing.” Lucien’s voice was a
whisper
. “You’re not the only one who’s been looking.” The door swung shut behind them, the sound of
footsteps
retreating down the hall. Aurora’s breath came in shallow gasps, her fingers still wrapped around the book. Lucien’s gaze locked onto hers, unblinking. “You should have come back sooner.” Aurora’s
pulse
roared in her ears. The air between them was thick,
charged
with something older than words.
She reached for the book
again, but Lucien’s hand shot out, gripping her wrist. “Let me go,” she hissed. He didn’t. Instead, he pulled her closer, his voice a
whisper
against her ear. “You don’t get to decide what happens next.” Aurora’s fingers dug into his coat, her nails biting into the fabric. “I don’t have to take it.” Lucien’s grip loosened just enough for her to pull away, but not before she saw the fire in his eyes. “You always did.” The book slipped from her hands, landing on the floor with a soft *
thud
*. The pages
fluttered
open to a sketch of a woman with bright blue eyes—her own. Eva’s voice cut through the
tension
, sharp and amused. “Well, well. If it isn’t the two of you.” Aurora’s gaze snapped to the door. The
footsteps
stopped.
Then, a voice—Eva’s, sharp and
amused. “You’re late,” Eva said, stepping into the flat. Aurora’s breath hitched.
She’d forgotten how sharp Eva’s
eyes were, how she could cut through lies like a knife. Lucien’s cane tapped against the floor, slow and steady. “I’m not here for you.” Eva’s smile didn’t reach her eyes. “Oh, I know that. But you’re here for her.” Aurora’s
stomach
twisted. “I’m not.” Lucien’s voice was a low rumble. “You were always good at lying.” Eva’s fingers twitched, as if she wanted to reach for something—her knife, maybe, or a book, or something to keep them at bay. But she didn’t. Instead, she crossed her arms, her gaze never leaving Lucien. “You’re not the only one who’s been looking,”
Aurora said, her voice steady despite the tremor in her hands
. Lucien’s cane tapped against the floor once more. “I know.” Aurora’s fingers curled around the book, her thumb brushing the ink. “Nothing.” Lucien’s voice dropped to a growl. “You’re not leaving.” The door swung shut behind them, the
footsteps
retreating down the hall. Aurora’s gaze locked onto the book, the pages fluttering open to a sketch of a woman with bright blue eyes—her own. Lucien’s gaze locked onto hers, unblinking. “You should have come back sooner.” Aurora exhaled
sharply
, her fingers tightening around the book. The air between them was thick,
charged
with something she’d never felt before—something dangerous, something that burned. “You shouldn’t have come,”
she said, her voice barely
above a
whisper
. Lucien’s cane tapped against the floor, slow and deliberate. “I know.” Aurora’s breath came faster, her
pulse
roaring
in her ears. The book lay open on the floor, the ink of the sketch glowing faintly in the dim light. Eva’s voice cut through the
tension
, sharp and amused. “Well, well. If it isn’t the two of you.” Aurora’s gaze snapped to the door, the
footsteps
lingering just outside.
She could hear the faint
sound of Eva’s
footsteps
retreating, but the door remained shut. Lucien’s voice was a low rumble, his gaze never leaving hers. “You don’t get to decide what happens next.” Aurora’s fingers curled around the book, her thumb brushing the ink. The sketch of the woman with bright blue eyes stared back at her, unblinking. She exhaled, her breath coming in shallow gasps. The air between them was
charged
, thick with something she’d never felt before. Lucien’s cane tapped against the floor once more. “You always did.” Aurora’s gaze locked onto the book, the pages fluttering open to the sketch. She reached for it, her fingers trembling. “Let me go,” she whispered. Lucien’s hand closed around her wrist, his grip firm. “You don’t get to decide.” Aurora’s breath hitched, her fingers digging into his coat. “I don’t have to take it.” Lucien’s voice was a growl, his grip tightening just enough to make her wince. “You always did.” The book slipped from her grasp, landing on the floor with a soft *
thud
*. The sketch of the woman with bright blue eyes stared back at her, unblinking. Aurora’s gaze snapped to Lucien’s, her
pulse
roaring
in her ears. The air between them was thick,
charged
with something she couldn’t name. Eva’s voice
echoed
down the hall, sharp and amused. “You’re late.” Aurora’s fingers curled around the book, her thumb brushing the ink. The sketch of the woman with bright blue eyes stared back at her, unblinking. Lucien’s cane tapped against the floor, slow and steady. “I’m not here for you.” Aurora exhaled
sharply
, her gaze locked onto the book. The air between them was
charged
, thick with something she couldn’t ignore. “You shouldn’t have come,”
she said, her voice barely
above a
whisper
. Lucien’s gaze locked onto hers, unblinking. “I know.” Aurora’s breath came in shallow gasps, her fingers tightening around the book. The sketch of the woman with bright blue eyes stared back at her, unblinking. The door swung open again, Eva’s voice cutting through the
tension
. “Well, well. If it isn’t the two of you.” Aurora’s gaze snapped to the door, the
footsteps
lingering just outside. The book lay open on the floor, the sketch of the woman with bright blue eyes glowing faintly in the dim light. Lucien’s voice was a low rumble, his gaze never leaving hers. “You don’t get to decide what happens next.” Aurora’s fingers curled around the book, her thumb brushing the ink. The sketch stared back at her, unblinking. Eva’s
footsteps
retreated down the hall, the door shutting behind them. Aurora’s breath came in shallow gasps, her gaze fixed on the book. Lucien’s cane tapped against the floor, slow and deliberate. “You should have come back sooner.” Aurora exhaled, her fingers trembling. The air between them was
charged
, thick with something she couldn’t name. “You shouldn’t have come,”
she said, her voice barely
above a
whisper
. Lucien’s gaze locked onto hers, unblinking. The book lay open on the floor, the sketch of the woman with bright blue eyes staring back at her.
created_at
"2026-02-20T19:19:17.473Z"
2/20/2026, 7:19:17 PM
model
"mistralai/ministral-3b-2512"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
220
moderation_latency
(null)
generation_time
8043
tokens_prompt
1034
tokens_completion
3154
native_tokens_prompt
959
native_tokens_completion
2656
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.0003615
router
(null)
provider_responses
0
endpoint_id
"b9f6828f-aef9-498a-91f5-6816fbf72420"
id
"3d83dccbb31545f0a5b4f789e56968d9"
is_byok
false
latency
220
model_permaslug
"mistralai/ministral-3b-2512"
provider_name
"Mistral"
status
200
api_type
"completions"
id
"gen-1771615157-Cy31srvITXBCZiLDWKUt"
upstream_id
"3d83dccbb31545f0a5b4f789e56968d9"
total_cost
0.0003615
cache_discount
(null)
upstream_inference_cost
0
provider_name
"Mistral"
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
17
adverbTagCount
1
adverbTags
0
"His voice dropped just [just]"
dialogueSentences
71
tagDensity
0.239
leniency
0.479
rawRatio
0.059
effectiveRatio
0.028
78.71%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
1879
totalAiIsmAdverbs
8
found
0
adverb
"lazily"
count
1
1
adverb
"slightly"
count
1
2
adverb
"sharply"
count
3
3
adverb
"barely above a whisper"
count
3
highlights
0
"lazily"
1
"slightly"
2
"sharply"
3
"barely above a whisper"
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
1879
totalAiIsms
39
found
0
word
"pulse"
count
4
1
word
"traced"
count
1
2
word
"familiar"
count
1
3
word
"charged"
count
7
4
word
"whisper"
count
6
5
word
"footsteps"
count
9
6
word
"echoing"
count
1
7
word
"flicked"
count
1
8
word
"stomach"
count
2
9
word
"fluttered"
count
1
10
word
"tension"
count
3
11
word
"roaring"
count
2
12
word
"echoed"
count
1
highlights
0
"pulse"
1
"traced"
2
"familiar"
3
"charged"
4
"whisper"
5
"footsteps"
6
"echoing"
7
"flicked"
8
"stomach"
9
"fluttered"
10
"tension"
11
"roaring"
12
"echoed"
66.67%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
2
maxInWindow
2
found
0
label
"blood ran cold"
count
1
1
label
"eyes widened/narrowed"
count
1
highlights
0
"blood ran cold"
1
"eyes narrowed"
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
154
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
0
hedgeCount
0
narrationSentences
154
filterMatches
(empty)
hedgeMatches
(empty)
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
208
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
maxSentenceWordsSeen
30
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
4
markdownWords
4
totalWords
1860
ratio
0.002
matches
0
"click"
1
"thud"
2
"thud"
3
"thud"
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
27
unquotedAttributions
0
matches
(empty)
16.67%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
94
wordCount
1537
uniqueNames
4
maxNameDensity
2.54
worstName
"Aurora"
maxWindowNameDensity
4.5
worstWindowName
"Aurora"
discoveredNames
Aurora
39
Eva
19
Lucien
35
Evan
1
persons
0
"Aurora"
1
"Eva"
2
"Lucien"
3
"Evan"
places
(empty)
globalScore
0.231
windowScore
0.167
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
124
glossingSentenceCount
2
matches
0
"quite healed"
1
"looked like it had been well-loved, its e"
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
0
per1kWords
0
wordCount
1860
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
0
totalSentences
208
matches
(empty)
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
104
mean
17.88
std
9.56
cv
0.535
sampleLengths
0
33
1
8
2
55
3
9
4
15
5
29
6
16
7
37
8
6
9
14
10
15
11
38
12
12
13
38
14
13
15
10
16
32
17
12
18
37
19
8
20
8
21
2
22
5
23
18
24
30
25
8
26
30
27
5
28
22
29
18
30
23
31
17
32
9
33
15
34
9
35
10
36
19
37
9
38
14
39
15
40
5
41
12
42
36
43
19
44
10
45
6
46
12
47
13
48
27
49
12
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
1
totalSentences
154
matches
0
"was relaxed"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
276
matches
(empty)
0.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
15
semicolonCount
0
flaggedSentences
14
totalSentences
208
ratio
0.067
matches
0
"The air inside Eva’s flat smelled of old paper and something faintly metallic—like the scent of a wound that hadn’t quite healed."
1
"She remembered the way he’d always been—too smooth, too sure of himself, like he didn’t have a care in the world."
2
"She turned away, her gaze flicking over the cluttered shelves—scrolls, half-empty jars of herbs, a half-finished sketchbook of some kind."
3
"The kind of book she’d seen him carry before—one that looked like it had been well-loved, its edges slightly worn."
4
"Aurora’s fingers curled into the scar on her wrist, the memory of Evan’s hands—rough, possessive—flashing through her mind."
5
"The pages were thick, filled with sketches of faces—some familiar, some not."
6
"It landed on the floor with a soft *thud*, the pages fluttering open to a sketch of a woman with bright blue eyes—her own."
7
"Then, a voice—Eva’s, sharp and amused."
8
"Eva’s fingers twitched, as if she wanted to reach for something—her knife, maybe, or a book, or something to keep them at bay."
9
"The pages fluttered open to a sketch of a woman with bright blue eyes—her own."
10
"Then, a voice—Eva’s, sharp and amused."
11
"Eva’s fingers twitched, as if she wanted to reach for something—her knife, maybe, or a book, or something to keep them at bay."
12
"Aurora’s gaze locked onto the book, the pages fluttering open to a sketch of a woman with bright blue eyes—her own."
13
"The air between them was thick, charged with something she’d never felt before—something dangerous, something that burned."
82.89%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1556
adjectiveStacks
1
stackExamples
0
"small, leather-bound book."
adverbCount
82
adverbRatio
0.05269922879177378
lyAdverbCount
11
lyAdverbRatio
0.007069408740359897
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
208
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
208
mean
8.94
std
5.38
cv
0.602
sampleLengths
0
11
1
22
2
2
3
6
4
20
5
14
6
21
7
9
8
8
9
7
10
10
11
15
12
4
13
8
14
8
15
20
16
17
17
6
18
10
19
4
20
3
21
11
22
1
23
5
24
13
25
20
26
9
27
3
28
3
29
29
30
6
31
13
32
5
33
5
34
14
35
18
36
6
37
6
38
3
39
13
40
12
41
9
42
8
43
5
44
3
45
2
46
3
47
2
48
10
49
8
48.08%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
4
diversityRatio
0.125
totalSentences
208
uniqueOpeners
26
100.00%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
8
totalSentences
147
matches
0
"Instead, he reached into his"
1
"Instead, she turned away, her"
2
"Instead, he pulled her closer,"
3
"Then, a voice—Eva’s, sharp and"
4
"Instead, she crossed her arms,"
5
"Instead, he pulled her closer,"
6
"Then, a voice—Eva’s, sharp and"
7
"Instead, she crossed her arms,"
ratio
0.054
100.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
24
totalSentences
147
matches
0
"She remembered the way he’d"
1
"she said, voice rougher than"
2
"He smirked, but it didn’t"
3
"His voice dropped, just a"
4
"She turned away, her gaze"
5
"He didn’t answer right away."
6
"he said, flipping it open"
7
"She’d seen him with this"
8
"she said, though she knew"
9
"he said, voice low"
10
"She didn’t answer."
11
"She flipped through them, her"
12
"She exhaled sharply."
13
"It landed on the floor"
14
"She reached for the book"
15
"She’d forgotten how sharp Eva’s"
16
"She reached for the book"
17
"She’d forgotten how sharp Eva’s"
18
"she said, her voice barely"
19
"She could hear the faint"
ratio
0.163
0.00%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
137
totalSentences
147
matches
0
"The door creaked open before"
1
"The air inside Eva’s flat"
2
"The scar on her wrist"
3
"Lucien stood there, his cane"
4
"The suit he wore was"
5
"She remembered the way he’d"
6
"she said, voice rougher than"
7
"He smirked, but it didn’t"
8
"The deadbolts clicked back into"
9
"Aurora exhaled, her fingers brushing"
10
"His voice dropped, just a"
11
"She turned away, her gaze"
12
"Ptolemy, the tabby cat, blinked"
13
"Lucien stepped closer, the cane’s"
14
"Aurora’s breath hitched."
15
"The space between them felt"
16
"He didn’t answer right away."
17
"The kind of book she’d"
18
"he said, flipping it open"
19
"Aurora’s pulse jumped."
ratio
0.932
0.00%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
0
totalSentences
147
matches
(empty)
ratio
0
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
74
technicalSentenceCount
1
matches
0
"The air inside Eva’s flat smelled of old paper and something faintly metallic—like the scent of a wound that hadn’t quite healed."
0.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
17
uselessAdditionCount
7
matches
0
"she said, voice rougher than she intended"
1
"he said, voice low"
2
"Aurora said, her voice steady despite the tremor in her hands"
3
"Aurora said, her voice steady despite the tremor in her hands"
4
"she said, her voice barely above a whisper"
5
"she said, her voice barely above a whisper"
6
"she said, her voice barely above a whisper"
93.66%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
16
fancyCount
4
fancyTags
0
"she muttered (mutter)"
1
"she hissed (hiss)"
2
"she hissed (hiss)"
3
"she whispered (whisper)"
dialogueSentences
71
tagDensity
0.225
leniency
0.451
rawRatio
0.25
effectiveRatio
0.113
76.2224%