NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-04-27-01KQ73Q1BAHQNA2TC4EH3YJ838
Run Details
Model:
Qwen 3.6 27B
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
3m 16s
Cost:
$0.035312
Provider:
Morph
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
92.62%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
59.41%
AI-ism word frequency
(details)
100.00%
Cliché density
(details)
100.00%
Emotion telling (show vs. tell)
(details)
89.38%
Filter word density
(details)
100.00%
Gibberish response detection
(details)
100.00%
Markdown formatting overuse
(details)
100.00%
Missing dialogue indicators (quotation marks)
(details)
66.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)
100.00%
Em-dash & semicolon overuse
(details)
100.00%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
25.67%
Sentence opener variety
(details)
0.00%
Adverb-first sentence starts
(details)
0.00%
Pronoun-first sentence starts
(details)
0.00%
Subject-first sentence starts
(details)
100.00%
Subordinate conjunction sentence starts
(details)
100.00%
Technical jargon density
(details)
100.00%
Useless dialogue additions
(details)
100.00%
Dialogue tag variety (said vs. fancy)
(details)
84.4582%
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 deadbolts threw back with
a rigid clack.
Aurora pulled the door inward
and found Lucien standing on the landing.
Charcoal wool cut sharp against
the peeling brick of the hallway. Ptolemy rubbed against her ankles, tail thumping, as he crossed the threshold without waiting for a word.
The curry house downstairs vented
cumin and fried garlic through the floorboards. He filled the narrow entryway, platinum hair slicked back, amber and obsidian eyes locking onto hers.
You left your window open
again.
Draft pushed through the cracked
pane.
I leave it for the
air.
He brushed past her, cane
tapping a steady rhythm on the floorboards.
The ivory handle caught the
dim light as he moved into the main room.
Scrolls and hardcovers stacked unevenly
on every surface, papers tucked between cracked spines and coffee rings.
He stopped beside the low
table, knuckles resting on the edge.
You look like you dragged
yourself out of bed at dawn. Sleep doesn’t cover the rent. I work double shifts. You
know
the schedule.
I know you push until
your hands shake.
He glanced at her left
wrist.
The crescent scar rode just
above the bone.
He reached out, fingers hovering
near her skin, then stilled his hand. Old habits stick when you refuse to break them. Habits keep me upright.
I manage fine without your
oversight. He barked a short laugh, stepping closer. The scent of cedar and rain wrapped around the room. Oversight.
You always did hate being
told what to do.
You told me to leave
Cardiff.
You told me not to
look
back. I listened. I’m still standing. London swallowed the sharp edge in her voice, but she kept it anyway.
She crossed her arms, shoulders
squared.
He tilted his head, gaze
dropping to the collar of her shirt, then back up.
She refused to give him
the satisfaction of flinching. The door clicked shut behind him. Deadbolts caught. He didn’t turn around. I came here because your number went dead. Because the contact dropped.
Because someone left you in
the crossfire. I handled the situation. You bled on my hands. He turned, eyes flashing. The amber one caught the light, the black one swallowed it. You always handle everything until you break. She stepped into the space between them. The air grew tight. Ptolemy wound around Lucien’s boots, demanding attention. He didn’t break eye contact. He brushed the cat’s head with two fingers, the motion deliberate, controlled. What do you want, Lucien?
To tell you I don’t
play nice with people I care for. She leaned back, hip hitting the bookshelf. Scrolls shifted, papers fluttering to the floor. She caught one, smoothed the crease. Care isn’t a currency we trade. It never was. He moved in, boots silent now. The cane rested against his thigh. I wanted to
see
if you still burn the way you did when I handed you that file. When I told you to run. I ran. London suited me. I found steady work. I keep my head down. You want an update? There it is. He shook his head, close enough that his chest brushed her shoulder. Static crackled through the thin fabric of her shirt. She didn’t step back. He
traced
the line of her jaw with his thumb, calloused skin rough against hers. You
think
I don’t
know
the difference between survival and living? Survival keeps the roof intact. Living costs too much. I learned that. He dropped his hand, knuckles grazing the shelf instead of her face. The movement snapped tight. He looked away, mouth tightening. You always did talk yourself out of the truth. She followed his gaze, tracking the
flicker
of something raw behind the polished exterior. He shifted, turning toward the kitchenette. The fridge hummed, coils rattling. He popped the door open,
scanning
the shelves. Empty cartons, mismatched mugs, a tub of cheap noodles. You live off this? It pays the bills. He slammed the door shut, sound cracking through the cramped room. I remember you eating proper meals. Sit down. I’m fine on my feet. Sit. He didn’t raise his voice. He just stood there, spine straight, waiting. She exhaled, dragged a chair out from under a stack of journals, and lowered herself onto it. The wood creaked. He leaned over the table, forearms braced. His eyes never left hers. I crossed three counties to get here. I walked through rain and traffic and half a dozen dead ends because the network went quiet. Because you went quiet. I needed quiet. You brought noise. He smiled, sharp and humorless. I brought you out of a bad match. I told you to trust me. You called it interference. You made decisions for me. I didn’t like the taste of it. He leaned back, chair legs scraping. He rubbed his thumb over the cane’s grip. I made the call because I saw the trap before you did.
Because you never see the
second step. She leaned forward, elbows on the table. I
see
it fine. I just choose to take it anyway. He huffed, dry. You chose
wrong that night
. I chose to walk away. I chose to stay safe. You wanted a partner who followed your lead. I’m not built for that. He stood, pacing the narrow gap between the table and the wall. His boots stopped. He looked down at her, the contrast of his sharp suit against the cluttered flat glaring. He reached into his jacket, pulled out a sealed tin, set it on the table. Black tea. The kind you stole from my mother’s kitchen. You kept that? I keep what matters. He slid the tin toward her. I kept the way you looked at me when I asked you not to go. She picked up the tin, lid heavy in her palm. She stared at the rim, then lifted her eyes. Why are you
really
here? You
know
why. Spill it. He stepped into her line of sight, blocking the window’s dim light. I want to fix what broke. I want to stand in your space and watch you breathe without my shadow over you. I want to hear you say it didn’t ruin you. It didn’t. She set the tin down. It just changed the shape of things. He closed the distance, one hand bracing on the table beside her elbow. His scent wrapped around her again. Clove and rain and that quiet
intensity
she never
managed to
ignore. You still
look
at me like I’m a storm you can’t weather. You still
look
at me like I’m a puzzle you can solve. He let out a
measured
breath, shoulders dropping. Puzzles demand resolution. Storms demand survival. I was wrong about both. She studied the line of his mouth, the way his pupils dilated when he focused. She reached up, fingers brushing the edge of his collar. He froze, breath catching. She
traced
the fabric, feeling the
tension
in his neck. You wear suits like armour. They don’t hide you. He caught her wrist, firm. The calloused pads of his fingers warmed her skin. She didn’t pull away. He pressed her hand to his chest, feeling the steady beat beneath the wool and cotton. You always did cut straight to the bone. She stepped into his space, the chair scraping back. The flat shrank around them. Heat built, sharp. She tilted her head, eyes locked on his mismatched gaze. Tell me what you needed to say when you left. I told you I couldn’t risk losing you to the work. I told you to walk away and keep your edges sharp. He swallowed, jaw working. I should’ve told you I couldn’t bear the thought of you without me. She closed the last inch, forehead resting against his. Breath mingled. The curry house vent pushed warm air through the floorboards, cumin and spice wrapping around them. She felt his
pulse
jump. She pulled back far enough to
see
his face. You came all this way to say that? I came to stand here. To watch you breathe. To listen to your voice.
To remind you that I
don’t walk twice. He brushed his knuckles along her cheekbone. I don’t leave people behind. She let her hand slide from his chest to his shoulder, fingers curling into the lapel. You left Cardiff. You left me. You left everything we built in the dust. He nodded, deliberate. I made the call. I owned the mistake. I’m standing in your flat because I refuse to make it again. She studied his mouth, the way his lips parted, the quiet hunger in his stare. She
traced
the stubble along his jaw. You
think
a tin and a walk through the rain fixes three months of
silence
? He stepped in, caging her against the edge of the table. The cane clattered to the floor. He didn’t reach for it. His hands settled on her waist, thumbs pressing inward. I
think
you’ll tell me to leave. I
think
you’ll tell me I’m wrong. I
think
you’ll do exactly what you always do. She lifted her chin, meeting his gaze. She didn’t speak. She let the
silence
stretch, thick and
charged
. She let him
feel
the
weight
of her stillness. He breathed out, unsteady. I’ll wait. She watched his eyes track her mouth, the way his hands tightened, the way his shoulders squared. She reached up, fingers sliding into his hair, breaking the
perfect
line. She pulled him down. His lips met hers, firm and sure. The contact sparked, sharp and
familiar
. He groaned low, hands sliding up her back, pulling her flush against him. The flat pressed close. Papers rattled on the shelves. Ptolemy yowled from the corner, ignored. She broke the kiss, breath uneven. She kept her hands locked in his coat. You timed it wrong. He pressed his forehead to hers, chest heaving. I
know
. She
traced
his jaw, dragging her nails
lightly
over his skin. You always rush in. He caught her hand, pressing a kiss to her palm. I learn
slowly
. She stepped back, giving him room. She smoothed her shirt, fingers shaking just enough. He tracked her every move, eyes hungry but patient. She grabbed a chair, dragged it out, and sat. She patted the seat beside her. Sit. He moved, careful, lowering himself onto the wood. It groaned under the extra
weight
. He set the cane against his knee, hands resting on his thighs. He looked at her, waiting. She picked up the tin again, popped the lid, and stared inside. Leaves curled, dark and dry. She poured none. She just watched them. You crossed three counties for tea? I crossed three counties to stand in your doorway and watch you argue with me. He leaned forward, forearms braced on his knees. I wanted to
see
if you still
look
at me like this. Like I earned the right to be here. She set the tin down, turned her palm upside down on the table. She extended her fingers. He placed his hand over hers, interlacing their fingers. His grip warm, sure. She felt the calluses, the strength, the hesitation holding him back. You don’t earn it. You just take the step. He squeezed her hand, thumb stroking her knuckle. I’m taking the step. She stood, pulling
gently
. He rose with her, matching her height. She tilted her head, studying the line of his throat. You left. I stayed. We both made calls. We both lived with them. You want to talk about it? You want to rehash the fallout? He nodded, slow. I want to talk. I want to hear your side of the
silence
. I want to
know
what you called when the nights got loud. I want to
know
how you slept without me. She dragged a breath, lungs filling. I called no one. I slept on the couch. I read until my eyes burned. I kept working. I kept moving. She stepped closer, closing the gap. I didn’t break. I just got tired of waiting for you to figure out how to stay. He exhaled, shaky. I figured it out. I’m here. I’m staying. I’m not walking away because the work gets dangerous. I’m not leaving because I’m scared of what happens if I stay. I’m standing in your flat and I’m telling you I chose you. She watched his mouth, the way his eyes
flicked
to hers, searching for a verdict. She pressed her palm flat against his chest, feeling the hammer of his heart. You
say that like
it’s a speech. Like you rehearsed it. He laughed, voice gravel. I practiced in the mirror. I practiced in the car. I practiced every time I looked at the address and told myself I wouldn’t ring the bell. I broke the habit. I’m here. She stepped back, hands sliding to her sides. She looked around the room, at the stacks, the scrolls, the coffee rings, the narrow space that held her steady. She looked back at him. The light caught the platinum in his hair, the sharp cut of his suit, the quiet desperation in his stance. She shook her head. You’re standing in a flat above a curry house. You’re breathing cumin air. You’re doing this because you actually meant it. He nodded, sure. I meant it. She stepped forward again, closing the distance. She hooked her fingers into his lapels, pulling him down. He met her halfway, lips brushing hers, soft and deliberate. He melted into the kiss, hands sliding to her waist, holding her like she weighed nothing and everything. She let herself sink into the contact, feeling the heat, the steady rhythm of his breath, the quiet certainty in his hands. She broke away, breathless. You timed it right. He pressed his lips to her temple, lingering. I’ll keep timing it right. She stepped back, smoothing her shirt, fingers steady now. She pointed toward the kitchenette. Make tea. Proper tea. The good sort. He moved, boots quiet, opening the fridge,
scanning
the shelves. He pulled out a bottle of water, a carton of milk that looked weeks past its date, a tin of biscuits. He set them on the counter. He turned, leaning against the edge. Where’s the kettle? Under the sink. The blue one. He crouched, pulling it out, wiping the dust, setting it on the burner. He clicked the switch. The element clicked, humming. He stood, turning back to her, hands on his hips. You want sugar? Black. He nodded, watching her. He reached out, thumb brushing her wrist again, lingering on the crescent scar. He didn’t speak. She didn’t pull away. He let his hand drop. He stepped back, giving her space. He watched the kettle fill. She grabbed two mismatched mugs, set them on the table. She sat, resting her elbows on the wood. She watched him move, the quiet precision in his shoulders, the way he tracked her without hovering. He poured water, the steam rising, wrapping around his face. He set the pot down, sliding a mug toward her. She wrapped her fingers around the ceramic, heat seeping into her palms. He sat opposite her, knees pressed together, hands resting on the table. He didn’t reach for her. He just watched her sip, eyes tracking the way her throat worked, the way her shoulders dropped a fraction. He exhaled, long and steady. I’m not leaving. She set the mug down, meeting his gaze. I didn’t ask you to stay. He smiled, sharp but soft. I
know
. I told you I’m not leaving anyway. She stared at him, the quiet certainty in his voice settling over the room. She
traced
the rim of her mug, fingers steady. She looked up, meeting his eyes. Sit across from me. Stay for the night. We’ll talk. He nodded, sure. I’m here. She picked up her mug, lifting it to her lips. She watched him settle into the chair, shoulders relaxing, hands resting on his knees. The kettle clicked off. The flat hummed. She took another sip,
warmth
spreading through her chest. She set the mug down, fingers steady. She reached across the table, palm flat. He covered her hand, fingers interlacing, grip firm and sure. She didn’t pull away. He didn’t let go.
created_at
"2026-04-27T09:18:20.541Z"
4/27/2026, 9:18:20 AM
model
"qwen/qwen3.6-27b-20260422"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
883
moderation_latency
(null)
generation_time
195670
tokens_prompt
1034
tokens_completion
15642
native_tokens_prompt
1001
native_tokens_completion
14484
native_tokens_completion_images
(null)
native_tokens_reasoning
11695
native_tokens_cached
0
num_media_prompt
(null)
num_input_audio_prompt
(null)
num_media_completion
0
num_search_results
(null)
num_fetches
(null)
web_search_engine
(null)
origin
"https://ncbench.com/"
is_byok
false
finish_reason
"stop"
native_finish_reason
"stop"
usage
0.03531215
router
(null)
provider_responses
0
endpoint_id
"826cab4e-dc26-4472-83be-e4ddd5ebd2ab"
id
"7bf86825f71d472a8458c1c4c95c6031"
is_byok
false
latency
624
model_permaslug
"qwen/qwen3.6-27b-20260422"
provider_name
"Morph"
status
200
user_agent
"langchainjs-openai/1.0.0 ((node/v24.14.1; linux; x64))"
http_referer
(null)
request_id
"req-1777281500-FOj7CoxrXs30VzgkUOFg"
session_id
(null)
api_type
"completions"
id
"gen-1777281500-tTd3AgQ3SKhnB3LmeRu2"
upstream_id
"7bf86825f71d472a8458c1c4c95c6031"
total_cost
0.03531215
cache_discount
(null)
upstream_inference_cost
0
provider_name
"Morph"
response_cache_source_id
(null)
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
0
92.62%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
2710
totalAiIsmAdverbs
4
found
0
adverb
"really"
count
1
1
adverb
"lightly"
count
1
2
adverb
"slowly"
count
1
3
adverb
"gently"
count
1
highlights
0
"really"
1
"lightly"
2
"slowly"
3
"gently"
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)
59.41%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
2710
totalAiIsms
22
found
0
word
"traced"
count
5
1
word
"flicker"
count
1
2
word
"scanning"
count
2
3
word
"intensity"
count
1
4
word
"measured"
count
1
5
word
"tension"
count
1
6
word
"pulse"
count
1
7
word
"silence"
count
3
8
word
"charged"
count
1
9
word
"weight"
count
2
10
word
"perfect"
count
1
11
word
"familiar"
count
1
12
word
"flicked"
count
1
13
word
"warmth"
count
1
highlights
0
"traced"
1
"flicker"
2
"scanning"
3
"intensity"
4
"measured"
5
"tension"
6
"pulse"
7
"silence"
8
"charged"
9
"weight"
10
"perfect"
11
"familiar"
12
"flicked"
13
"warmth"
100.00%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
0
maxInWindow
0
found
(empty)
highlights
(empty)
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
374
matches
(empty)
89.38%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
13
hedgeCount
1
narrationSentences
374
filterMatches
0
"look"
1
"know"
2
"think"
3
"see"
4
"feel"
hedgeMatches
0
"managed to"
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
374
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
repeatedSegmentCount
0
maxSentenceWordsSeen
22
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
2710
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
15
unquotedAttributions
0
matches
(empty)
66.67%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
54
wordCount
2710
uniqueNames
5
maxNameDensity
1.55
worstName
"You"
maxWindowNameDensity
3
worstWindowName
"You"
discoveredNames
Lucien
3
Cardiff
2
Ptolemy
3
You
42
Sit
4
persons
0
"Lucien"
1
"Ptolemy"
2
"You"
3
"Sit"
places
0
"Cardiff"
globalScore
0.725
windowScore
0.667
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
212
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
2710
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
2
totalSentences
374
matches
0
"wrong that night"
1
"say that like"
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
95
mean
28.53
std
18.5
cv
0.649
sampleLengths
0
76
1
6
2
12
3
53
4
11
5
13
6
43
7
10
8
27
9
18
10
43
11
12
12
19
13
4
14
27
15
40
16
12
17
26
18
39
19
21
20
51
21
12
22
30
23
42
24
4
25
23
26
5
27
45
28
28
29
6
30
23
31
12
32
33
33
18
34
8
35
23
36
56
37
3
38
25
39
24
40
3
41
2
42
44
43
14
44
43
45
12
46
19
47
48
48
42
49
37
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
1
totalSentences
374
matches
0
"being told"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
614
matches
(empty)
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
0
semicolonCount
0
flaggedSentences
0
totalSentences
374
ratio
0
matches
(empty)
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
2710
adjectiveStacks
0
stackExamples
(empty)
adverbCount
73
adverbRatio
0.026937269372693726
lyAdverbCount
7
lyAdverbRatio
0.0025830258302583027
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
374
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
374
mean
7.25
std
4.15
cv
0.572
sampleLengths
0
8
1
12
2
11
3
17
4
12
5
16
6
6
7
6
8
6
9
12
10
14
11
16
12
11
13
11
14
5
15
4
16
4
17
8
18
6
19
8
20
12
21
9
22
4
23
6
24
7
25
10
26
1
27
9
28
6
29
7
30
2
31
3
32
13
33
6
34
15
35
9
36
6
37
2
38
4
39
8
40
4
41
7
42
4
43
5
44
4
45
11
46
7
47
7
48
4
49
7
25.67%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
91
diversityRatio
0.12834224598930483
totalSentences
374
uniqueOpeners
48
0.00%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
0
totalSentences
350
matches
(empty)
ratio
0
0.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
282
totalSentences
350
matches
0
"He filled the narrow entryway,"
1
"You left your window open"
2
"I leave it for the"
3
"He brushed past her, cane"
4
"He stopped beside the low"
5
"You look like you dragged"
6
"I work double shifts."
7
"You know the schedule."
8
"I know you push until"
9
"He glanced at her left"
10
"He reached out, fingers hovering"
11
"I manage fine without your"
12
"He barked a short laugh,"
13
"You always did hate being"
14
"You told me to leave"
15
"You told me not to"
16
"I’m still standing."
17
"She crossed her arms, shoulders"
18
"He tilted his head, gaze"
19
"She refused to give him"
ratio
0.806
0.00%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
328
totalSentences
350
matches
0
"The deadbolts threw back with"
1
"Aurora pulled the door inward"
2
"Charcoal wool cut sharp against"
3
"Ptolemy rubbed against her ankles,"
4
"The curry house downstairs vented"
5
"He filled the narrow entryway,"
6
"You left your window open"
7
"Draft pushed through the cracked"
8
"I leave it for the"
9
"He brushed past her, cane"
10
"The ivory handle caught the"
11
"Scrolls and hardcovers stacked unevenly"
12
"He stopped beside the low"
13
"You look like you dragged"
14
"Sleep doesn’t cover the rent."
15
"I work double shifts."
16
"You know the schedule."
17
"I know you push until"
18
"He glanced at her left"
19
"The crescent scar rode just"
ratio
0.937
100.00%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
8
totalSentences
350
matches
0
"Because the contact dropped."
1
"Because someone left you in"
2
"To tell you I don’t"
3
"Because you went quiet."
4
"Because you never see the"
5
"To watch you breathe."
6
"To listen to your voice."
7
"To remind you that I"
ratio
0.023
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
95
technicalSentenceCount
4
matches
0
"She reached up, fingers sliding into his hair, breaking the perfect line."
1
"He groaned low, hands sliding up her back, pulling her flush against him."
2
"He melted into the kiss, hands sliding to her waist, holding her like she weighed nothing and everything."
3
"He pulled out a bottle of water, a carton of milk that looked weeks past its date, a tin of biscuits."
100.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
0
uselessAdditionCount
0
matches
(empty)
100.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
0
84.4582%