NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-03-18-01KM08HY48P2JME0TNQ9MSRZSV
Run Details
Model:
GPT-5.4 Mini
Test:
Bad Writing Habits
Scenario:
Mystery: examining a crime scene
Duration:
16.9s
Cost:
$0.014639
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
93.63%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
83.02%
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)
39.09%
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)
96.45%
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)
49.62%
Sentence opener variety
(details)
20.58%
Adverb-first sentence starts
(details)
100.00%
Pronoun-first sentence starts
(details)
43.33%
Subject-first sentence starts
(details)
0.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)
86.4130%
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="4416" name="Detective Harlow Quinn" aliases="Quinn, Detective Quinn, Harlow" pronouns="she/her" species="Human" storyRole="Antagonist"> <eyeColor>brown</eyeColor> <hair>closely cropped salt-and-pepper</hair> <height>5'9"</height> <age>41</age> <jawline>sharp jaw</jawline> <watch>worn leather watch on her left wrist</watch> <bearing>military precision</bearing> <description>A Metropolitan Police detective with 18 years of decorated service who suspects the clique is involved in criminal activity.</description> <backstory>She lost her partner, DS Morris, during a case three years ago under unexplained circumstances that had supernatural origins she doesn't yet understand.</backstory> </character> <character id="4414" name="Eva Kowalski" aliases="Eva, Evie" pronouns="she/her" species="Human" storyRole="Best Friend"> <eyeColor>green</eyeColor> <hair>curly red</hair> <height>5'4"</height> <age>26</age> <glasses>round glasses</glasses> <satchel>worn leather satchel full of books</satchel> <freckles>freckled complexion</freckles> <nervousHabit>tucking hair behind her left ear</nervousHabit> <description>Aurora's childhood friend and an occult researcher.</description> <backstory>Moved to London two years before Aurora and works as a research assistant at the British Museum's restricted archives. She holds a master's degree in Ancient History from Oxford.</backstory> </character> <location id="856" name="The Veil Market" aliases="Veil Market, the Market, underground market" realm="Earth"> <currentLocation>abandoned Tube station beneath Camden</currentLocation> <entryRequirement>bone token</entryRequirement> <schedule>moves locations every full moon</schedule> <description>A hidden supernatural black market that sells enchanted goods, banned alchemical substances, and information.</description> </location> <item id="2004" name="Veil Compass" aliases="the Compass, shadow compass" type="Tool" origin="The Veil Market"> <casingMaterial>small brass compass</casingMaterial> <faceMarkings>face etched with protective sigils</faceMarkings> <needle>points toward the nearest supernatural rift or portal</needle> <patina>casing has a patina of verdigris</patina> <creator>crafted by a Shade artisan</creator> <description>A compass attuned to supernatural energy.</description> </item> </codex> Continue the story using the following instructions: <instructions> Write a fully fleshed out scene of at least 1000 words in the mystery genre. A detective arrives at a crime scene in an unusual location. Something is wrong — the evidence doesn't add up. A colleague is present, offering a different interpretation. Through careful observation and deduction, the detective begins to see what others have missed. 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 lift groaned as it
dropped into the belly of Camden, each cable shriek scraping along Detective Harlow Quinn’s nerves.
The carriage shuddered, then jolted
to a stop with a hard metallic thump. Quinn stepped out first.
The station platform opened in
front of her like a split throat. Old tiles peeled from the walls in white curls. Fluorescent strips hummed overhead, half of them dead. Yellow tape cut across the edge of the platform, snagged on a rusted bench and a sign that still read TICKETS in letters the colour of old teeth. Cold air moved through the tunnel mouth, carrying damp stone, stale dust, and something sharp enough to taste.
A uniform nodded from behind
the cordon.
Another stood by the stairwell
with a notebook and a face that had already decided this job had gone wrong.
Quinn lifted her gaze to
the centre of the platform.
A body lay on its
back beneath the station name board. Male. Late twenties, maybe early thirties. No jacket.
Shirt torn open across the
chest. One shoe missing.
Blood pooled under his shoulders
and had run in dark seams between the platform tiles, but not far enough to the edge.
The corpse had been arranged
with care, arms placed close to his sides, palms up.
Quinn’s brown eyes tracked over
the scene without pause.
Her left wrist shifted, the
worn leather
watch
catching the light as she checked the time out of habit. Beside her, Detective Inspector Saeed Malik came to a stop and drew in a long breath through his nose. “Came down here from the market,”
he said, chin lifting towards
the tunnel mouth. “Bouncer found him at dawn. Says he’d been arguing with someone over a stall. Then this.”
Quinn kept her gaze on
the body. “You always start with the story before the scene?” Malik’s mouth twitched. “You always start with the scene before the story?” She crouched near the corpse, careful not to cross the blood trail.
A blue glint sat near
the dead man’s right hand. Not a coin. Not glass. A token. Bone, drilled through the centre and strung on a black cord that had snapped clean.
Quinn reached for it with
two gloved fingers, then stopped short.
The air around it felt
wrong,
not cold exactly, but thin
. She leaned closer,
eyes narrowed
. “This wasn’t dropped,” she murmured. Malik shifted beside her. “You saying it was planted?”
She tilted the token just
enough to catch the light. “I’m saying someone wanted it seen.” A flash from the tunnel flashed across the tile, then died. Quinn straightened and looked down the platform. No one moved there. No wind touched the hanging cable. Still, the dead bulbs above the stairwell gave a single twitch like a heartbeat gone sideways. Malik followed her stare, then shrugged. “Old wiring.” Quinn’s gaze moved to the body’s feet. One sock had
been turned
inside out. The sole of the missing shoe had left a faint smear of white powder on the tile. Not dust. Chalk.
She looked at the man’s
fingers. Half-moons of grime sat beneath the nails, but not the dark oily grime from the station floor. Grey, crumbly, bone-dry. Her mouth flattened. “Where’s his other shoe?” “Don’t know yet.” “It came off somewhere else.”
She rocked back on her
heels. “He didn’t die here.” Malik let out a short laugh with no humour. “That’s rich. He’s on the platform.” Quinn rose in one smooth motion, her military straight posture making the ruined station seem even more crooked. “He was carried here after he bled out.” That got his attention. He folded his arms. “On what’s that based?”
She pointed to the pool
beneath the body. “Blood came to rest here. No spatter under the sign, no drag marks through it. See the way it collects around the shoulders? He was placed down, not dragged in a heap. The blood on his shirt soaked from the front, but there’s no spray on the wall. If he’d been attacked here with force enough to open his chest like that, something would’ve hit the tiles behind him.” Malik’s eyes moved
reluctantly
over the scene. Quinn went on, voice clipped, each point landing like a nail. “His right cuff’s wet. Left sleeve isn’t. There’s water on the cuff, not blood. Means one arm was in contact with a damp surface after he died. The station’s dry up here. That leaves the tunnels. Or somewhere below grade.” A voice behind them cut in. “Or the market washing him up.” Quinn turned. Eva Kowalski stood at the edge of the cordon with a canvas satchel slung across her body, round glasses catching the station light.
Her curly red hair had
escaped its tie, and she kept pushing a strand back behind her left ear while she studied the platform with a face gone pale but steady. A pair of officers gave her a look, then stepped aside when Malik lifted a hand. “You rang for the occult girl,” Malik said. Eva sniffed. “I prefer researcher. If you want a dramatic title, keep that for yourself.” Quinn’s mouth softened by a fraction. “You shouldn’t be here.” Eva’s green eyes went to the body. “And miss this? No chance.”
She came closer, leather satchel
bumping against her hip. A faint smell of old paper drifted from it, dry and
comforting
against the station’s rot. Quinn nodded once toward the corpse. “What do you see?” Eva’s face changed as she took in the set of the arms, the open shirt, the bone token lying under Quinn’s gloved hand.
She tucked her hair back
again, then crouched just outside the blood line. “I see a message,” she said. Malik snorted. “Everyone says that when they’ve run out of sense.” Eva ignored him. “This place isn’t ordinary. Look at the platform tiles.” Quinn’s eyes followed. Half the tiles near the body were marked with pale circles, each one chalked in a different hand. Some had
been rubbed
away by boots. Others held sharp geometric lines. Old sigils, recent ones, and something dragged through the middle of all of them like a heel had stamped over the lot. Quinn spoke without looking up. “Circle’s been disturbed.” Eva nodded. “Not by the police. By use.” Malik frowned. “Use of what?” Eva finally looked at him. “If I had the answer to that, I’d charge you for it.” Quinn crouched and pressed the tip of a gloved finger near one of the chalk marks. The line held shape, but the dust beneath it had gone dark in a narrow crescent. Not water. Burned, maybe. Or frozen and thawed. Her
eyes narrowed
. “This mark was active.” Malik stared at her. “Active?” Eva reached into her satchel and drew out a folded page covered in cramped notes and a small brass compass with a verdigris patina clouding the casing. Quinn recognised the
etched
sigils around its face at once. “The Veil Compass,”
she said quietly
. Eva set it on her palm, then
flicked
the lid open. The needle inside shivered, spun once, then jerked toward the tunnel behind the platform. Malik leaned in. “What’s that supposed to mean?” Eva’s brows pinched. “It means there’s a rift nearby. Not on the platform. Behind it.” Quinn’s eyes moved to the wall at the far end of the station. Paint blistered there in long sheets. A service door sat half-hidden behind a broken advertising panel. A strip of yellow plastic had
been taped
across it, then torn loose and left hanging. She rose. “Who opened the door?” Malik spread his hands. “No one we know.” Quinn crossed to the wall with Malik and Eva beside her. The service door’s lock hung bent inward. Scrape marks scored the frame at knee height.
She crouched and touched the
metal with two fingers. A thin frost rimmed the seam, though the tunnel air felt damp rather than freezing. Eva crouched too, peering over Quinn’s shoulder. “That’s not from the station.” “No,” Quinn said. She studied the floor. A trail of powdered chalk led from the door to the platform edge, then stopped at the body. Not a smudge. A line. Deliberate. Malik dragged a hand over his jaw. “So the dead man walks out of a hidden market door, gets himself killed, and someone drags him back upstairs for a bit of theatre.” Quinn stood and faced him. “No. He didn’t walk. He was brought through.” Malik gave her a flat look. “By whom?”
She pointed to the chalk
around the body. “Someone who knew how to hold a threshold open.” Eva’s fingers tightened around the compass. “Or shut it.” The needle snapped again, so hard the lid rattled.
It pointed not to the
tunnel, but to the wall itself. Quinn moved to the service door and examined the frame. Scratches ringed the latch plate, but not all from tools. Some looked like long fingernail gouges, others like blackened slashes in the paint. At the bottom edge, where the door met the floor, a line of black grit had collected in the crack.
She brushed a sample onto
her glove. It came away like ash mixed with wet sand. “Where’s the first responder?” she asked. “Uniform found the body and called it in,” Malik said. “Then the market crowd got twitchy. We shut the stairs and called Metro power to cut the southern platform.” “Did anyone enter this door before you sealed it?” “Not that I know of.” Quinn looked back at the corpse. The dead man’s open shirt had a tear at the collar, but not from violence. A patch on the inside seam had
been ripped
away. She strode to the body and knelt, ignoring the blood this time, then reached into the torn lining. Her fingers caught on a knot. She pulled free a second token. Smaller than the bone one. Oval. Brass. Etched with fine lines that had gone dark with age. Eva came closer and gasped
softly
. “What is it?” Malik asked. Quinn held it up. The brass surface reflected the station lights in a warped gleam. Protective sigils. A maker’s mark near the rim, shallow and sharp. “Not police,” Quinn said. Eva pointed. “That’s a market token. Not for entry. For contact.” Malik looked between them. “English.” Eva pushed her glasses up her nose. “Someone used that token to call a trader. Or to mark a handoff.” Quinn’s fingers closed around it. “And this one was tucked inside the victim’s clothing. Which means he carried it to the scene, or someone planted it after he died.” “Planted after,” Malik said. “You just told me he was moved.” Quinn’s stare cut across the platform, then down into the tunnel dark. “Not necessarily. He could have reached the door alive. But if he crossed a threshold while carrying this, someone on the other side would have known.” Eva’s eyes sharpened. “You think the market took him.” “I think he was in the market when he died.” Malik exhaled through his teeth. “And yet he’s here.” Quinn turned the brass token over in her palm. A faint smear marked the edge, dried and nearly invisible. She rubbed at it with her glove. The residue stained the fabric a dark green-black. “Copper salts,” she said. “No. Verdigris.” Eva stared at the token, then at the door. “The Veil Compass does that around active crossings. The metal gets this film if it’s been close to a rift for a while.” Malik’s voice took on a harder edge. “So we’ve got a dead man, a hidden market, and a door that shouldn’t be here.” Quinn slipped the token into an evidence bag and rose to her full height. “We’ve got a body staged at the mouth of a crossing, a token hidden in his shirt, and chalk laid down to look like a ritual gone wrong.” She walked back to the body and pointed at the dead man’s palms. “Look at his hands.” Malik came in beside her. “What about them?” “No cuts. No burns. But the right hand’s cramped. Index finger locked in a curl.” She bent and
gently
prised the hand open with one finger. “He held something. Hard.” Eva peered down. “The bone token?” Quinn shook her head. “Something larger. Rounder.” She moved to the dead man’s left ankle and nudged the trouser cuff. A ring of pale dust clung there, packed into the fabric’s crease. “Same residue as the door,” she said. “He stood at the threshold. He reached for whatever was on the other side. Someone forced him back.” Malik looked at the service door, then at the platform, his confidence thinning by the second. “Why leave him here at all?” Quinn’s eyes went to the station map mounted on the wall. The glass had cracked long ago, splitting the line routes into jagged shards. Under Camden, the black marker arrow for the old maintenance corridor pointed straight through the station’s centre. “To make the station look like the crime,” she said. Eva’s head lifted. “And hide the route underneath.” Quinn gave a short nod. “Exactly.” The platform lights
flickered
again. Once. Twice.
Then the half-dead strip above
the stairwell snapped full bright for a heartbeat, bleaching the tiles, the body, the chalk, the faces of the officers gathered back from the cordon. In that white blast, Quinn saw it. A second set of drag marks under the blood. Not from the corpse. From the wall. She turned and strode to the service door, crouched, and pressed her gloved hand along the floor seam. The grit there shifted under her fingertips, then slid aside in a thin line as if something hollow lay beneath the concrete. “Call for tools,” she snapped. Malik straightened at once. “What have you got?” Quinn kept her eyes on the floor. “A hidden compartment.” Eva stepped in close, the compass trembling in her hand. “Not just hidden.” The needle
quivered
and leaned hard toward the seam. “Something’s still open under there,” she whispered. Quinn looked up at the service door, then back at the body, her face set and
unreadable
. “Then we’re late,” she said.
created_at
"2026-03-18T10:41:09.779Z"
3/18/2026, 10:41:09 AM
model
"openai/gpt-5.4-mini-20260317"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
392
moderation_latency
(null)
generation_time
16715
tokens_prompt
1149
tokens_completion
3714
native_tokens_prompt
1009
native_tokens_completion
3085
native_tokens_completion_images
0
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
"completed"
usage
0.01463925
router
(null)
provider_responses
0
endpoint_id
"9ee065b2-3d1c-43bc-bdd7-28af3b148282"
id
"resp_07843ce8cdefaac30169ba8145d8f08193803a8a14e919bde5"
is_byok
false
latency
174
model_permaslug
"openai/gpt-5.4-mini-20260317"
provider_name
"OpenAI"
status
200
user_agent
"langchainjs-openai/1.0.0 ((node/v24.14.0; linux; x64))"
http_referer
(null)
api_type
"completions"
id
"gen-1773830469-36XM2YbxOMMCoff43SvX"
upstream_id
"resp_07843ce8cdefaac30169ba8145d8f08193803a8a14e919bde5"
total_cost
0.01463925
cache_discount
(null)
upstream_inference_cost
0
provider_name
"OpenAI"
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
19
adverbTagCount
2
adverbTags
0
"She rocked back [back]"
1
"she said quietly [quietly]"
dialogueSentences
84
tagDensity
0.226
leniency
0.452
rawRatio
0.105
effectiveRatio
0.048
93.63%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
2356
totalAiIsmAdverbs
3
found
0
adverb
"reluctantly"
count
1
1
adverb
"softly"
count
1
2
adverb
"gently"
count
1
highlights
0
"reluctantly"
1
"softly"
2
"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)
83.02%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
2356
totalAiIsms
8
found
0
word
"glint"
count
1
1
word
"comforting"
count
1
2
word
"etched"
count
2
3
word
"flicked"
count
1
4
word
"flickered"
count
1
5
word
"quivered"
count
1
6
word
"unreadable"
count
1
highlights
0
"glint"
1
"comforting"
2
"etched"
3
"flicked"
4
"flickered"
5
"quivered"
6
"unreadable"
66.67%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
2
maxInWindow
2
found
0
label
"eyes widened/narrowed"
count
2
highlights
0
"eyes narrowed"
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
199
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
1
hedgeCount
0
narrationSentences
199
filterMatches
0
"watch"
hedgeMatches
(empty)
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
264
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
maxSentenceWordsSeen
69
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
2356
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
25
unquotedAttributions
0
matches
(empty)
39.09%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
91
wordCount
1668
uniqueNames
9
maxNameDensity
2.22
worstName
"Quinn"
maxWindowNameDensity
3.5
worstWindowName
"Quinn"
discoveredNames
Camden
2
Detective
2
Harlow
1
Quinn
37
Inspector
1
Saeed
1
Malik
25
Kowalski
1
Eva
21
persons
0
"Harlow"
1
"Quinn"
2
"Inspector"
3
"Saeed"
4
"Malik"
5
"Kowalski"
6
"Eva"
places
(empty)
globalScore
0.391
windowScore
0.5
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
120
glossingSentenceCount
1
matches
0
"looked like long fingernail gouges, other"
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
2
per1kWords
0.849
wordCount
2356
matches
0
"not cold exactly, but thin"
1
"not to the tunnel, but to the wall itself"
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
0
totalSentences
264
matches
(empty)
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
131
mean
17.98
std
15.6
cv
0.867
sampleLengths
0
33
1
4
2
75
3
27
4
10
5
11
6
54
7
28
8
19
9
30
10
16
11
12
12
27
13
2
14
15
15
27
16
5
17
9
18
16
19
11
20
33
21
8
22
31
23
3
24
26
25
3
26
4
27
3
28
15
29
15
30
26
31
4
32
8
33
77
34
7
35
11
36
40
37
12
38
2
39
70
40
8
41
15
42
10
43
12
44
25
45
10
46
36
47
6
48
11
49
12
96.45%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
5
totalSentences
199
matches
0
"been arranged"
1
"been turned"
2
"been rubbed"
3
"been taped"
4
"been ripped"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
280
matches
(empty)
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
0
semicolonCount
0
flaggedSentences
0
totalSentences
264
ratio
0
matches
(empty)
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1673
adjectiveStacks
0
stackExamples
(empty)
adverbCount
59
adverbRatio
0.035265989240884636
lyAdverbCount
12
lyAdverbRatio
0.007172743574417215
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
264
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
264
mean
8.92
std
7.51
cv
0.841
sampleLengths
0
20
1
13
2
4
3
12
4
9
5
8
6
28
7
18
8
7
9
20
10
10
11
11
12
1
13
5
14
2
15
6
16
3
17
22
18
15
19
9
20
19
21
19
22
14
23
16
24
7
25
9
26
3
27
9
28
12
29
10
30
3
31
2
32
2
33
15
34
11
35
11
36
5
37
5
38
4
39
5
40
10
41
6
42
11
43
7
44
4
45
6
46
16
47
6
48
2
49
7
49.62%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
4
diversityRatio
0.3068181818181818
totalSentences
264
uniqueOpeners
81
20.58%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
1
totalSentences
162
matches
0
"Then the half-dead strip above"
ratio
0.006
100.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
29
totalSentences
162
matches
0
"Her left wrist shifted, the"
1
"he said, chin lifting towards"
2
"She crouched near the corpse,"
3
"She leaned closer, eyes narrowed."
4
"She tilted the token just"
5
"She looked at the man’s"
6
"Her mouth flattened."
7
"She rocked back on her"
8
"He folded his arms."
9
"She pointed to the pool"
10
"Her curly red hair had"
11
"She came closer, leather satchel"
12
"She tucked her hair back"
13
"Her eyes narrowed."
14
"she said quietly"
15
"She crouched and touched the"
16
"She studied the floor."
17
"She pointed to the chalk"
18
"It pointed not to the"
19
"She brushed a sample onto"
ratio
0.179
43.33%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
135
totalSentences
162
matches
0
"The lift groaned as it"
1
"The carriage shuddered, then jolted"
2
"Quinn stepped out first."
3
"The station platform opened in"
4
"A uniform nodded from behind"
5
"Another stood by the stairwell"
6
"Quinn lifted her gaze to"
7
"A body lay on its"
8
"Shirt torn open across the"
9
"Blood pooled under his shoulders"
10
"The corpse had been arranged"
11
"Quinn’s brown eyes tracked over"
12
"Her left wrist shifted, the"
13
"he said, chin lifting towards"
14
"Quinn kept her gaze on"
15
"Malik’s mouth twitched."
16
"She crouched near the corpse,"
17
"A blue glint sat near"
18
"Quinn reached for it with"
19
"The air around it felt"
ratio
0.833
0.00%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
0
totalSentences
162
matches
(empty)
ratio
0
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
69
technicalSentenceCount
1
matches
0
"The grit there shifted under her fingertips, then slid aside in a thin line as if something hollow lay beneath the concrete."
100.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
19
uselessAdditionCount
0
matches
(empty)
100.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
17
fancyCount
3
fancyTags
0
"she murmured (murmur)"
1
"she snapped (snap)"
2
"she whispered (whisper)"
dialogueSentences
84
tagDensity
0.202
leniency
0.405
rawRatio
0.176
effectiveRatio
0.071
86.4130%