NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-04-27-01KQ72HA4TADZ3TZ54V7D2XM19
Run Details
Model:
Qwen 3.6 27B
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
2m 35s
Cost:
$0.023461
Provider:
Morph
Evaluation summary
Score
Evaluator
Details Link
61.11%
Adverbs in dialogue tags
(details)
91.02%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
59.61%
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)
100.00%
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)
35.38%
Sentence opener variety
(details)
48.54%
Adverb-first sentence starts
(details)
27.77%
Pronoun-first sentence starts
(details)
0.00%
Subject-first sentence starts
(details)
0.00%
Subordinate conjunction sentence starts
(details)
63.49%
Technical jargon density
(details)
27.78%
Useless dialogue additions
(details)
35.71%
Dialogue tag variety (said vs. fancy)
(details)
77.2359%
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 third deadbolt shrieked against
the strike plate, a sound that scraped raw nerves.
Rory kept her back to
the door, eyes fixed on the spread of parchment and coffee rings cluttering Eva's scarred table.
Ptolemy the tabby went rigid
atop a wobbling stack of hardbacks, ears flattened, tail lashing a steady rhythm against the dusty spines of encyclopaedias.
The flat smelled of stale
coffee, old paper, and the damp brick of East London.
The door swung inward, dragging
the smell of rain and expensive cologne into the cramped one-bedroom space. Lucien Moreau filled the doorway.
Charcoal suit sharp enough to
slice, platinum blond hair swept back with military precision.
He stood full inches above
the lintel, forcing a chin lift to clear the frame. One eye burned amber, the other black as pitch, both fixing on her.
The ivory-handled cane tapped the
threshold once. "You rang."
He didn't wait
. He stepped over the sill. The flat shrank instantly.
Rory's hand drifted to her
left wrist, thumb pressing the crescent scar tissue. Old nerves fired.
She pushed up from the
chair, legs stiff from hours hunched over documents. Five-six to his near-six-foot frame made the room
feel
claustrophobic. "That's what the doorbell's for, Luc."
She spread her arms, palms
up. "Not for kicking down my sanctum. What are you doing here?" He ignored the jibe.
The cane hooked the door
behind him with a lazy flick of his wrist. The handle turned. The deadbolts didn't slide back, but the chain bit.
He left it hanging open
a crack.
Just enough to let the
hallway light spill in.
He scanned the room, eyes
lingering on the scrolls, the maps, the coffee rings. "I heard you'd taken up residence in Eva's hoard."
His voice carried that Marseille
lilt
, polished by years of London underworld dealings. "Thought I'd come see if the rumours were true. Rory Carter, skulking in Brick Lane." "Rumours spread fast in your circles." She stepped around the table, boots solid on the laminate. "This isn't a skulking post. It's research. I work on deliveries for Miss Cheung by day, dig for answers by night. Didn't think I needed an audience." "You always have an audience."
He moved further into the
flat, forcing her back a step. He stopped by the kitchenette, cane resting against his shoulder.
His gaze dropped to her
mouth, lingered a beat too long, then rose to her bright blue eyes. The pull hit her in the gut. Heavy. Sharp. She ignored it. She had to. "If you're here for a job, the answer's no."
She crossed her arms
. "If you're here to gloat about how right you were the last time we spoke, save your breath. I didn't need to hear it then, and I don't need to hear it now." Lucien barked a laugh, short and brittle. "Gloat? Me?"
He ran a hand through
his hair,
disrupting
the
perfect
slick. A rare slip.
He looked at Ptolemy, who
hissed from his perch. "Kitty knows better than to bite when the hand feeds it." "Don't condescend to the cat, and don't condescend to me." Rory stepped onto his toe. "You walked out on me. Dockside. Rain lashing down. Told me my instincts were too wild. Told me I was a liability. I've sorted myself out without your supervision. I don't need you dropping in unannounced to tell me I'm proper difficult." "Liability was the wrong word."
He tapped the cane against
his thigh. The ivory handle gleamed in the dim light. "Liability implies I can control the outcome. I can't control you. Nobody can. That's the problem." "Then walk away."
She challenged, chin up
. "That's what you did last month. Why come back?" "Because you don't stop." He took a step closer. The space between them crackled. He reached into his jacket. Rory's muscles coiled, ready to bolt or fight. His hand retrieved a silver cigarette case. He offered it. She stared at the case. He paused, then pocketed it again. "Forgot I don't smoke. Since you gave me that look. The one that says I'm an idiot in three languages." "Don't do that." She lowered her arms. "Don't bring back the flattery to soften the blow. What do you want?" "What do I want?" He
let out a breath
, shoulders dropping an inch. "I want to know why you're digging into the Avaros bloodlines. You think the archives don't ping when you request restricted files? You think the fixers in this city don't talk? You're poking a hornet's nest, Carter. And you're doing it with a spoon." "The spoon gets results." She leaned back against the table, hip checking the wood. "Eva's notes. The records from Cardiff. I'm chasing leads, not looking for a fight." "It's never just leads with you." Lucien's voice dropped, losing the edge. "It's always a crusade. You want justice. You want closure. You want to fix every broken thing in your path." His heterochromatic stare pierced her. "Evan broke you. You think fixing the bloodlines fixes you?" Rory froze. The mention of her ex, the abusive bastard she'd fled Cardiff to escape, hit a nerve. The scar on her wrist
throbbed
. She remembered the fight. The way Lucien had pulled her back from the edge. The way he'd walked away to protect her, or so he claimed. "Shut it." She pushed off the table, moving around him. "Evan is in the past. I don't look back. I don't need you psychoanalysing me either." "Do you?" He moved with her, cutting off her path to the bedroom. He blocked the way, cane extending
slightly
. Not threatening. Just present. "You left Cardiff. You left London. You came to Ev..." He corrected himself. "You came here. Hiding in plain sight. Working delivery shifts. Digging through scrolls. You're running, Rory. Same old story." "I'm researching!" She snapped, stopping inches from him. The scent of him overwhelmed the room. Gunpowder, ozone, expensive soap. "I'm working! I'm not running. I'm solving." "Solving what?" His voice rough. "The mystery of why you can't stay safe?" "The mystery of why I keep ending up with men like you." Her voice quieter now. Sharp. "Men who claim they care but walk away anyway." Lucien went still. The room stilled with him. He looked at her. Really looked at her. The amber eye swirled, the black one still as a pool. He lowered the cane. It clattered to the floorboards, forgotten. He took a step forward, invading her space. "I didn't walk away to leave you."
His hand lifted, fingers hovering near her face
. "I walked away because every time I stay, I make it harder for me to go." "What does that mean?" She didn't back away. She held his gaze. "It means you're a reckoning." His thumb brushed her jaw. Calloused skin against hers. The touch
sent a jolt through
her. Her breath hitched. "You wanted answers. I give answers. Now my answers point to people who don't like to be looked at." "So you're here to warn me." She searched his face. Saw the
tension
in his jaw. The way his hand
trembled
slightly
. He
wasn't bluffing
. He cared. Damn him. "No." He leaned in. His forehead rested against hers. The contact was intimate, possessive. His hands gripped her arms, anchoring her. "I'm here to offer a seat at my table. Or a bodyguard. Your choice. You keep running solo, I can't stop you. But I won't watch you burn." Rory's heart hammered against her ribs. The words hung between them. The hurt of the past, the attraction that simmered underneath every exchange. They'd danced this waltz too many times. The almost-kiss at the warehouse. The argument in the rain. The
silence
that screamed louder than words. "And if I say no?"
She challenged, voice steady
. Lucien held her gaze. "Then I walk out that door. And you're on your own. Again." She searched his face. The amber and black eyes searched her face. The answer formed on her lips,
unspoken
. She didn't need to say it yet. She pulled him back down, silencing the question with her mouth, her hands tugging him closer. The cane lay between their feet, a forgotten barrier. Ptolemy leapt from the shelf, weaving between their legs, mewing loudly. Neither of them broke the kiss. Rory's fingers curled into the charcoal fabric of his suit, pulling him flush against her. The height difference forced her to tilt her head back, a gesture she'd memorised over months of stolen moments. Lucien's hands slid up her back, fingers tangling in her straight shoulder-length black hair. He held her as if she were the only solid thing in a shifting world. She tasted coffee and regret. He tasted of ozone and determination. The kiss deepened, urgent and desperate. The weeks of distance, the anger, the fear, it all melted into the heat between them. The cramped flat faded. The scrolls, the cat, the deadbolts, all of it dissolved.
Only the press of his
body, the slide of his hands up her back, the feeling of his tongue tangling with hers. He broke the kiss, pulled back just an inch. Foreheads still touching. Breathing ragged. "So?"
he asked, voice rough
. "Seat at the table? Or bodyguard?" Rory's fingers curled into his suit. She stared up at him. The amber and black eyes searched her face. The answer formed on her lips,
unspoken
. She didn't need to say it yet. She pulled him back down, silencing the question with her mouth, her hands tugging him closer, the cane still clattering on the floor between them. Ptolemy wound around Rory's ankles, purring loud enough to rattle the teacups. The cat's
weight
tugged at her balance. She didn't care. She shifted her
weight
, keeping Lucien pressed against her. His hands found her waist, thumbs pressing into the fabric of her jumper. The contact grounded her. The heat between them built, a live wire sparking in the dim light. "You're a bloody pain," she muttered against his lips. He huffed a laugh, breath warm. "And you're a nightmare waiting to happen." Their mouths met again. A collision of teeth and tongue, desperate and sweet. Rory's back hit the edge of the table. She didn't fall. Lucien caught her, his body shielding hers from the wood. The scrolls scattered, rolling across the floor. Rory didn't look away from him. Her hands moved from his lapels to his shoulders, gripping the tailored seams. She pulled him closer, needing to erase the space between them. The history crashed over her. Nights spent in his office, maps spread out, fingers brushing over coordinates. The way he'd look at her when he thought she
wasn't watching
. The hurt of his departure. The fear she felt when he walked away. Lucien's hands moved to her face, cupping her cheeks. His thumbs
traced
the line of her jaw, finding the scar on her wrist. He didn't hide it. He pressed a kiss to the crescent mark. The gesture reverent. The air grew thick. The flat felt too small, too warm, too
charged
. "Rory," he whispered, name ragged in his mouth. "Let me in." She shook her head, fingers tightening in his hair. "I don't know how to do this." "You don't have to know." He pulled back enough to look at her. His eyes burned. "Just stay." She searched his face. The
tension
in his jaw. The way his breath hitched. He wanted her. Not just the job. Not just the alliance. Him. The fixer who walked away. The man who came back. "Eva's gonna kill me if we wreck her flat." She grinned, a rare, genuine curve of her lips. Lucien's mouth curved up, matching her. "Eva's not here." "Miss Ptolemy might have opinions." "Let the cat judge." He leaned in again, forehead resting against hers. "Just stay, Rory. Let me sort this out. With you." She closed her eyes. The words settled in her chest. Heavy. Solid. Real. She opened her eyes, looked into his. The amber and black stared back. She nodded, once. The movement small, but definitive. He kissed her again. Slow this time. Savoring. His hands moved down her back, pulling her flush against him. The cane lay forgotten on the floor. The flat felt different. Smaller, but safe. The history between them shifted, cracking open to let something new in. She clung to him, the need surging forward. He held her tight, as if she'd vanish if he loosened his grip. Outside, the London rain lashed against the windowpane. Ptolemy purred louder, rubbing against Rory's leg. The room smelled of ozone and expensive soap. Rory's hands roamed his back, feeling the
tension
easing, replaced by something softer. Lucien's arms tightened around her waist, lifting her
slightly
. She wrapped her legs around him, settling against his chest. He stood firm, holding her
weight
without hesitation. "We've got work to do," he murmured against her neck. "Work?"
She pulled back, smiling
. "You just got here." "Always work." He tapped her nose, a gesture so out of character it made her laugh. "But the work can wait. For now." "For now," she agreed, leaning back into his embrace. The flat felt right. The
silence
felt right. The history felt different. Lighter. She closed her eyes, listening to his heartbeat against her ear. The past could wait. The present held her tight.
created_at
"2026-04-27T08:57:44.356Z"
4/27/2026, 8:57:44 AM
model
"qwen/qwen3.6-27b-20260422"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
1105
moderation_latency
(null)
generation_time
154718
tokens_prompt
1034
tokens_completion
10059
native_tokens_prompt
1001
native_tokens_completion
9546
native_tokens_completion_images
(null)
native_tokens_reasoning
6770
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.02346095
router
(null)
provider_responses
0
endpoint_id
"826cab4e-dc26-4472-83be-e4ddd5ebd2ab"
id
"2fc3147e87d4405c869d8a37f3f2f023"
is_byok
false
latency
779
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-1777280264-u5M0ijT5w6ltiFHizBMu"
session_id
(null)
api_type
"completions"
id
"gen-1777280264-PmjkxM6XILXnfIroMGWD"
upstream_id
"2fc3147e87d4405c869d8a37f3f2f023"
total_cost
0.02346095
cache_discount
(null)
upstream_inference_cost
0
provider_name
"Morph"
response_cache_source_id
(null)
Evaluation details
Result
Evaluator
Details
Meta Data
61.11%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
36
adverbTagCount
5
adverbTags
0
"She stepped around [around]"
1
"He moved further [further]"
2
"She leaned back [back]"
3
"He pulled back [back]"
4
"She pulled back [back]"
dialogueSentences
70
tagDensity
0.514
leniency
1
rawRatio
0.139
effectiveRatio
0.139
91.02%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
2228
totalAiIsmAdverbs
4
found
0
adverb
"slightly"
count
3
1
adverb
"really"
count
1
highlights
0
"slightly"
1
"really"
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.61%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
2228
totalAiIsms
18
found
0
word
"scanned"
count
1
1
word
"lilt"
count
1
2
word
"disrupting"
count
1
3
word
"perfect"
count
1
4
word
"throbbed"
count
1
5
word
"tension"
count
3
6
word
"trembled"
count
1
7
word
"silence"
count
2
8
word
"unspoken"
count
2
9
word
"weight"
count
3
10
word
"traced"
count
1
11
word
"charged"
count
1
highlights
0
"scanned"
1
"lilt"
2
"disrupting"
3
"perfect"
4
"throbbed"
5
"tension"
6
"trembled"
7
"silence"
8
"unspoken"
9
"weight"
10
"traced"
11
"charged"
66.67%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
2
maxInWindow
2
found
0
label
"let out a breath"
count
1
1
label
"sent a shiver through"
count
1
highlights
0
"let out a breath"
1
"sent a jolt through"
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
221
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
1
hedgeCount
0
narrationSentences
221
filterMatches
0
"feel"
hedgeMatches
(empty)
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
253
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
repeatedSegmentCount
0
maxSentenceWordsSeen
44
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
2228
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
21
unquotedAttributions
0
matches
(empty)
100.00%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
42
wordCount
1585
uniqueNames
12
maxNameDensity
0.82
worstName
"Rory"
maxWindowNameDensity
2
worstWindowName
"Rory"
discoveredNames
Eva
1
East
1
London
3
Moreau
1
Marseille
1
Lucien
12
Ptolemy
5
Rory
13
Cardiff
1
Sharp
2
Calloused
1
Saw
1
persons
0
"Eva"
1
"Moreau"
2
"Lucien"
3
"Ptolemy"
4
"Rory"
places
0
"East"
1
"London"
2
"Marseille"
3
"Cardiff"
globalScore
1
windowScore
1
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
122
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
2228
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
1
totalSentences
253
matches
0
"carried that Marseille"
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
60
mean
37.13
std
23.08
cv
0.622
sampleLengths
0
91
1
54
2
14
3
39
4
23
5
60
6
37
7
43
8
59
9
46
10
43
11
57
12
36
13
16
14
68
15
20
16
57
17
28
18
47
19
50
20
26
21
56
22
26
23
13
24
26
25
45
26
31
27
12
28
43
29
29
30
49
31
47
32
9
33
16
34
42
35
89
36
69
37
14
38
11
39
58
40
61
41
9
42
13
43
113
44
51
45
11
46
16
47
18
48
36
49
18
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
0
totalSentences
221
matches
(empty)
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
2
totalVerbs
288
matches
0
"wasn't bluffing"
1
"wasn't watching"
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
0
semicolonCount
0
flaggedSentences
0
totalSentences
253
ratio
0
matches
(empty)
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1592
adjectiveStacks
0
stackExamples
(empty)
adverbCount
49
adverbRatio
0.03077889447236181
lyAdverbCount
8
lyAdverbRatio
0.005025125628140704
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
253
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
253
mean
8.81
std
6.21
cv
0.706
sampleLengths
0
14
1
21
2
24
3
15
4
17
5
5
6
14
7
15
8
13
9
7
10
5
11
5
12
4
13
13
14
3
15
13
16
10
17
12
18
11
19
4
20
14
21
3
22
9
23
7
24
9
25
14
26
22
27
15
28
16
29
27
30
16
31
10
32
18
33
7
34
1
35
1
36
3
37
3
38
13
39
33
40
7
41
13
42
3
43
9
44
11
45
15
46
42
47
12
48
8
49
16
35.38%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
37
diversityRatio
0.2766798418972332
totalSentences
253
uniqueOpeners
70
48.54%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
3
totalSentences
206
matches
0
"Just enough to let the"
1
"Really looked at her."
2
"Only the press of his"
ratio
0.015
27.77%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
99
totalSentences
206
matches
0
"He stood full inches above"
1
"He didn't wait"
2
"He stepped over the sill."
3
"She pushed up from the"
4
"She spread her arms, palms"
5
"He ignored the jibe."
6
"He left it hanging open"
7
"He scanned the room, eyes"
8
"His voice carried that Marseille"
9
"She stepped around the table,"
10
"He moved further into the"
11
"He stopped by the kitchenette,"
12
"His gaze dropped to her"
13
"She ignored it."
14
"She had to."
15
"She crossed her arms"
16
"He ran a hand through"
17
"He looked at Ptolemy, who"
18
"He tapped the cane against"
19
"She challenged, chin up"
ratio
0.481
0.00%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
193
totalSentences
206
matches
0
"The third deadbolt shrieked against"
1
"Rory kept her back to"
2
"Ptolemy the tabby went rigid"
3
"The flat smelled of stale"
4
"The door swung inward, dragging"
5
"Lucien Moreau filled the doorway."
6
"Charcoal suit sharp enough to"
7
"He stood full inches above"
8
"The ivory-handled cane tapped the"
9
"He didn't wait"
10
"He stepped over the sill."
11
"The flat shrank instantly."
12
"Rory's hand drifted to her"
13
"She pushed up from the"
14
"She spread her arms, palms"
15
"He ignored the jibe."
16
"The cane hooked the door"
17
"The handle turned."
18
"The deadbolts didn't slide back,"
19
"He left it hanging open"
ratio
0.937
0.00%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
0
totalSentences
206
matches
(empty)
ratio
0
63.49%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
45
technicalSentenceCount
5
matches
0
"She pulled him back down, silencing the question with her mouth, her hands tugging him closer."
1
"Ptolemy leapt from the shelf, weaving between their legs, mewing loudly."
2
"She pulled him back down, silencing the question with her mouth, her hands tugging him closer, the cane still clattering on the floor between them."
3
"He held her tight, as if she'd vanish if he loosened his grip."
4
"Rory's hands roamed his back, feeling the tension easing, replaced by something softer."
27.78%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
36
uselessAdditionCount
7
matches
0
"He let out, shoulders dropping an inch"
1
"She leaned back, hip checking the wood"
2
"His hand lifted, fingers hovering near her face"
3
"She challenged, voice steady"
4
"he asked, voice rough"
5
"She pulled back, smiling"
6
"He tapped, a gesture so out of character it made her laugh"
35.71%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
9
fancyCount
8
fancyTags
0
"She challenged (challenge)"
1
"He corrected (correct)"
2
"She snapped (snap)"
3
"She challenged (challenge)"
4
"she muttered (mutter)"
5
"he whispered (whisper)"
6
"he murmured (murmur)"
7
"she agreed (agree)"
dialogueSentences
70
tagDensity
0.129
leniency
0.257
rawRatio
0.889
effectiveRatio
0.229
77.2359%