NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-03-18-01KM07XFQVXW5N9YKG8CSPVYZZ
Run Details
Model:
GPT-5.4 Nano (Reasoning)
Test:
Bad Writing Habits
Scenario:
Literary fiction: old friends reunite
Duration:
28.5s
Cost:
$0.005804
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
93.08%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
63.08%
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)
0.00%
Name drop frequency
(details)
86.97%
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.72%
Passive voice overuse
(details)
100.00%
Past progressive (was/were + -ing) overuse
(details)
100.00%
Em-dash & semicolon overuse
(details)
92.48%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
44.14%
Sentence opener variety
(details)
100.00%
Adverb-first sentence starts
(details)
100.00%
Pronoun-first sentence starts
(details)
10.00%
Subject-first sentence starts
(details)
58.82%
Subordinate conjunction sentence starts
(details)
100.00%
Technical jargon density
(details)
25.00%
Useless dialogue additions
(details)
100.00%
Dialogue tag variety (said vs. fancy)
(details)
85.7768%
Overall
Model input
System
You are an expert and award-winning novel writer in the dark Literary Fiction 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="4412" name="Aurora Carter" aliases="Rory, Laila, Aurora, Carter, Malphora" pronouns="she/her" species="Human" storyRole="Protagonist"> <eyeColor>bright blue</eyeColor> <hair>straight shoulder-length black</hair> <height>5'6"</height> <age>25</age> <scar>small crescent-shaped scar on her left wrist from a childhood accident</scar> <description>Aurora, referred to by her friends as Rory, is cool-headed, intelligent, and known for quick out-of-the-box thinking.</description> <backstory>Born in Cardiff to an Irish barrister father (Brendan Carter) and Welsh teacher mother (Jennifer Carter née Ellis), Rory reluctantly pursued Pre-Law at Cardiff University. She fled to London at the behest of her childhood friend Eva after leaving an abusive ex named Evan. By day, Rory works part-time as a delivery person for Yu-Fei Cheung's Golden Empress restaurant. She lives in a flat above Silas' bar.</backstory> </character> <character id="4413" name="Silas Blackwood" aliases="Silas, Si, the Spymaster" pronouns="he/him" species="Human" storyRole="Mentor"> <eyeColor>hazel</eyeColor> <hair>grey-streaked auburn</hair> <height>6'1"</height> <age>58</age> <beard>neatly trimmed, matching his grey-streaked auburn hair</beard> <limp>slight limp in his left leg from an old knee injury</limp> <signetRing>silver signet ring, always worn on his right hand</signetRing> <description>Silas is a retired intelligence operative turned bar owner. He carries himself with quiet authority.</description> <backstory>Former MI6 field agent who retired after a botched operation in Prague left him with a permanent knee injury. He opened "The Raven's Nest" bar in Soho as a front for his network of contacts.</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> </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 literary fiction genre. Two old friends who haven't seen each other in years run into each other unexpectedly at a bar. One of them has changed significantly. Through their conversation and the tension between who they were and who they've become, reveal the weight of time and unspoken regret. 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
“Eva?”
The question came out like
a cough.
Aurora Carter’s hand closed on
a woman’s wrist hard enough to make the glass wobble on the bar. The woman laughed once, sharp, then blinked slow, as if she had to translate the face in front of her. “Rory,”
the woman said, and the
name landed wrong in the room, too
familiar
and too late. “Look at you. Still doing crowd control.” Aurora didn’t let go.
She leaned in so the
green neon above the entrance painted her knuckles sickly.
The woman’s eyes were the
same bright, dark-lashed Cardiff trouble, but everything else had shifted, sharpened at the edges.
Her hair had gone from
the careless cut Aurora remembered to a neat, expensive black.
A faint bruise sat under
one cheekbone like someone had pressed a thumb there and kept pressing. Behind them, the Raven’s Nest hummed with low voices, old maps on the wall, and the steady stink of beer poured too often.
A man near the jukebox
turned his head, then turned back, pretending he hadn’t heard his own name threatened.
Aurora swallowed the panic that
wanted to climb her throat. She kept her grip. “You’re not supposed to be here,” Aurora said. Eva’s smile
wavered
. “Oh, that’s what we’re doing? Policing venues? After all this time?”
Aurora released her wrist with
a reluctant scrape,
as if letting go might break the whole moment
.
Her thumb found the small
crescent scar on her left wrist, not for comfort, for proof.
She had carried that shape
through years that didn’t feel like years until they did. “You
look
like you escaped a fire,” Aurora said. “And the fire had a plan.”
Eva’s gaze flicked to the
scar. She lifted her own hand, slow, showing a pale line at her palm where skin met something tougher underneath, like she’d lost a fight and learned the map of the injury by heart. “Everything leaves a mark,” Eva said. “Some of us just get to choose where to put ours.” Aurora stared at her.
The last time she’d seen
Eva, they’d
been eighteen
, sitting on a battered staircase in Cardiff, swapping stories like contraband, pretending the future was a room you could lock from the inside. Then Evan happened. Then Aurora fled.
Then Eva stayed behind, and
Aurora never asked why. Silas appeared like a closing door.
He came through the bar’s
thick air with the quiet authority of someone who never raised his voice because he didn’t need to.
His hazel eyes landed on
Aurora, then on Eva, then stayed on Eva a beat longer than was polite. “Evening, Carter,” Silas said. Aurora didn’t
look
away from Eva. “Silas.” Silas’s signet ring flashed as his hand moved, not in greeting, in assessment. “And you are…?” Eva’s smile returned, slower this time. “Eva Ellis.” Silas’s expression tightened.
He didn’t ask how she
knew Aurora.
He didn’t ask why she’d
come to Soho.
He just stepped in closer
to the bar, enough to put himself between them without touching. “Ellis,” Silas repeated, like he tasted the syllables for poison. “You’ve been gone a long time.” Eva lifted her hands in a neat show of innocence. “I don’t keep track of ghosts. I just haunt them, when they earn it.” Aurora felt the words land in her
stomach
like a
weight
. She wanted to snap back, to cut Eva down to something safe and
familiar
, but the room refused her easy answers. The bar’s dim light made Eva’s changed face
look
both older and younger. “What do you want?” Aurora asked. Eva’s eyes went past Aurora, to the back wall. A bookshelf sat there, disguised by framed maps and an odd selection of dusty bottles. Aurora knew the bookshelf.
She knew it wasn’t just
decoration. Silas kept the Nest’s secrets behind it, the way men like him kept everything behind something. Doors, lies, rules. Eva followed Aurora’s gaze and chuckled under her breath. “You still
look
like you’re counting exits.” Aurora leaned closer. “Answer the question.” Eva’s attention returned to Aurora.
Her voice softened, just enough
to sound like care and just enough to cut. “You don’t get to ask me what I want. You left.” Silas shifted his stance. The limp in his left leg didn’t slow him, but it made his movement
look
deliberate, like he’d practised the angle of every step.
He watched Eva the way
you watched a fuse. “Aurora,” Silas said, tone flat, “keep it civil.” Aurora didn’t turn. “It is civil.” Silas’s jaw tightened. “It’s not.” Eva’s laugh died. “Oh, it’s fine. It’s always fine until it isn’t.”
She slid onto the stool
beside Aurora, not asking permission. The leather creaked.
Her knee brushed Aurora’s, too
close for comfort. “How long has it been, Rory? Two years? Three? Time does that thing, makes you think it helped.” Aurora’s fingers curled on the edge of the bar. “Four years.” Eva’s
eyes widened
, then narrowed, like she’d found a crack in a wall she’d trusted. “So you counted.” “I remembered,” Aurora corrected. “Same thing,” Eva said. “You think remembering makes you good.” Silas drew in a breath through his nose, the closest he came to annoyance. “Eva. Don’t perform.” Eva turned her head toward him. “I’m not performing. I’m arriving.” Silas’s gaze
flicked
to the strap of a bag she’d placed on the stool between them.
It looked ordinary, canvas and
worn at the corners, like it belonged to someone who carried lunches instead of secrets. Aurora noticed the small change, the way Eva’s hand stayed close to the bag’s zip. Silas didn’t speak, which meant he didn’t need to. His
silence
tightened the air. Aurora leaned in again, closer to Eva’s face. “What’s in the bag.” Eva blinked
slowly
. “You still ask questions you already know the answer to.” “Evan?” Aurora said. Eva’s smile returned with no
warmth
. “There it is.” Aurora felt heat behind her eyes. She forced it down. Anger lived there, old and disciplined, like a dog trained to bite on command. “You said you left him,” Aurora said. Eva’s brows lifted. “I did.” “And yet he keeps turning up in my life like a bad smell,” Aurora said. Eva leaned back on her stool, adopting the posture of someone who could afford to be calm. “Maybe he didn’t follow you. Maybe you carried him.” Aurora’s mouth went dry. She hated the sentence because it rang too true, because her life had
been made
of flights and shortcuts since Evan. Because even in Silas’s bar, even under the green neon sign, she couldn’t wash him off. Silas spoke then, clipped. “You came here for Carter. Not for nostalgia.” Eva looked at Silas with the kind of expression that said she used to fear men like him and now only judged them. “I came for Rory. Silas, you should know. You always liked protecting her.” Silas’s eyes hardened. “I liked keeping the Nest useful.” Aurora stood up so fast her stool scraped. A couple of patrons glanced over, then pretended they hadn’t. Her bright blue eyes locked on Eva’s bag. “Open it,” Aurora said. Eva didn’t move. “Or what?” Aurora stepped closer, close enough that she could see the small tremor in Eva’s fingers, not fear,
tension
, contained urgency. “Or I walk away and you leave me alone. I’ve spent years learning how to survive without answers.” Eva’s laugh came out brittle. “Survive without answers. That’s a nice line. Try it while he keeps your name in his mouth.” At the word he, Aurora felt something shift. Not memory, not nostalgia, something colder. The room
seemed to
narrow around her. “Who,”
Aurora asked, voice low
. Eva’s eyes
flicked
up and down Aurora’s face like she searched for something to confess.
Then she nodded toward the
bar’s front door. Silas’s hand moved. Not to a weapon, not yet. He reached beneath the counter and came up holding a short bottle that
looked like spirits
. He didn’t drink it. He set it down between them with a quiet thud. “Eva,” Silas said, “you’re late.” Eva’s smile faltered. “I’m here.” Silas leaned in. “No. You’re late to your own mistake.” Aurora’s heart beat once, hard. She hated how Silas spoke in riddles when he used his body to speak instead. His shoulders had gone still. His posture told her he’d already heard something she hadn’t. A scrape sounded from the far end of the bar, not behind them, not near the door. It came from the direction of the bookshelf. Aurora felt the hairs on her arms lift. She didn’t
look
away from Eva, but she tracked the sound with her body. Eva’s gaze snapped past Aurora. Her lips parted. For the first time since Aurora had found her, Eva looked uncertain. Silas’s voice dropped. “Don’t.” Aurora didn’t wait. She stepped sideways, faster than her brain could argue, and caught the edge of the bookshelf before it could shift. Old wood scraped against hidden mechanisms. The shelf eased outward by a hand’s width. Something moved inside the secret room, a shadow sliding like a thought you tried not to have. Aurora’s palm flattened on the wood. The bookshelf smelled of dust and something metallic, old keys and old panic. Eva’s bag
suddenly
mattered more than the sound. Aurora jerked her gaze to Eva. “Your plan?” Eva swallowed. “Not my plan.” The shelf opened another inch. A gloved hand
appeared, pale against darkness, holding a phone like it was a weapon
.
Then the gloved hand pulled
back and a voice followed, dry as paper. “Carter.” Aurora
knew that voice
. She didn’t know it by memory, she knew it by
implication
. The way her body knew danger without waiting for her mind to catch up. Silas stepped between the bookshelf and Eva, signet ring forward, posture turned into a barrier. “You don’t come through my walls,” he said. The phone flashed a camera light for half a second, just enough to show a face behind it, a man with a jaw like a locked door and eyes that didn’t blink much. He wore no bar guest smile. Eva stood so abruptly her stool tipped. The bag slid, hit the floor, and the zip
began to
break open as if it had been waiting for permission to spill. Aurora lunged. Her fingers caught the bag just before the zip fully separated. A corner of something inside pressed against the canvas, hard and angular. Metal. Not a phone. A case. Silas’s voice stayed calm, too calm. “Evan’s people never learn. They always circle back to the same orbit.” The man behind the bookshelf smiled without joy. “Evan says hello.” Aurora’s
blood went cold
. She didn’t need Eva to confirm it now. The air itself had turned into an ambush. Eva spoke fast, the words spilling like she’d been holding them in her teeth. “Rory, I told you I left him.” Aurora didn’t
look
at her. She couldn’t afford it. “Then explain why he knows where I am.” Eva’s eyes darted to Silas, then to Aurora’s scar, then to the gloved man. Her throat bobbed. “He doesn’t. Not exactly.” The gloved man stepped forward into the gap the bookshelf had made. He kept his hands visible. He wore a dark jacket that drank the neon light. In his other hand, a thin device glinted, a flash drive held like a promise. He extended it toward Aurora. “Your memory’s good,” he said. “So this should be easy.” Silas moved his right hand, signet ring catching the light. “You mistake me for a clerk.” The man’s smile widened by a fraction. “I don’t need your help. Carter needs hers.” Aurora stared at the drive. Her fingers tightened on Eva’s bag. The crescent scar on her wrist
throbbed
, faint and
familiar
, like it wanted to remind her of what pain taught. Then the bar door slammed. Not
gently
. Not politely. A gust of cold air from outside didn’t matter. What mattered was the sudden stillness of everyone inside, the way bodies paused like they’d
been trained
. Footsteps crossed the front of the bar, heavy and organised, too many for a couple of late drinkers. Silas didn’t turn his head. He lifted his chin a fraction, as if he could hear their positions through walls. Eva whispered, barely audible. “You brought them.” Aurora’s mouth opened, but before she could accuse or ask or demand, the gloved man’s phone
vibrated
in his hand. He glanced down, then up, eyes sharpening with renewed interest. “There she is.” Aurora felt the trap snap tighter.
Because the voice that came
from the doorway wasn’t Evan’s. It was colder, older, and it carried confidence like a weapon. “Silas,” the voice said. “Open up.” Aurora tightened her grip on the bag and the bookshelf at once, the wood under her palm and the metal case under her fingers, and the bar’s quiet broke like glass as figures poured in through the entrance, one of them raising a firearm just far enough to be polite.
created_at
"2026-03-18T10:29:59.696Z"
3/18/2026, 10:29:59 AM
model
"openai/gpt-5.4-nano-20260317"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
22309
moderation_latency
(null)
generation_time
28062
tokens_prompt
4618
tokens_completion
4490
native_tokens_prompt
4131
native_tokens_completion
3982
native_tokens_completion_images
0
native_tokens_reasoning
1103
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.0058037
router
(null)
provider_responses
0
endpoint_id
"0c835f2e-c18d-4e8c-b245-e1e3bd08b97f"
id
"resp_008f2a4bef4b5dac0169ba7ea7c2f081908e98f6fe8c2b20b6"
is_byok
false
latency
202
model_permaslug
"openai/gpt-5.4-nano-20260317"
provider_name
"OpenAI"
status
200
user_agent
"langchainjs-openai/1.0.0 ((node/v24.14.0; linux; x64))"
http_referer
(null)
api_type
"completions"
id
"gen-1773829799-TFtCV2fIUwzSWiBPQxl5"
upstream_id
"resp_008f2a4bef4b5dac0169ba7ea7c2f081908e98f6fe8c2b20b6"
total_cost
0.0058037
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
20
adverbTagCount
0
adverbTags
(empty)
dialogueSentences
69
tagDensity
0.29
leniency
0.58
rawRatio
0
effectiveRatio
0
93.08%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
2167
totalAiIsmAdverbs
3
found
0
adverb
"slowly"
count
1
1
adverb
"suddenly"
count
1
2
adverb
"gently"
count
1
highlights
0
"slowly"
1
"suddenly"
2
"gently"
100.00%
AI-ism character names
Target: 0 AI-default names (16 tracked, −20% each)
codexExemptions
0
"Blackwood"
found
(empty)
100.00%
AI-ism location names
Target: 0 AI-default location names (33 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
63.08%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
2167
totalAiIsms
16
found
0
word
"familiar"
count
3
1
word
"wavered"
count
1
2
word
"flicked"
count
3
3
word
"stomach"
count
1
4
word
"weight"
count
1
5
word
"silence"
count
1
6
word
"warmth"
count
1
7
word
"tension"
count
1
8
word
"implication"
count
1
9
word
"throbbed"
count
1
10
word
"footsteps"
count
1
11
word
"vibrated"
count
1
highlights
0
"familiar"
1
"wavered"
2
"flicked"
3
"stomach"
4
"weight"
5
"silence"
6
"warmth"
7
"tension"
8
"implication"
9
"throbbed"
10
"footsteps"
11
"vibrated"
100.00%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
2
maxInWindow
1
found
0
label
"blood ran cold"
count
1
1
label
"eyes widened/narrowed"
count
1
highlights
0
"blood went cold"
1
"eyes widened"
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
190
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
2
hedgeCount
2
narrationSentences
190
filterMatches
0
"look"
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
239
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
maxSentenceWordsSeen
50
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
2167
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
36
unquotedAttributions
0
matches
(empty)
0.00%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
137
wordCount
1796
uniqueNames
9
maxNameDensity
3.06
worstName
"Aurora"
maxWindowNameDensity
5.5
worstWindowName
"Aurora"
discoveredNames
Carter
1
Aurora
55
Cardiff
2
Raven
1
Nest
2
Eva
46
Evan
3
Soho
1
Silas
26
persons
0
"Carter"
1
"Aurora"
2
"Raven"
3
"Nest"
4
"Eva"
5
"Evan"
6
"Silas"
places
0
"Cardiff"
1
"Soho"
globalScore
0
windowScore
0
86.97%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
119
glossingSentenceCount
3
matches
0
"as if letting go might break the whole moment"
1
"looked like spirits"
2
"appeared, pale against darkness, holding a phone like it was a weapon"
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
0
per1kWords
0
wordCount
2167
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
2
totalSentences
239
matches
0
"carried that shape"
1
"knew that voice"
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
109
mean
19.88
std
14.57
cv
0.733
sampleLengths
0
1
1
45
2
24
3
69
4
42
5
14
6
8
7
14
8
48
9
15
10
39
11
17
12
36
13
15
14
48
15
4
16
7
17
16
18
8
19
34
20
16
21
24
22
45
23
6
24
53
25
16
26
6
27
30
28
37
29
8
30
6
31
5
32
51
33
11
34
18
35
4
36
10
37
17
38
11
39
51
40
14
41
12
42
13
43
3
44
9
45
24
46
7
47
5
48
15
49
26
99.72%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
3
totalSentences
190
matches
0
"been eighteen"
1
"been made"
2
"been trained"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
345
matches
(empty)
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
0
semicolonCount
0
flaggedSentences
0
totalSentences
239
ratio
0
matches
(empty)
92.48%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1797
adjectiveStacks
1
stackExamples
0
"same bright, dark-lashed Cardiff"
adverbCount
75
adverbRatio
0.041736227045075125
lyAdverbCount
9
lyAdverbRatio
0.005008347245409015
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
239
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
239
mean
9.07
std
6.76
cv
0.746
sampleLengths
0
1
1
7
2
18
3
20
4
17
5
7
6
4
7
14
8
19
9
15
10
17
11
23
12
19
13
10
14
4
15
8
16
3
17
11
18
17
19
16
20
15
21
9
22
6
23
6
24
33
25
6
26
11
27
4
28
32
29
3
30
3
31
9
32
6
33
23
34
19
35
4
36
6
37
1
38
13
39
3
40
6
41
2
42
3
43
7
44
8
45
16
46
10
47
6
48
10
49
14
44.14%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
14
diversityRatio
0.20920502092050208
totalSentences
239
uniqueOpeners
50
100.00%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
6
totalSentences
170
matches
0
"Then Evan happened."
1
"Then Aurora fled."
2
"Then Eva stayed behind, and"
3
"Then she nodded toward the"
4
"Then the gloved hand pulled"
5
"Then the bar door slammed."
ratio
0.035
100.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
45
totalSentences
170
matches
0
"She leaned in so the"
1
"Her hair had gone from"
2
"She kept her grip."
3
"Her thumb found the small"
4
"She had carried that shape"
5
"She lifted her own hand,"
6
"He came through the bar’s"
7
"His hazel eyes landed on"
8
"He didn’t ask how she"
9
"He didn’t ask why she’d"
10
"He just stepped in closer"
11
"She wanted to snap back,"
12
"She knew it wasn’t just"
13
"Her voice softened, just enough"
14
"He watched Eva the way"
15
"She slid onto the stool"
16
"Her knee brushed Aurora’s, too"
17
"It looked ordinary, canvas and"
18
"His silence tightened the air."
19
"She forced it down."
ratio
0.265
10.00%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
153
totalSentences
170
matches
0
"The question came out like"
1
"Aurora Carter’s hand closed on"
2
"The woman laughed once, sharp,"
3
"the woman said, and the"
4
"Aurora didn’t let go."
5
"She leaned in so the"
6
"The woman’s eyes were the"
7
"Her hair had gone from"
8
"A faint bruise sat under"
9
"A man near the jukebox"
10
"Aurora swallowed the panic that"
11
"She kept her grip."
12
"Eva’s smile wavered."
13
"Aurora released her wrist with"
14
"Her thumb found the small"
15
"She had carried that shape"
16
"Eva’s gaze flicked to the"
17
"She lifted her own hand,"
18
"Aurora stared at her."
19
"The last time she’d seen"
ratio
0.9
58.82%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
2
totalSentences
170
matches
0
"Because even in Silas’s bar,"
1
"Because the voice that came"
ratio
0.012
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
73
technicalSentenceCount
3
matches
0
"The woman laughed once, sharp, then blinked slow, as if she had to translate the face in front of her."
1
"Aurora released her wrist with a reluctant scrape, as if letting go might break the whole moment."
2
"He lifted his chin a fraction, as if he could hear their positions through walls."
25.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
20
uselessAdditionCount
4
matches
0
"the woman said, and the name landed wrong in the room, too familiar and too late"
1
"Silas said, tone flat,"
2
"She slid, not asking permission"
3
"Aurora asked, voice low"
100.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
19
fancyCount
2
fancyTags
0
"Silas repeated (repeat)"
1
"Aurora corrected (correct)"
dialogueSentences
69
tagDensity
0.275
leniency
0.551
rawRatio
0.105
effectiveRatio
0.058
85.7768%