NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-04-24-01KQ0NETMAZJYNP5HET2M03BXP
Run Details
Model:
GPT-5.5 (Reasoning)
Test:
Bad Writing Habits
Scenario:
Thriller: chase through city streets
Duration:
1m 46s
Cost:
$0.129030
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)
84.47%
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)
50.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)
51.16%
Sentence opener variety
(details)
52.91%
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)
89.3958%
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
The green neon above The
Raven’s Nest bled across the pavement and turned every puddle the colour of cheap absinthe.
Detective Harlow Quinn stood under
the shop awning opposite, collar up, rain ticking off her coat, brown eyes fixed on the bar door.
Soho churned around her in
Friday-night fragments: taxis hissing through gutters, a hen party shrieking under plastic tiaras, a man in a silver jacket vomiting into a plant pot while his mate patted his back with the solemn duty of a priest.
Quinn checked her worn leather
watch
. 23:41. Inside the Raven, behind glass fogged by breath and beer heat, Tomás Herrera moved through the bar with a black medical satchel in one hand. Not a pint. Not a date. Not a lost Spaniard looking for tapas at midnight. A satchel.
Quinn crossed the road before
the pedestrian light changed.
A cab horn blared at
her hip. “Use your eyes!”
She showed him her warrant
card without breaking stride.
The Raven’s Nest door gave
under her palm.
Warmth rolled over her, dense
with whisky, wet wool, candle wax, and something sharper beneath it, like burnt copper. Old maps covered the walls. Black-and-white photographs stared from crooked frames: dock workers, street preachers, a woman in a fox-fur coat smiling beside a coffin.
Tomás had reached the far
end of the bar.
His short dark curls shone
with rain. Olive skin.
Saint Christopher medallion at his
throat.
He glanced toward the bookshelf
at the back, then froze.
Quinn lifted two fingers from
inside her coat. Not a wave. A warning. “Herrera.”
The chatter near the bar
thinned.
A glass stopped halfway to
someone’s mouth.
Tomás turned, and his warm
brown eyes found the exit behind her before they found her face. “Detective Quinn. Bit late for a health inspection.” “Bit late to be practising medicine without a licence.” “Then I won’t invoice you.” He stepped left. Quinn stepped right.
A broad man in a
waistcoat moved between them with a tray of empty glasses. Tomás shoved the tray up. Glass burst across the ceiling lights, sprayed the floor, cut the air into glitter. “Police. Move.” The word police did what a fire alarm might have done in a church. Chairs scraped. Bodies turned. Someone laughed once, too loud, then swallowed it. Tomás bolted towards the bookshelf. Quinn went after him.
He slammed his shoulder into
the shelves. The whole bookcase swung inward with a groan, exposing blackness and a slice of brick stair beyond. Quinn caught the edge before it shut.
Her palm hit old wood
slick with dust. “Tomás.” From the stairwell, his voice bounced off brick. “Go home, Quinn.” “Never been great at that.”
She plunged down three steps
and hit the landing as he burst through a rear service door into the alley beyond. Rain slapped her face again. The alley stank of bins, wet cardboard, and fryer oil. Tomás vaulted a row of beer kegs and landed hard, satchel clutched to his ribs. Quinn followed, one hand on the wall, boots skidding on moss. Her knee clipped a keg. Pain bit high and white, but she kept moving. At the alley mouth, Tomás knocked over a stack of crates. Plastic smashed across the ground. Quinn jumped the first, crushed the second beneath her heel, and came out onto Dean Street half a dozen strides behind him. “Stop.” Tomás glanced back. “You brought handcuffs to a flood?”
She saw the scar along
his left forearm when he threw out an arm to shove between two clubbers. A long pale seam. Knife work. Defensive. Quinn drove through the gap he made before it closed. Rain hammered Soho flat. Neon broke across every surface: red noodle bars, blue pharmacy signs, green pub windows, white headlights smeared into knives. Tomás darted between cars stalled at the junction. A bus braked with a heavy sigh, its front bumper inches from his thigh. Quinn slapped the bonnet of a black Audi and vaulted around it. “Met Police. Stay in your vehicle.” The driver opened his door anyway. Quinn kicked it shut with her shin and kept running. Tomás cut north, past a shuttered tailor’s, then down a narrow lane lined with delivery doors.
He moved like a man
who knew every back vein of the city, every service alley and blind corner. Quinn knew plenty of them herself. Eighteen years had ground London into the soles of her boots. But this route had intention. Not escape. Destination. She keyed her radio. “Control, Quinn. Foot pursuit. Male suspect, Tomás Herrera, olive skin, dark curls, black jacket, carrying medical bag. Heading north from Soho toward—” Static tore through the channel. She tried again. “Control?” The radio spat a sound that resembled a child dragging a fork across teeth. Quinn ripped the earpiece free. Ahead, Tomás shouldered through a side gate into a courtyard behind a closed restaurant. Steam breathed from vents. Stainless-steel bins stood in formation.
He crossed the slick paving
and jumped a low wall into another street. Quinn climbed after him, coat catching on a strip of rusted metal. Fabric tore.
She landed in a puddle
up to her ankle. “Bollocks.” Tomás laughed from the road beyond, but it held no joy. A motorcycle roared between them. Quinn paused long enough to let it slice past, then launched herself across the street. The city shifted as they moved north. Soho’s glare thinned into darker pavements and shuttered shopfronts. Rain softened the edges of Camden’s late-night traffic, soaked the posters peeling from brick walls, and filled potholes with grey light. Tomás ran with one hand pressed to his side now.
His satchel bounced against his
thigh. Quinn closed the distance. Not fit, then. Not like he used to be.
She caught the strap of
his satchel outside a closed betting shop. Tomás twisted. The strap cut across her fingers. He drove an elbow back. It glanced off her cheekbone. Stars flashed across her vision. Quinn hooked two fingers into his jacket collar and yanked.
They slammed into the betting
shop’s metal shutter. The impact boomed down the street. Tomás bared his teeth. “Let go.” “Drop the bag.” “People die if I do.” “People die when you run.” “Not my people.” He stamped on her boot, hard enough to crush toes. Quinn grunted, grabbed his left forearm, and pressed her thumb into the raised scar. His face changed. Not fear. Memory. He wrenched free with a harsh sound and stumbled backwards into the road. A horn screamed. A minicab swerved, tyres spraying water over his legs. Quinn lunged. Tomás threw something at her chest. She caught it by instinct. A small white disc. Bone, or
something close to it, polished smooth and warm
despite the cold rain. A symbol had
been burned
into one side: a circle split by a vertical line,
not quite a coin, not quite a token
. Tomás’s
eyes widened
as he realised his hand had emptied the wrong pocket. “Give that back.” Quinn closed her fist around it. “You first.” He looked past her shoulder. Quinn turned half a degree, enough to
see
the reflection in a dark shop window: two figures under the railway arch behind them, faces hidden by hoods, still as bollards. When she looked back, Tomás had moved. He sprinted toward the old Tube entrance at the corner, a dead station front half-swallowed by scaffolding and council notices. Camden Road, one of the sealed service accesses, bricked and forgotten by everyone except squatters, foxes, and men carrying contraband medicine in the rain. A red sign hung crooked behind the metal grille. No entry. Unsafe
structure
. Tomás grabbed the grille. It opened for him. Not with a lock. Not with a key. The bars loosened like ribs under a surgeon’s hands, and he slipped through the gap into the dark below. Quinn stopped at the top step. Rain ran from her cropped salt-and-pepper hair into the collar of her shirt. Her breath came tight through her nose. The bone token pressed into the centre of her palm. Behind her, the hooded figures under the arch had crossed the road. She looked down the stairwell. Tiles gleamed below, old cream and green. Water dripped in the dark.
Somewhere under the city, voices
rose and fell: market calls, laughter, a clatter of metal, the bark of something too deep for a dog. Tomás appeared halfway down, one hand on the rail. “Quinn. Don’t.” “You’ve spent all night giving me excellent reasons to do the opposite.” “This isn’t your patch.” “London’s my patch.” “Not under here.” The words landed clean. No bravado. No joke. Quinn glanced at the token again. The burned mark seemed darker now, as if the rain had woken it. One of the hooded men behind her spoke in a low voice. “Detective.” She turned. The two figures stood ten feet away. Rain streamed from their hoods. One had hands tucked into sleeves. The other held a folded umbrella like a cane, though the canopy stayed shut. Neither had approached like civilians. They had taken positions. One by the kerb. One by the wall. Quinn reached inside her coat. “No closer.” Sleeves smiled without showing teeth. “We wanted the paramedic. You complicated a simple collection.” “Collections require paperwork.” Umbrella tilted his head. Under the hood, his face had too many shadows. “The token isn’t yours.” Quinn opened her coat enough for them to
see
the warrant card clipped inside, not the baton at her hip. “Evidence now.” Sleeves inhaled, slow. His nostrils
fluttered
. “You smell like old blood.” Quinn felt her jaw set. DS Morris had bled out in an alley behind St Pancras with no wound deep enough to explain it. His shirt had steamed in the cold. His eyes had gone milk-white before the ambulance arrived. Three years of sealed files, missing CCTV, witnesses who forgot their own names, and a final radio transmission that still woke her at 03:00. Quinn stepped back onto the first stair. Umbrella’s hand tightened on the handle. Tomás called from below. “If you come down, don’t point your gun at anyone who smiles.” Quinn kept her gaze on the two hooded men. “That meant to reassure me?” “No. That was medical advice.” Sleeves moved first. Quinn drew her baton, snapped it open, and struck his wrist as his hand came out. Something silver flashed and spun into the gutter. Not a knife. Too curved. Too thin. A hooked piece of metal
etched
with small black letters. Umbrella swung. She ducked. The umbrella cracked against the station sign, denting the red enamel. Quinn drove her shoulder into him and sent him into the wall. He didn’t grunt. Not once. Sleeves caught her coat from behind. Quinn stamped back, heel into instep, then jabbed the baton into his ribs. His body folded wrong, as though hinges sat where bones should have been. She tore loose and dropped down three steps. Tomás swore in Spanish. “Quinn, move.” Umbrella recovered and lunged for the stairwell. Quinn slammed the metal grille shut. The bars fused back into place with a wet clank. Umbrella hit them face-first. His hood fell back. Quinn saw pale skin stretched tight over a narrow skull, a mouth full of small square teeth, and eyes like black beads sewn into wax. She did not step away. She raised the bone token between two fingers. “Looks like you missed your train.” The thing’s lips peeled back. Tomás grabbed her sleeve from below. “Enough flirting.” Quinn shoved the token into her pocket and followed him down. The air changed by the seventh step. Rain and exhaust vanished. Heat pressed against her face, damp and mineral-rich, laced with incense, frying meat, ozone, and a sweet rot that curled behind her tongue. The stairwell opened into an old ticket hall stripped of machines and maps. Lanterns hung from the ceiling in wire cages, each flame a different colour. Blue. Amber. Green. One burned with no flame at all, only a knot of darkness that threw light. Stalls filled the station concourse. Canvas awnings stretched between cracked pillars. Rugs covered the floor where commuters once queued. Vendors had built counters from doors, coffin lids, train seats, and polished bone. A woman with silver antlers weighed powders on brass scales. A boy no older than twelve displayed jars of teeth in formaldehyde. A butcher in a bloodless apron carved translucent strips from a slab that twitched each time the knife fell. The noise hit Quinn in layers. “Fresh
grave
salt, chapel-grown, no substitutions.” “Three dreams for one confession.” “Mandrake root. Whole root. Still screams.” “No refunds for curses once swallowed.” Tomás pulled up short beside a kiosk made from a dismantled ticket booth. “Stay close. Touch nothing. Don’t eat anything. Don’t answer if anyone asks your name twice.” Quinn
scanned
the crowd. Human faces. Almost human faces. Masks that breathed. A tall figure in a Victorian mourning dress with moths trapped beneath its veil. A man with a banker’s suit and goat hooves polished black. Two teenagers in puffer jackets bargaining over a vial of blue liquid while one kept a hand clamped over a bleeding bite on his neck. Quinn’s baton hung at her side. “This is the Veil Market.” Tomás looked at her then. Rainwater dripped from his curls onto his cheek. “You know the name.” “I know lots of names.” “Names get people killed down here.” “Then stop wasting them.” His satchel had come open during the chase. Quinn saw wrapped syringes, glass ampoules, a roll of gauze, and a small ceramic bottle stamped with a hospital label that had
been scratched
blank. “You stole from a clinic.” “I stole from a man who sells fever to children.” “That your defence?” “It’s my Tuesday.” A shriek cut across the hall. Not pain. Commerce. At the far side of the concourse, a stallholder slammed a cleaver into a chopping block, missing the fingers of a customer by a breath. “You paid in lies.” The customer lifted both hands. “They were fresh when I brought them.” “Stale lies stink.” Tomás used the distraction. He ducked into the flow of bodies. Quinn caught his jacket again. “Don’t.” He turned with his hands raised, satchel wedged under one arm. “I have a patient in the tunnels.” “You have a warrant waiting upstairs.” “Your warrant won’t keep a lung from filling with black mould.” “Who’s the patient?” His mouth tightened. A bell rang somewhere below. The market paused. Every vendor, buyer, and creature with ears turned toward a tiled passage marked with an old Northern line sign. Tomás’s face lost colour. Quinn noticed. “What was that?” “Debt bell.” “For you?” “For anyone breathing.” A voice rolled through the hall, magnified without speakers. “Token check at the north arch. Buyers without bone surrendered to the Registrar.” Quinn felt the token in her pocket. Tomás looked at the pocket too. “You’ve got one token. Yours, because you hold it. Mine, because I need it. That means one of us walks through clean.” “Convenient.” “Market rules don’t care what’s convenient.” The crowd shifted,
not panicked, but tight
. Stalls closed flaps. Coins vanished. Bottles corked themselves. The antlered woman extinguished her lanterns by pinching each coloured flame between two nails. Two Market wardens entered from the north arch. They wore dark uniforms cut like old railway staff coats, brass buttons green with age, caps pulled low. Their faces had
been covered
by
porcelain
masks painted with polite smiles. Each carried a long iron punch, the kind once used to clip train tickets, scaled up into a weapon. Tomás leaned close enough for Quinn to hear him over the market’s mutter. “If they punch your token, you leave with less than you entered with.” “What less?” He looked at her
watch
. Then at her eyes. “Depends what they fancy.” Quinn’s thumb brushed the cracked leather strap on her left wrist. The wardens moved from stall to stall. A goat-hooved banker offered a strip of bone. Punch. Snap. He passed. The boy with the teeth jars produced three tokens strung on red thread. Punch. Punch. Punch. The
porcelain
masks turned as one toward Quinn. Tomás held out his hand. “Give it to me. I know the routes.” Quinn did not move. Upstairs, behind the grille, the pale thing and its partner waited. Ahead, masked wardens checked their way through a market that should not exist. Somewhere past the north arch, Tomás had a patient, or a buyer, or an accomplice, or a corpse he meant to keep warm long enough to talk. Morris had once stood beside her under rain like this, grinning around a cigarette he never lit. You
see
a door, Harlow, you make it answer. Quinn took the bone token from her pocket and placed it against her warrant card inside her coat, pinning both beneath two fingers. Tomás watched her. “You’re making a mistake.” She slipped the baton back into its holder and freed her other hand. “No. I’m making an arrest in a place that hates paperwork.” The nearest warden stopped three stalls away. Tomás breathed through his teeth. “Then follow my lead, Detective, and don’t call anything by its real job title.” Quinn stepped beside him, not behind. “You run again, I break your nose.” “You already flirted with the thing upstairs.” “Tomás.” “What?” She met the painted smile of the approaching warden. “Walk.”
created_at
"2026-04-24T21:13:44.856Z"
4/24/2026, 9:13:44 PM
model
"openai/gpt-5.5-20260423"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
8322
moderation_latency
(null)
generation_time
105955
tokens_prompt
1140
tokens_completion
4805
native_tokens_prompt
984
native_tokens_completion
4137
native_tokens_completion_images
0
native_tokens_reasoning
328
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
"completed"
usage
0.12903
router
(null)
provider_responses
0
endpoint_id
"58e5b336-423e-430b-a2ab-8bc353f0c51b"
id
"resp_01ab291da2dff7680169ebdd08f7e08196bcdd6d6f04317c42"
is_byok
false
latency
289
model_permaslug
"openai/gpt-5.5-20260423"
provider_name
"OpenAI"
status
200
user_agent
"langchainjs-openai/1.0.0 ((node/v24.14.1; linux; x64))"
http_referer
(null)
request_id
"req-1777065224-DbLuZvh24TE191UssJuz"
session_id
(null)
api_type
"completions"
id
"gen-1777065224-GoM3W90Fjj5h5DouAgyu"
upstream_id
"resp_01ab291da2dff7680169ebdd08f7e08196bcdd6d6f04317c42"
total_cost
0.12903
cache_discount
(null)
upstream_inference_cost
0
provider_name
"OpenAI"
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
100.00%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
2897
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)
84.47%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
2897
totalAiIsms
9
found
0
word
"churned"
count
1
1
word
"warmth"
count
1
2
word
"structure"
count
1
3
word
"fluttered"
count
1
4
word
"etched"
count
1
5
word
"grave"
count
1
6
word
"scanned"
count
1
7
word
"porcelain"
count
2
highlights
0
"churned"
1
"warmth"
2
"structure"
3
"fluttered"
4
"etched"
5
"grave"
6
"scanned"
7
"porcelain"
100.00%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
1
maxInWindow
1
found
0
label
"eyes widened/narrowed"
count
1
highlights
0
"eyes widened"
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
291
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
3
hedgeCount
0
narrationSentences
291
filterMatches
0
"watch"
1
"see"
hedgeMatches
(empty)
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
373
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
repeatedSegmentCount
0
maxSentenceWordsSeen
43
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
2897
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
4
unquotedAttributions
0
matches
(empty)
50.00%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
135
wordCount
2468
uniqueNames
29
maxNameDensity
1.94
worstName
"Quinn"
maxWindowNameDensity
3.5
worstWindowName
"Quinn"
discoveredNames
Raven
3
Nest
2
Harlow
2
Quinn
48
Friday-night
1
Tomás
33
Herrera
1
Spaniard
1
Christopher
1
Dean
1
Street
1
Soho
3
Audi
1
London
1
Camden
2
Tube
1
Road
1
Morris
2
St
1
Pancras
1
Spanish
1
Victorian
1
Northern
1
Market
1
Rain
6
One
5
Sleeves
4
Umbrella
5
Punch
4
persons
0
"Raven"
1
"Nest"
2
"Harlow"
3
"Quinn"
4
"Tomás"
5
"Herrera"
6
"Spaniard"
7
"Christopher"
8
"Morris"
9
"Market"
10
"Rain"
11
"Sleeves"
12
"Umbrella"
places
0
"Dean"
1
"Street"
2
"Soho"
3
"London"
4
"Camden"
5
"Road"
6
"St"
7
"Pancras"
8
"Spanish"
globalScore
0.528
windowScore
0.5
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
170
glossingSentenceCount
2
matches
0
"something close to it, polished smooth and warm"
1
"not quite a coin, not quite a token"
2
"not quite a token"
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
1
per1kWords
0.345
wordCount
2897
matches
0
"not panicked, but tight"
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
0
totalSentences
373
matches
(empty)
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
232
mean
12.49
std
14.31
cv
1.146
sampleLengths
0
20
1
65
2
7
3
25
4
15
5
2
6
16
7
3
8
9
9
52
10
9
11
25
12
13
13
1
14
13
15
17
16
8
17
9
18
5
19
3
20
3
21
34
22
2
23
26
24
5
25
4
26
39
27
1
28
8
29
3
30
5
31
51
32
25
33
38
34
1
35
3
36
6
37
26
38
10
39
45
40
12
41
6
42
6
43
10
44
60
45
4
46
22
47
5
48
3
49
1
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
3
totalSentences
291
matches
0
"been burned"
1
"been scratched"
2
"been covered"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
423
matches
(empty)
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
0
semicolonCount
0
flaggedSentences
0
totalSentences
373
ratio
0
matches
(empty)
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
2481
adjectiveStacks
0
stackExamples
(empty)
adverbCount
59
adverbRatio
0.0237807335751713
lyAdverbCount
1
lyAdverbRatio
0.00040306328093510683
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
373
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
373
mean
7.77
std
6.14
cv
0.79
sampleLengths
0
20
1
23
2
42
3
6
4
1
5
25
6
3
7
3
8
9
9
2
10
9
11
7
12
3
13
9
14
8
15
19
16
5
17
20
18
9
19
7
20
2
21
6
22
10
23
8
24
3
25
2
26
1
27
6
28
7
29
17
30
8
31
9
32
5
33
3
34
3
35
15
36
5
37
14
38
2
39
14
40
2
41
2
42
8
43
5
44
4
45
7
46
17
47
7
48
8
49
1
51.16%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
18
diversityRatio
0.33602150537634407
totalSentences
372
uniqueOpeners
125
52.91%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
4
totalSentences
252
matches
0
"Somewhere under the city, voices"
1
"Almost human faces."
2
"Then at her eyes."
3
"Somewhere past the north arch,"
ratio
0.016
100.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
48
totalSentences
252
matches
0
"She showed him her warrant"
1
"His short dark curls shone"
2
"He glanced toward the bookshelf"
3
"He stepped left."
4
"He slammed his shoulder into"
5
"Her palm hit old wood"
6
"She plunged down three steps"
7
"Her knee clipped a keg."
8
"She saw the scar along"
9
"He moved like a man"
10
"She keyed her radio."
11
"She tried again."
12
"He crossed the slick paving"
13
"She landed in a puddle"
14
"His satchel bounced against his"
15
"She caught the strap of"
16
"He drove an elbow back."
17
"It glanced off her cheekbone."
18
"They slammed into the betting"
19
"He stamped on her boot,"
ratio
0.19
43.33%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
210
totalSentences
252
matches
0
"The green neon above The"
1
"Detective Harlow Quinn stood under"
2
"Soho churned around her in"
3
"Quinn checked her worn leather"
4
"Quinn crossed the road before"
5
"A cab horn blared at"
6
"She showed him her warrant"
7
"The Raven’s Nest door gave"
8
"Warmth rolled over her, dense"
9
"Tomás had reached the far"
10
"His short dark curls shone"
11
"Saint Christopher medallion at his"
12
"He glanced toward the bookshelf"
13
"Quinn lifted two fingers from"
14
"The chatter near the bar"
15
"A glass stopped halfway to"
16
"Tomás turned, and his warm"
17
"He stepped left."
18
"Quinn stepped right."
19
"A broad man in a"
ratio
0.833
0.00%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
0
totalSentences
252
matches
(empty)
ratio
0
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
96
technicalSentenceCount
4
matches
0
"He moved like a man who knew every back vein of the city, every service alley and blind corner."
1
"Three years of sealed files, missing CCTV, witnesses who forgot their own names, and a final radio transmission that still woke her at 03:00."
2
"Heat pressed against her face, damp and mineral-rich, laced with incense, frying meat, ozone, and a sweet rot that curled behind her tongue."
3
"A butcher in a bloodless apron carved translucent strips from a slab that twitched each time the knife fell."
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
89.3958%