NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-03-09-01KKAC08HS59BX1NMGV4K4147A
Run Details
Model:
GPT-5.4 (Reasoning, Low)
Test:
Bad Writing Habits
Scenario:
Mystery: examining a crime scene
Duration:
1m 9s
Cost:
$0.054387
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
100.00%
AI-ism adverb frequency
(details)
60.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
78.49%
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)
66.67%
Name drop frequency
(details)
100.00%
Narrator intent-glossing
(details)
100.00%
"Not X but Y" pattern overuse
(details)
100.00%
Overuse of "that" (subordinate clause padding)
(details)
100.00%
Paragraph length variance
(details)
99.97%
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)
66.79%
Sentence opener variety
(details)
42.46%
Adverb-first sentence starts
(details)
100.00%
Pronoun-first sentence starts
(details)
100.00%
Subject-first sentence starts
(details)
63.69%
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)
92.6026%
Overall
Model input
System
You are an expert and award-winning novel writer in the dark Mystery genre. Your readers are hooked on your stories and can't wait to read the book you have in store. <important> - MUST: Start each chapter in medias res (in the middle of action). AVOID talking about the weather, time of day, the position of the sun, or other boring stuff. - The instructions/summary are just a that, a summary. Feel free to add details, stretch sections and add interesting transitions/descriptions/fillers. - When called for it, have fast-paced action, but otherwise take things slow. This is an experience, and not for people with short attention spans. Enjoy the wine, not slurp Red Bull. - Add descriptions when transitioning places/times/etc, or when coming by new places (e.g. a corner shop, a cafe, etc.). But remember: NOT at the start or end of a chapter. - MUST: AVOID ending in internal monologue, reminiscing or waiting for the next day. A good chapter end is when we're ending right when shit hits the fan. We want to have the reader be excited for what comes next. So no reminiscing, contemplating or summarizing the day. It's popcorn time! </important>
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> <proseGuidelines> <styleGuide> - Write in past tense and use British English spelling and grammar - Keep a Flesch reading ease score of 60 - Respect the the Royal Order of Adjectives: The order is: opinion, size, age, shape, color, origin, material, purpose, followed by the noun itself (e.g., "a lovely little old rectangular green French silver whittling knife") - Respect the ablaut reduplication rule (e.g. tick-tock, flip-flop) - Write in active voice - Passive voice: <bad>The book was read by Sarah.</bad> - Active voice: <good>Sarah read the book.</good> - Reduce the use of passive verbs - <bad>For a moment, I was tempted to throw in the towel.</bad> - <good>For a moment, I felt tempted to throw in the towel.</good> - Avoid misplaced modifiers that can cause confusion when starting with "-ing" words: - <bad>Considering going to the store, the empty fridge reflected in Betty's eyes.</bad> - <good>Betty stared into the empty fridge. It was time to go to the store.</good> - Avoid redundant adverbs that state the obvious meaning already contained in the verb: - <bad>She whispered quietly to her mom.</bad> - <good>She whispered to her mom.</good> - Use stronger, more descriptive verbs over weak ones: - <bad>Daniel drove quickly to his mother's house.</bad> - <good>Daniel raced to his mother's house.</good> - Omit adverbs that don't add solid meaning like "extremely", "definitely", "truly", "very", "really": - <bad>The movie was extremely boring.</bad> - <good>The movie was dull.</good> - Use adverbs to replace clunky phrasing when they increase clarity: - <bad>He threw the bags into the corner in a rough manner.</bad> - <good>He threw the bags into the corner roughly.</good> - Avoid making simple thoughts needlessly complex: - <bad>After I woke up in the morning the other day, I went downstairs, turned on the stove, and made myself a very good omelet.</bad> - <good>I cooked a delicious omelet for breakfast yesterday morning.</good> - Never backload sentences by putting the main idea at the end: - <bad>I decided not to wear too many layers because it's really hot outside.</bad> - <good>It's sweltering outside today, so I dressed light.</good> - Omit nonessential details that don't contribute to the core meaning: - <bad>It doesn't matter what kind of coffee I buy, where it's from, or if it's organic or not—I need to have cream because I really don't like how the bitterness makes me feel.</bad> - <good>I add cream to my coffee because the bitter taste makes me feel unwell.</good> - Always follow the "show, don't tell" principle. For instance: - Telling: <bad>Michael was terribly afraid of the dark.</bad> - Showing: <good>Michael tensed as his mother switched off the light and left the room.</good>- Telling: <bad>I walked through the forest. It was already Fall, and I was getting cold.</bad> - Showing: <good>Dry orange leaves crunched under my feet. I pulled my coat's collar up and rubbed my hands together.</good>- Add sensory details (sight, smell, taste, sound, touch) to support the "showing" (but keep an active voice) - <bad>The room was filled with the scent of copper.</bad> - <good>Copper stung my nostrils. Blood. Recent.</good> - Use descriptive language more sporadically. While vivid descriptions are engaging, human writers often use them in bursts rather than consistently throughout a piece. When adding them, make them count! Like when we transition from one location to the next, or someone is reminiscing their past, or explaining a concept/their dream... - Avoid adverbs and clichés and overused/commonly used phrases. Aim for fresh and original descriptions. - Avoid writing all sentences in the typical subject, verb, object structure. Mix short, punchy sentences with long, descriptive ones. Drop fill words to add variety. Like so: <good>Locked. Seems like someone doesn't want his secrets exposed. I can work with that.</good> - Convey events and story through dialogue. It is important to keep a unique voice for every character and make it consistent. - Write dialogue that reveals characters' personalities, motivations, emotions, and attitudes in an interesting and compelling manner - Leave dialogue unattributed. If needed, only use "he/she said" dialogue tags and convey people's actions or face expressions through their speech. Dialogue always is standalone, never part of a paragraph. Like so: - <bad>"I don't know," Helena said nonchalantly, shrugging her shoulders</bad> - <good>"No idea" "Why not? It was your responsibility"</good> - Avoid boring and mushy dialog and descriptions, have dialogue always continue the action, never stall or include unnecessary fluff. Vary the descriptions to not repeat yourself. Avoid conversations that are just "Let's go" "yes, let's" or "Are you ready?" "Yes I'm ready". Those are not interesting. Think hard about every situtation and word of text before writing dialogue. If it doesn't serve a purpose and it's just people talking about their day, leave it. No one wants to have a normal dinner scene, something needs to happen for it to be in the story. Words are expensive to print, so make sure they count! - Put dialogue on its own paragraph to separate scene and action. - Use body language to reveal hidden feelings and implied accusations- Imply feelings and thoughts, never state them directly - NEVER use indicators of uncertainty like "trying" or "maybe" - NEVER use em-dashes, use commas for asides instead </styleGuide> <voiceGuide> Each character in the story needs to have distinct speech patterns: - Word choice preferences - Sentence length tendencies - Cultural/educational influences - Verbal tics and catchphrases Learn how each person talks and continue in their style, and use their Codex entries as reference. <examples> - <bad>"We need to go now." "Yes, we should leave." "I agree."</bad> <good>"Time's up." "Indeed, our departure is rather overdue." "Whatever, let's bounce."</good> - Power Dynamic Example: <bad> "We need to discuss the contract." "Yes, let's talk about it." "I have concerns." </bad> <good> "A word about the contract." "Of course, Mr. Blackwood. Whatever you need." "The terms seem..." A manicured nail tapped the desk. "Inadequate." "I can explain every-" "Can you?" </good> </examples> </voiceGuide> <dialogueFlow> When writing dialogue, consider that it usually has a goal in mind, which gives it a certain flow. Make dialogue sections also quite snappy in the back and forth, and don't spread the lines out as much. It's good to have details before, after, or as a chunk in-between, but we don't want to have a trail of "dialogue breadcrumbs" spread throughout a conversation. <examples> - Pattern 1 - Question/Deflection/Revelation: <good> "Where were you last night?" "Work. The usual." "Lipstick's an interesting shade for spreadsheets." </good> - Pattern 2 - Statement/Contradiction/Escalation: <good> "Your brother's clean." "Tommy doesn't touch drugs." "I'm holding his tox screen." </good> - Pattern 3 - Observation/Denial/Truth: <good> "That's a new watch." "Birthday gift." "We both know what birthdays mean in this business." </good> - Example - A Simple Coffee Order: <bad> "I'll have a coffee." "What size?" "Large, please." </bad> <good> "Black coffee.""Size?""Large. Been a long night." "That bodega shooting?" "You watch too much news." "My brother owns that store." </good> This short exchange: - Advances plot (reveals connection to crime) - Shows character (cop working late) - Creates tension (unexpected connection) - Sets up future conflict (personal stake) - Example - Dinner Scene: <bad> "Pass the salt." "Here you go." "Thanks." </bad> <good> "Salt?" "Perfect as is. Mother's recipe." "Mother always did prefer... bland things." "Unlike your first wife?" </good> - Example - Office Small Talk: <bad> "Nice weather today." "Yes, very nice." "Good for golf." </bad> <good> "Perfect golf weather." "Shame about your membership." "Temporary suspension. Board meets next week." "I know. I called the vote." </good> </examples> </dialogueFlow> <subtextGuide> - Layer dialogue with hidden meaning: <bad>"I hate you!" she yelled angrily.</bad> <good>"I made your favorite dinner." The burnt pot sat accusingly on the stove.</good> - Create tension through indirect communication: <bad>"Are you cheating on me?"</bad> <good>"Late meeting again?" The lipstick stain on his collar caught the light.</good> <examples> - Example 1 - Unspoken Betrayal: <bad> "Did you tell them about our plans?" "No, I would never betray you." "I don't believe you." </bad> <good> "Funny. Johnson mentioned our expansion plans today." "The market's full of rumors." "Mentioned the exact numbers, actually." The pen in his hand snapped. </good> - Example 2 - Failed Marriage: <bad> "You're never home anymore." "I have to work late." "I miss you." </bad> <good> "Your dinner's in the microwave. Again." "Meetings ran long." "They always do." She folded the same shirt for the third time. </good> - Example 3 - Power Struggle: <bad> "You can't fire me." "I'm the boss." "I'll fight this." </bad> <good> "That's my father's nameplate you're sitting behind." "Was." "The board meeting's on Thursday." </good> </examples> </subtextGuide> <sceneDetail> While writing dialogue makes things more fun, sometimes we need to add detail to not have it be a full on theatre piece. <examples> - Example A (Power Dynamic Scene) <good> "Where's my money?" The ledger snapped shut. "I need more time." "Interesting." He pulled out a familiar gold pocket watch. My mother's. "Time is exactly what you bargained with last month." "That was different-" "Was it?" The watch dangled between us. "Four generations of O'Reillys have wound this every night. Your mother. Your grandmother. Your great-grandmother.Shall we see who winds it next?" </good> - Example B (Action Chase) It's much better to be in the head of the character experiencing it, showing a bit of their though-process, mannerisms and personality: <good> Three rules for surviving a goblin chase in Covent Garden: Don't run straight. Don't look back. Don't let them herd you underground. I broke the first rule at Drury Lane. Rookie mistake. The fruit cart I dodged sailed into the wall behind me. Glass shattered. Someone screamed about insurance. *Tourist season's getting rough*, the scream seemed to say. Londoners adapt fast. "Oi! Market's closed!" The goblin's accent was pure East End. They're evolving. Learning. I spotted the Warren Street tube station sign ahead. *Shit.* There went rule three. </good> - Example C (Crime Scene Investigation) <good> "Greek." Davies snapped photos of the symbols. "No, wait. Reverse Greek." "Someone's been watching too many horror films." I picked up a receipt from the floor. Occult supply shop in Camden. Paid by credit card. *Amateur hour*. "Could be dangerous though," Davies said. "Remember Bristol?" "Bristol was Sanskrit. And actual cultists." I pointed to the nearest symbol. "This genius wrote 'darkness' backwards but used a Sigma instead of an S. It's summoning Instagram followers at best." "Speaking of followers..." Davies pointed to heavy foot traffic in the dust. Multiple sets. All new trainers. *Ah.* "Anyone check local uni paranormal societies?" </good> - Example D (Dialogue-heavy) <good> "Found your card in her wallet." The detective slid it across the table. Worn edges. Folded corner. Three years old at least. "Standard practice. I work missing persons." "Funny thing about missing persons.Eventually they stop being missing. Turn up in the Thames. Under motorways. In pieces." "I don't-" "You found four last year. All breathing." She opened a file. "This would've been your first dead one. If we hadn't found her first." The card felt heavier somehow. </good> </examples> </sceneDetail> <sceneOpenings> KEY RULE: Never open with more than one paragraph of description, no matter how beautiful. Description should be earned through action and dialogue. Instead of opening with setting description, open with: - A character doing something specific - A line of dialogue that raises questions - An unexpected observation - A moment of tension or conflict - Start with a hook that's 1-2 sentences maximum - Follow with a smaller paragraph that provides immediate context - Vary paragraph size from the start to create visual interest </sceneOpenings> </proseGuidelines> Write a chapter based on 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
“Hold that light still.”
Detective Harlow Quinn ducked under
the striped tape and stepped off the cracked platform edge before the constable could warn her about the drop.
Her boot found old ballast
instead of open track.
Dust puffed up round her
trouser leg. Below the sour stink of damp brick and engine grease lay a sharper note that caught at the back of her throat. Copper. Blood. Fresh enough.
The abandoned station beneath Camden
looked wrong even before she reached the body. Old enamel signs clung to the tiled walls in broken strips. A map case hung empty, its glass starred with old impact lines.
The tunnel mouth beyond the
platform swallowed the torch beams and gave nothing back. Yet someone had arranged candles on the platform in a neat half-circle, each one burnt down to a white stub.
Their wax had pooled across
the grime in creamy petals. Not kids. Not random vandals. Too deliberate. DI Rowan Bell stood by a pillar with his hands in his coat pockets, broad shoulders hunched, tie loosened.
He had the sort of
face that trusted easy answers because they kept the paperwork tidy.
A forensic photographer crouched near
the corpse, camera clicking in sharp bursts that bounced off the tiles.
Bell gave Quinn a look
that mixed relief with annoyance. “Thought you’d gone home.” “You rang twice.” “That usually means I don’t want voicemail.”
Quinn’s brown eyes skimmed the
platform, counting exits, shadows, people. Two uniforms near the stairs. One SOCO bag open by a bench. No sign of a struggle on first glance.
Her left wrist caught the
torchlight, the worn leather strap of her
watch
dark against pale skin. “Who found him?” “Urban explorers.”
Bell tipped his chin towards
the stairs. “Pair of lads filming for the internet. They came in through a service hatch, saw the body, screamed for once in their lives and called it in.” “Him?” “That’s the odd bit.” Bell stepped aside.
The body lay on its
back between the rails. Male, late twenties, dark hair plastered to his forehead with sweat and blood.
He wore an expensive charcoal
overcoat over a T-shirt and black jeans, clothes too clean for a place layered in years of dirt.
A deep wound cut across
his throat, but there was less blood on the ballast than there should have been.
His right hand clenched round
a small brass object greened with verdigris. Quinn crouched. Her knees cracked. She ignored it. The object in the dead man’s hand was a compass, old brass, palm-sized. Sigils had
been etched
around the face in a ring so fine most people would miss them. The needle did not point north.
It trembled, then fixed itself
towards the black tunnel. Bell saw where she looked. “Fancy trinket. Could be from Camden Market. Goth rubbish.” Quinn did not answer.
She leaned closer to the
corpse instead. Blood had dried along the collar in a dark stiff band, but the skin around the wound looked cleaner than the shirt beneath it.
As if someone had cut
him somewhere else, then laid him here and touched up the scene after. “Pathologist give you a window?” “Not yet.
Patel
says two hours, give or take.” “
Patel
’s here?” “Under the platform.” Bell pointed with two fingers. “Found trace under the lip.” Quinn rose and moved to the edge. DS Aisha
Patel
crouched below with a pen torch between her teeth, one gloved hand sweeping the underside of the platform.
She climbed back up with
careful footing, small and wiry, dark curls escaping her hood. “Please tell me you brought coffee.” “Please tell me you brought a better theory than Rowan.”
Patel
snorted and pulled the torch from her mouth. “He says cult. I say theatre kids with a knife.” “Cheers.” “Nothing personal,”
Patel
said. “Your murder scene has personality. That’s always irritating.”
She held up a swab
packet and a clear evidence tube. Inside lay three black grains. Quinn frowned. “What am I looking at?” “Burnt bone. Human, by the smell of it.” Bell folded his arms. “You can smell species now?” “I work with you. My standards have slipped.”
Patel
nodded towards the candles. “Bone ash mixed into the wax. Nasty touch. Whoever set this up wanted an audience.” Quinn let her gaze travel again, slower this time. The station had the stale feel of a sealed crypt. Dust thickened every ledge. Soot clung to the tunnel tiles.
Even the old posters on
the far wall, curled and rotting, wore a skin of neglect. Yet the dead man’s polished shoes gleamed apart from a single scuff on the left toe. No dust on the soles either. Carried in, not walked.
She moved to the nearest
rail and touched two fingers to the steel. Cold. Dry. No smear, no handprint.
Her eyes tracked back to
the body’s shoulders. “Help me with this.” Bell blinked. “You want me to roll the corpse before SOCO finishes?” “I want you to look.” She pointed. The ballast under the man’s shoulders had settled into two shallow hollows. Beneath his hips, the stones still sat sharp and high. “Heavier upper body?” Bell offered. “He wasn’t dropped flat. Someone lowered his shoulders first, then eased the rest. Two people at least, unless one had all night.”
Patel
crouched beside her. “And no drag marks. Not from the stairs, not along the track.” “Exactly.” Bell frowned at the platform. “So they carried him.” “From where?” Bell spread his hands. “Down the stairs.” Quinn looked at the dust instead of him. The stairs were thick with old grime except for the fresh police prints and the criss-crossed tracks of the two lads who had found the body. No double set of deep impressions. No signs of a heavy load brought down after the dust settled in recent months. She stood. “No one carried a bleeding body down those stairs.”
Patel
tucked a loose curl behind her ear and studied the floor. “You think he died here?” “No.” Quinn pointed at the wound. “Too little blood. But he arrived here another way.” Bell gave a tired laugh. “What, lowered through the roof? We’re under Camden, Harlow, not in a locked-room puzzle from the thirties.”
She ignored the jab and
walked the platform length.
Her military-straight posture made the
station seem narrower.
She paused by a service
door at the far end, half-hidden behind an old advertisement panel. Rust furred the padlock. The metal had not moved in years.
She turned back to the
body. The compass needle still
quivered
towards the tunnel. “Who searched him?” “One wallet, one phone, no keys,” Bell said. “ID says
Marcus
Vale, works in finance. Canary Wharf type.” “Any reason a Canary Wharf type came down here with a sigilled brass compass in his fist?” “Drug buy. Thrill-seeking. Secret lover. Take your pick.” Quinn crouched again and prised open the dead man’s left hand. Fine grey dust clung to his fingertips, packed under the nails. Not ballast. Finer than that.
She rubbed a pinch between
glove and thumb. Ash again. But there was something else. The ring finger bore a pale groove where a ring had sat for years. Recently removed. Not taken in a mugging, the wallet still sat in his pocket. Taken with care, or by someone who knew it mattered.
Patel
watched her. “Wedding band?” “Looks like it.” “Wife says he was working late, perhaps.” “Or someone wanted it gone.” Bell shifted his
weight
. “You’re building a grand conspiracy from a missing ring and some candles.” Quinn rose and went to the platform edge nearest the tunnel. She listened. Most people thought
silence
meant the absence of sound. Underground,
silence
had texture. Drips. Distant settling brick. The hiss of a constable’s radio. The soft
mechanical
tick-tick of
Patel
’s recorder. And underneath it, low and intermittent, a faint tapping from within the tunnel. Three beats. Pause. Two beats. Pause. Three again. Not water. Not masonry. Someone, or something, striking metal. “Did anyone clear the tunnel?” Bell’s
eyes narrowed
. “Half a hundred yards. It’s blocked by a cave-in.” “Who checked it?” “Uniforms. Why?” Quinn held out her hand.
Patel
gave her the pen torch without question. Quinn hopped down onto the tracks and moved past the body. Gravel shifted underfoot. The air cooled at once, the old darkness tightening round her. The beam cut along the curved wall, over cables petrified with dust, over a rat skull, over chalk marks on the tunnel brick. She stopped. The marks were not chalk. White lines had
been scratched
into the wall in a pattern of loops and bars, some fresh enough to expose red brick beneath old soot. Not random, not gang marks. A circle broken by seven inward strokes. At chest height.
Patel
came down after her. “Oh, that’s cheerful.” Bell stayed on the platform. “What is it?” Quinn did not answer at once. On the ground beneath the symbol lay a scatter of blackened fragments, each one no larger than a fingernail. Burnt bone. Mixed with wax. Deliberate, again. Her torch moved lower. She found the footprint almost hidden in the grit, a small tread, sharp-edged, not police issue. Beside it lay a token the size of a two-pound coin, carved from pale bone and drilled through the centre. A string token, perhaps once worn round the neck. She did not touch it yet. Bell jumped down at last, muttering when his shoe slid on ballast. “Go on, enlighten us.” Quinn pointed with the torch. “One set of fresh prints past the body. Small foot. Light step. Whoever staged the platform came out of the tunnel after placing him.” Bell stared at the blocked dark ahead. “The tunnel’s sealed.” “No.” Quinn swung the beam to the wall. “It only looks sealed from the station side.”
Patel
crouched by the token, careful not to break the print. “You know what this is.” Quinn’s jaw tightened. Three years ago, Morris had died in a room with no door forced and no way in or out except a window painted shut. He had clutched a splinter of carved bone when they pulled him from the floor. Everyone had filed it under debris. She had not. “Yes,” she said. Bell heard the change in her voice and bristled. “If this is one of your fringe theories, spare me. We’ve got enough nonsense from social media ghouls already.”
Patel
looked up. “Rowan, if you’d like a normal murder, go find a pub stabbing. This one came with accessories.” Quinn finally picked up the token. It felt warmer than bone should feel in the
chill
tunnel. One side bore a scored line like a lidless eye. The other had
been rubbed
smooth by handling. “Bag this separately,” she said.
Patel
held out an evidence pouch. Bell did not move. “Why separate?” “Because it isn’t jewellery.” “What is it then?” Quinn slipped the token into the pouch and stood. The compass in the dead man’s hand had pointed here for a reason. Bone token. Burnt bone in the candles. A body moved in without leaving a route. A symbol cut into the tunnel wall. Fragments of a pattern she had spent three years refusing to name. “A key,” she said. Bell scoffed. “To what?” The tapping came again, louder now. Three beats. Pause. Two. Pause.
Then a long scrape, metal
over brick, from beyond the cave-in.
Patel
’s head snapped towards the darkness. “That blockage, how solid was it?” “One of the uniforms said full collapse.” “You trust uniform tunnel expertise?” “No,”
Patel
said, “I trust my hearing.” Quinn took the brass compass from
Marcus
Vale’s stiffening hand. The needle spun once, then locked dead ahead, straight at the wall of rubble. The
etched
sigils on the face
seemed to
catch the torchlight and hold it. Bell saw that and lost some colour. “What the hell is that doing?”
Before Quinn could answer, dust
sifted down from the tunnel arch. A stone clattered from the top of the supposed cave-in and bounced between the rails. Then another. Deep inside the blockage, something shoved outward with blunt force. A gap opened no wider than a fist. Cold air rushed through it, rank with smoke and rot. Through the crack, a hand reached into the torchlight, grey with ash, fingers spread, nails black to the quick. “Back,” Quinn barked. The hand seized the rail and hauled. Bricks burst from the cave-in. Bone-white candle smoke billowed through the gap, and a second arm lunged after the first as the wall
began to
come apart.
created_at
"2026-03-09T22:38:07.433Z"
3/9/2026, 10:38:07 PM
model
"openai/gpt-5.4-20260305"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
8940
moderation_latency
(null)
generation_time
69355
tokens_prompt
4671
tokens_completion
3640
native_tokens_prompt
4157
native_tokens_completion
2933
native_tokens_completion_images
0
native_tokens_reasoning
220
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.0543875
router
(null)
provider_responses
0
endpoint_id
"9ff5625c-403f-4d7f-b895-58ac7295062c"
id
"resp_04486df9b9724a150169af4bcf86dc8193b3bc926e509c66fa"
is_byok
false
latency
248
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-1773095887-d4jkfNkvgpvE2Gp7mi6r"
upstream_id
"resp_04486df9b9724a150169af4bcf86dc8193b3bc926e509c66fa"
total_cost
0.0543875
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
12
adverbTagCount
0
adverbTags
(empty)
dialogueSentences
78
tagDensity
0.154
leniency
0.308
rawRatio
0
effectiveRatio
0
100.00%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
2092
totalAiIsmAdverbs
0
found
(empty)
highlights
(empty)
60.00%
AI-ism character names
Target: 0 AI-default names (17 tracked, −20% each)
codexExemptions
(empty)
found
0
"Marcus"
1
"Patel"
100.00%
AI-ism location names
Target: 0 AI-default location names (33 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
78.49%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
2092
totalAiIsms
9
found
0
word
"etched"
count
2
1
word
"trembled"
count
1
2
word
"quivered"
count
1
3
word
"weight"
count
1
4
word
"silence"
count
2
5
word
"mechanical"
count
1
6
word
"chill"
count
1
highlights
0
"etched"
1
"trembled"
2
"quivered"
3
"weight"
4
"silence"
5
"mechanical"
6
"chill"
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 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
2
narrationSentences
199
filterMatches
0
"watch"
hedgeMatches
0
"seemed to"
1
"began to"
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
265
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
maxSentenceWordsSeen
27
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
2092
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
15
unquotedAttributions
0
matches
(empty)
66.67%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
78
wordCount
1592
uniqueNames
13
maxNameDensity
1.44
worstName
"Quinn"
maxWindowNameDensity
3
worstWindowName
"Bell"
discoveredNames
Harlow
1
Quinn
23
Camden
1
Rowan
1
Bell
22
Aisha
1
Patel
15
Morris
1
Marcus
1
Vale
1
Two
3
Three
4
Pause
4
persons
0
"Harlow"
1
"Quinn"
2
"Camden"
3
"Rowan"
4
"Bell"
5
"Aisha"
6
"Patel"
7
"Morris"
8
"Marcus"
9
"Vale"
places
0
"Two"
globalScore
0.778
windowScore
0.667
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
113
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
2092
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
0
totalSentences
265
matches
(empty)
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
136
mean
15.38
std
17.55
cv
1.141
sampleLengths
0
4
1
62
2
4
3
80
4
7
5
52
6
10
7
4
8
3
9
7
10
47
11
3
12
36
13
1
14
4
15
3
16
77
17
8
18
45
19
5
20
9
21
53
22
5
23
9
24
2
25
13
26
43
27
6
28
10
29
9
30
10
31
1
32
12
33
16
34
7
35
8
36
9
37
8
38
5
39
15
40
61
41
10
42
27
43
4
44
12
45
5
46
24
47
5
48
22
49
4
99.97%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
3
totalSentences
199
matches
0
"been etched"
1
"been scratched"
2
"been rubbed"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
266
matches
(empty)
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
0
semicolonCount
0
flaggedSentences
0
totalSentences
265
ratio
0
matches
(empty)
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1604
adjectiveStacks
0
stackExamples
(empty)
adverbCount
44
adverbRatio
0.02743142144638404
lyAdverbCount
2
lyAdverbRatio
0.0012468827930174563
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
265
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
265
mean
7.89
std
5.8
cv
0.734
sampleLengths
0
4
1
24
2
9
3
7
4
22
5
1
6
1
7
2
8
13
9
11
10
12
11
14
12
20
13
10
14
2
15
3
16
2
17
19
18
16
19
17
20
10
21
4
22
3
23
7
24
10
25
5
26
7
27
8
28
17
29
3
30
9
31
27
32
1
33
4
34
3
35
9
36
13
37
23
38
20
39
12
40
2
41
3
42
3
43
13
44
17
45
6
46
9
47
5
48
9
49
4
66.79%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
8
diversityRatio
0.4188679245283019
totalSentences
265
uniqueOpeners
111
42.46%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
2
totalSentences
157
matches
0
"Even the old posters on"
1
"Then a long scrape, metal"
ratio
0.013
100.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
25
totalSentences
157
matches
0
"Her boot found old ballast"
1
"Their wax had pooled across"
2
"He had the sort of"
3
"Her left wrist caught the"
4
"He wore an expensive charcoal"
5
"His right hand clenched round"
6
"Her knees cracked."
7
"She ignored it."
8
"It trembled, then fixed itself"
9
"She leaned closer to the"
10
"She climbed back up with"
11
"She held up a swab"
12
"She moved to the nearest"
13
"Her eyes tracked back to"
14
"She ignored the jab and"
15
"Her military-straight posture made the"
16
"She paused by a service"
17
"She turned back to the"
18
"She rubbed a pinch between"
19
"Her torch moved lower."
ratio
0.159
100.00%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
113
totalSentences
157
matches
0
"Detective Harlow Quinn ducked under"
1
"Her boot found old ballast"
2
"Dust puffed up round her"
3
"The abandoned station beneath Camden"
4
"A map case hung empty,"
5
"The tunnel mouth beyond the"
6
"Their wax had pooled across"
7
"He had the sort of"
8
"A forensic photographer crouched near"
9
"Bell gave Quinn a look"
10
"Quinn’s brown eyes skimmed the"
11
"Her left wrist caught the"
12
"Bell tipped his chin towards"
13
"Bell stepped aside."
14
"The body lay on its"
15
"He wore an expensive charcoal"
16
"A deep wound cut across"
17
"His right hand clenched round"
18
"Her knees cracked."
19
"She ignored it."
ratio
0.72
63.69%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
2
totalSentences
157
matches
0
"As if someone had cut"
1
"Before Quinn could answer, dust"
ratio
0.013
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
67
technicalSentenceCount
2
matches
0
"Below the sour stink of damp brick and engine grease lay a sharper note that caught at the back of her throat."
1
"The stairs were thick with old grime except for the fresh police prints and the criss-crossed tracks of the two lads who had found the body."
100.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
12
uselessAdditionCount
0
matches
(empty)
100.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
7
fancyCount
1
fancyTags
0
"Quinn barked (bark)"
dialogueSentences
78
tagDensity
0.09
leniency
0.179
rawRatio
0.143
effectiveRatio
0.026
92.6026%