NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-03-09-01KK9PV5BJ4W88DJ3CR7K6CQ2M
Run Details
Model:
GPT-5.4 (Reasoning)
Test:
Bad Writing Habits
Scenario:
Thriller: chase through city streets
Duration:
2m 36s
Cost:
$0.084510
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
100.00%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
93.09%
AI-ism word frequency
(details)
100.00%
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)
77.65%
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)
65.79%
Sentence opener variety
(details)
59.88%
Adverb-first sentence starts
(details)
100.00%
Pronoun-first sentence starts
(details)
76.77%
Subject-first sentence starts
(details)
89.82%
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)
95.4334%
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="4417" name="Tomás Herrera" aliases="Tommy, Tomás, Herrera" pronouns="he/him" species="Human" storyRole="Support"> <eyeColor>warm brown</eyeColor> <hair>short curly dark brown</hair> <height>5'10"</height> <age>29</age> <skinTone>olive skin</skinTone> <scar>scar running along his left forearm from a knife attack</scar> <medallion>Saint Christopher medallion around his neck</medallion> <birthplace>Seville, Spain</birthplace> <description>A former paramedic who provides off-the-books medical care for the clique.</description> <backstory>Born in Seville, Spain. He moved to London to work for the NHS but lost his license after administering unauthorized treatments to supernatural patients.</backstory> </character> <location id="854" name="The Raven's Nest" aliases="the Nest, Raven, Silas' bar" realm="Earth"> <signColor>distinctive green neon sign above the entrance</signColor> <secretRoom>hidden back room accessible through a bookshelf, used for clandestine meetings</secretRoom> <description>A dimly lit bar in Soho, London. The walls are covered with old maps and black-and-white photographs.</description> </location> <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> </codex> Continue the story using the following instructions: <instructions> Write a fully fleshed out scene of at least 1000 words in the thriller genre. A detective is pursuing a suspect through rain-soaked city streets at night. The chase takes them from the street level down into an underground market. The detective must decide whether to follow the suspect into unfamiliar and potentially dangerous territory. 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
Rain sheeted across Soho and
turned the pavement outside the Raven’s Nest into black glass.
The bar’s green neon sign
buzzed above the door and painted the puddles a rotten shade of emerald. Through the steamed front window, Detective Harlow Quinn caught fragments of the place she’d been watching for the better part of two weeks: old maps nailed to dark walls, black-and-white faces trapped in frames, hands lifting pints under low amber light. Nobody inside looked up. Nobody inside ever looked up.
She sat in an unmarked
Vauxhall half a block down, collar up, wipers slashing at the windscreen.
Her left hand rested on
the wheel.
Her thumb rubbed the cracked
edge of the leather
watch
on her wrist. At 23:17, the side alley door opened. Tomás Herrera stepped out first, head down against the rain, one hand on a satchel tucked under his coat.
The green spill from the
sign caught his face for a beat: olive skin slick with rain, short dark curls plastered to his forehead, Saint Christopher
glinting
at his throat. He checked the street once, twice. Not a drunk’s lazy sweep. A medic’s scan. Fast. Clinical. Alive to exits.
Quinn opened the car door
before he finished his second look. “Herrera.” He froze.
Water ran off his nose
and chin.
His eyes found her across
the bonnet and sharpened. “Detective.” “Step away from the bag.”
He gave a thin smile
that never reached his eyes. “You’ve got worse habits than I do. Following a man out of a bar in this weather.” “Open it.” “Get a warrant.” He moved before she did, cutting across the road through a gap in traffic.
A taxi leaned on its
horn.
Its tyres hissed through standing
water.
Quinn shoved off the car
door and sprinted after him. “Police. Stop.” He didn’t stop.
He hit Berwick Street at
a dead run, boots slapping through puddles, shoulder clipping a bin hard enough to spin it into the kerb. Quinn kept her pace clean and straight. No wasted motion. Eighteen years in the job had pared her down to angles and economy.
She drove through the rain
with her sharp jaw set and her eyes fixed on the satchel bouncing under his coat. He glanced back once. Big mistake.
He almost lost his footing
on a slick patch of oil, recovered, and veered into the mouth of an alley strung with wet rubbish bags. Quinn gained two strides. “Herrera. You run, I add obstruction.” “You’ll need breath left for the charge.” His accent roughened the words. Seville still clung to him when he pushed.
He came out of the
alley into traffic near Charing Cross Road, darted between two crawling cars, and yanked open the back door of a waiting minicab. He threw himself inside. Quinn hit the boot with both palms as the cab
lurched
off. “Police. Pull over.” The driver looked once in the mirror, swore, and stamped on the accelerator instead. Quinn sprinted back to the Vauxhall, tyres spitting water as she swung into the street after them. Red brake lights smeared across the wet road ahead. The minicab carved north through the West End, reckless and quick, snatching gaps that should not have existed. Quinn stayed on it through theatre traffic, late buses, a knot of cyclists hunched under hoods. She grabbed the radio. “Control, this was Quinn. I was in pursuit of a male suspect, late twenties, olive skin, dark hair, leaving premises in Soho. Heading north in a black Toyota minicab, plate ending six-three-kilo. I needed units towards Camden.” Static scratched back at her.
Then a bored voice, distant
and thin. “Repeat, Quinn. Your transmission broke.” Of course it did.
It always broke when a
case stepped sideways.
She leaned forward over the
wheel and pushed harder.
By the time they hit
Camden High Street, the rain had thinned to a hard mist. Market shutters rattled in the wind. Fried grease, wet brick, and canal water lay over the street in layers. The minicab clipped the kerb outside a row of boarded units. Tomás shoved the door open before the car had stopped moving.
He landed badly, one hand
skidding on the pavement, then came up and ran. Quinn braked so hard the Vauxhall fishtailed. She left it crooked across a loading bay and went after him. He tore past a souvenir shop with metal shutters painted in screaming colours, vaulted a stack of tied refuse bags, and cut left towards the canal. Quinn followed, shoes hammering on concrete slick as skin. Her coat dragged at her shoulders. Cold water worked down the back of her neck. “Herrera.” He swung round a corner by a locked gate and nearly lost her there, but she saw the flash of his medallion and the pale line of the scar on his left forearm when he grabbed the rail and pulled himself over. She went over after him, caught the top bar, and dropped into a service yard ankle-deep in rainwater. He burst through the far side and into an alley between hoardings. A small round object flew out of his coat pocket, bounced once, and spun into the gutter. Quinn scooped it up without breaking stride. Bone. Smooth from handling. Carved with a hole through the centre and a symbol she didn’t know, three hooked lines crossed by a slash. Warmer than the rain had any right to leave it. Tomás saw the movement over his shoulder. His face tightened. “Leave that.” “So it matters.” “It’s not for you.” He drove on. The alley narrowed, brick on one side, corrugated metal on the other, until it opened onto a dead patch of street Quinn knew only from old planning maps. One of the old Tube entrances had stood here once before the station shut decades ago.
Now the place looked buried
and forgotten: hoarding boards, rusted barriers, weeds growing through split tarmac, a lamp above the steps blinking with sickly yellow light. Tomás took the stairs two at a time. At the top, a figure stepped out from the shadow of the boarded archway. Thin. Elderly. Wrapped in a dark rain cape. The face under the hood looked dry, as if the weather had decided not to touch it. “Token.” Tomás slapped his palm against the figure’s hand in passing. Bone clicked against bone. Not a handshake. An exchange. The boarded panel behind them shifted inward on hidden hinges, revealing a steep run of tiled steps dropping into black. He darted through. Quinn hit the foot of the stairs five seconds later, chest burning, the bone disc still in her fist. The hooded woman blocked the opening with one hand that looked more like roots than flesh. “Token.” Quinn flipped out her warrant card. “Metropolitan Police. Move.” The woman didn’t glance at the card. “Token.” Behind her, somewhere below the stairs, a train shrieked. Not the steel scream of brakes on track. Thinner. Higher. Human breath forced through something sharp. Quinn’s radio spat a burst of static at her hip and went dead. She looked past the woman into the dark gap under the city. Air climbed up from it, cold and damp and laced with scents no Tube station should have held: cloves, blood, petrol, wet fur, singed sugar. Voices overlapped in the hollow below. Bargaining. Laughter. A child crying, then stopping all at once. Her fingers tightened around the bone token. Three years earlier, DS Morris had stood in a warehouse in Poplar with rain dripping off his coat and blood on his cuff. “You heard that, didn’t you?” Quinn had heard nothing then. Two minutes later Morris had vanished through a steel fire door that opened onto a solid brick wall when backup arrived. No footprints. No camera image. Nothing except his notebook floating in a puddle and one line carved into the plaster beside the frame. Entry by invitation. The hooded woman held out her hand again. “Token.” Quinn laid the disc in that hand. The woman’s fingers closed over it. Her mouth creased into something that never became a smile. She stepped aside. “No badge below. No law below. Keep your hands to yourself unless you mean to lose one.” Quinn went down. The stairs swallowed sound in strange bites. Her footfalls came back half a second late. Cracked white tiles climbed the walls, nicotine-yellow at the edges, patched with old station posters that had peeled into curls. Water ran in threads down the grout. Light spilled up from below,
not electric white but a muddle of lantern reds, paraffin gold, gas-blue flame
. At the bottom, the station opened like a cut artery. The Veil Market filled the abandoned platform and the tunnels beyond it. Stalls jammed every stretch of wall, built from scavenged doors, iron frames, coffin lids, butcher blocks. Canvas awnings sagged under dripping condensation. Glass bottles swung from cords and held things that moved in cloudy liquid. Strings of charms clicked together overhead. Smoke from braziers crawled along the tiled ceiling and wrapped itself around old roundels where the station name had
been chipped
away. People crowded the platform, though people wasn’t the clean word for all of them. Quinn caught faces with too many teeth, hands jointed the wrong way, skin in shades that belonged to river stones and old milk. A man in a suit argued over a case of glowing vials with a woman whose pupils ran across the whole of her eyes. A girl no older than ten sat behind a stall of watches that all ticked at different speeds.
Somewhere close, raw meat thudded
on a chopping board. Tomás had already cut into the crowd. His dark coat moved between a pillar plastered with torn flyers and a stall stacked with stoppered jars. Quinn pushed after him, shoulder first, keeping him in sight through gaps that opened and shut like clenched teeth. “Police. Move.” The word meant nothing here. Nobody flinched. A few turned to look. Most kept haggling. A broad man with brass rings punched through both ears stuck out an arm to block her. “No runners through my pitch.” Quinn drove his arm aside. “Then move your pitch.” He barked a laugh and reached for her coat. She caught his wrist, twisted, and shoved him back into a display of black candles. Wax and curses flew. Heads turned. The market tightened around her. Interest sharpened the air. Ahead, Tomás glanced back. Not fear. Frustration. “Quinn, stop.” She kept coming. “What’s in the bag?” “Medicine.” “For who?” He cut sideways between two stalls, clipped a tray of silver teeth, and sent them skittering across the tiles. “For someone who dies if I stand here explaining it.” A vendor lunged at him. “You break it, you buy it.” “Add it to my tab.” “You don’t have a tab.” Tomás ducked under a line of hanging bird cages and shoved into the mouth of an old service tunnel lit by hurricane lamps. Quinn followed, but a pair of market guards closed in from either side, both wrapped in long butcher aprons dark with old stains. One planted a hook-ended staff across the tunnel entrance. “Chase ended at the platform.” Quinn flashed the warrant card again out of sheer habit. “This man was part of an active investigation.” The nearer guard looked at the card, then at her face. “That card opened doors up there.” He tilted his chin towards the ceiling. “Down here, it lit fires.” Tomás stopped ten yards into the tunnel. His shoulders rose and fell. Water dripped from the end of his curls. He shifted the satchel higher and stared at Quinn past the guards. “You got what you wanted. You found the Market.” “Not enough.” “It will be for tonight.” “Open the bag.” His hand curled over the strap. “No.” Quinn took one step forward. The hook staff pressed harder across her chest.
To her left, a woman
at a nearby stall lifted the lid off a crate. Inside, something small and pale pressed fingerlike marks against the slats. On her right, a man with a fox’s muzzle where his lower face should have
been gnawed
a strip of dried meat and watched her with bright, black eyes. Rainwater still dripped off Quinn’s coat and tapped the filthy tiles at her feet. Up above, London ran on clocks, cameras, warrants, doors that stayed where walls put them. Down here, none of that reached. Tomás held her gaze. “You come further, detective, and your people won’t know where to start looking.” Quinn looked at the guards, the tunnel, the crowd leaning in for the answer. She touched the leather
watch
on her wrist, then slid the warrant card back into her pocket. “Then they’ll have to work harder.” She ducked under the hook, drove her shoulder into the guard on the left, and hit the tunnel at a run. Tomás swore and spun away from her into the deeper dark. Quinn shoved through a curtain of hanging bones and followed him into the crush.
created_at
"2026-03-09T16:28:20.219Z"
3/9/2026, 4:28:20 PM
model
"openai/gpt-5.4-20260305"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
79243
moderation_latency
(null)
generation_time
156018
tokens_prompt
1140
tokens_completion
3792
native_tokens_prompt
984
native_tokens_completion
5470
native_tokens_completion_images
0
native_tokens_reasoning
2706
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.08451
router
(null)
provider_responses
0
endpoint_id
"9ff5625c-403f-4d7f-b895-58ac7295062c"
id
"resp_006ae28dbad431300169aef5244ac08196b2852cc4390ad5a8"
is_byok
false
latency
202
model_permaslug
"openai/gpt-5.4-20260305"
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-1773073700-kzIUp1jk7I5YCfqFCisZ"
upstream_id
"resp_006ae28dbad431300169aef5244ac08196b2852cc4390ad5a8"
total_cost
0.08451
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
0
100.00%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
2172
totalAiIsmAdverbs
0
found
(empty)
highlights
(empty)
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)
93.09%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
2172
totalAiIsms
3
found
0
word
"glinting"
count
1
1
word
"lurched"
count
1
2
word
"electric"
count
1
highlights
0
"glinting"
1
"lurched"
2
"electric"
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
184
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
2
hedgeCount
0
narrationSentences
184
filterMatches
0
"watch"
hedgeMatches
(empty)
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
229
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
maxSentenceWordsSeen
43
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
2172
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
5
unquotedAttributions
0
matches
(empty)
77.65%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
72
wordCount
1935
uniqueNames
27
maxNameDensity
1.45
worstName
"Quinn"
maxWindowNameDensity
2.5
worstWindowName
"Quinn"
discoveredNames
Soho
1
Raven
1
Nest
1
Detective
1
Harlow
1
Quinn
28
Vauxhall
3
Herrera
1
Saint
1
Christopher
1
Berwick
1
Street
2
Charing
1
Cross
1
Road
1
West
1
End
1
Camden
1
High
1
Tube
2
Morris
2
Poplar
1
Veil
1
Market
2
Tomás
11
London
1
Water
3
persons
0
"Harlow"
1
"Quinn"
2
"Herrera"
3
"Saint"
4
"Christopher"
5
"Morris"
6
"Market"
7
"Tomás"
8
"Water"
places
0
"Soho"
1
"Raven"
2
"Vauxhall"
3
"Berwick"
4
"Street"
5
"Charing"
6
"Cross"
7
"Road"
8
"West"
9
"End"
10
"Camden"
11
"High"
12
"Poplar"
13
"London"
globalScore
0.776
windowScore
0.833
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
129
glossingSentenceCount
0
matches
(empty)
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
1
per1kWords
0.46
wordCount
2172
matches
0
"not electric white but a muddle of lantern reds, paraffin gold, gas-blue flame"
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
0
totalSentences
229
matches
(empty)
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
126
mean
17.24
std
19.85
cv
1.151
sampleLengths
0
83
1
37
2
7
3
68
4
11
5
1
6
18
7
1
8
5
9
10
10
17
11
2
12
3
13
36
14
2
15
3
16
68
17
31
18
4
19
6
20
7
21
13
22
31
23
12
24
3
25
14
26
60
27
4
28
37
29
12
30
5
31
12
32
9
33
57
34
14
35
19
36
50
37
1
38
60
39
12
40
17
41
7
42
34
43
10
44
2
45
3
46
4
47
3
48
70
49
8
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
2
totalSentences
184
matches
0
"been chipped"
1
"been gnawed"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
322
matches
(empty)
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
0
semicolonCount
0
flaggedSentences
0
totalSentences
229
ratio
0
matches
(empty)
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1941
adjectiveStacks
0
stackExamples
(empty)
adverbCount
50
adverbRatio
0.02575991756826378
lyAdverbCount
5
lyAdverbRatio
0.002575991756826378
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
229
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
229
mean
9.48
std
7.67
cv
0.808
sampleLengths
0
15
1
18
2
41
3
4
4
5
5
17
6
7
7
13
8
7
9
19
10
30
11
6
12
5
13
3
14
1
15
1
16
3
17
11
18
1
19
2
20
7
21
9
22
1
23
5
24
10
25
17
26
2
27
3
28
14
29
6
30
6
31
10
32
2
33
3
34
24
35
7
36
3
37
13
38
21
39
4
40
2
41
25
42
4
43
6
44
7
45
5
46
8
47
27
48
4
49
12
65.79%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
6
diversityRatio
0.4104803493449782
totalSentences
229
uniqueOpeners
94
59.88%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
3
totalSentences
167
matches
0
"Then a bored voice, distant"
1
"Of course it did."
2
"Somewhere close, raw meat thudded"
ratio
0.018
100.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
45
totalSentences
167
matches
0
"She sat in an unmarked"
1
"Her left hand rested on"
2
"Her thumb rubbed the cracked"
3
"He checked the street once,"
4
"His eyes found her across"
5
"He gave a thin smile"
6
"He moved before she did,"
7
"Its tyres hissed through standing"
8
"He didn’t stop."
9
"He hit Berwick Street at"
10
"She drove through the rain"
11
"He glanced back once."
12
"He almost lost his footing"
13
"His accent roughened the words."
14
"He came out of the"
15
"He threw himself inside."
16
"She grabbed the radio."
17
"It always broke when a"
18
"She leaned forward over the"
19
"He landed badly, one hand"
ratio
0.269
76.77%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
128
totalSentences
167
matches
0
"Rain sheeted across Soho and"
1
"The bar’s green neon sign"
2
"Nobody inside looked up."
3
"Nobody inside ever looked up."
4
"She sat in an unmarked"
5
"Her left hand rested on"
6
"Her thumb rubbed the cracked"
7
"Tomás Herrera stepped out first,"
8
"The green spill from the"
9
"He checked the street once,"
10
"A medic’s scan."
11
"Quinn opened the car door"
12
"Water ran off his nose"
13
"His eyes found her across"
14
"He gave a thin smile"
15
"He moved before she did,"
16
"A taxi leaned on its"
17
"Its tyres hissed through standing"
18
"Quinn shoved off the car"
19
"He didn’t stop."
ratio
0.766
89.82%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
3
totalSentences
167
matches
0
"By the time they hit"
1
"Now the place looked buried"
2
"To her left, a woman"
ratio
0.018
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
82
technicalSentenceCount
2
matches
0
"The minicab carved north through the West End, reckless and quick, snatching gaps that should not have existed."
1
"Cracked white tiles climbed the walls, nicotine-yellow at the edges, patched with old station posters that had peeled into curls."
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
95.4334%