NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-10-27-01M5YFXY0TK5T9EDDCKBME5T3N
Run Details
Model:
GPT-6.1 Terra (Reasoning, Medium)
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
44.1s
Cost:
$0.015922
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)
95.55%
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)
13.85%
Name drop frequency
(details)
85.90%
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)
47.06%
Sentence opener variety
(details)
40.65%
Adverb-first sentence starts
(details)
90.73%
Pronoun-first sentence starts
(details)
11.83%
Subject-first sentence starts
(details)
60.98%
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)
88.2181%
Overall
Model input
System
You are an expert and award-winning novel writer in the dark Romance 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="4415" name="Lucien Moreau" aliases="Lucien, Luc, the Frenchman" pronouns="he/him" species="Half-Demon" storyRole="Ally"> <eyeColor>heterochromatic — one amber, one black</eyeColor> <hair>slicked-back platinum blond</hair> <height>5'11"</height> <age>32</age> <cane>ivory-handled cane that conceals a thin blade</cane> <dress>tailored charcoal suits</dress> <description>An impeccably dressed fixer and information broker in London's supernatural underworld. He speaks four languages fluently.</description> <backstory>Born in Marseille to a human mother and a demon father from the realm of Avaros.</backstory> </character> <location id="858" name="Eva's Flat" aliases="Eva's place, the flat on Brick Lane" realm="Earth"> <cat>tabby cat named Ptolemy</cat> <security>three deadbolts on the front door</security> <description>A cramped one-bedroom flat above a curry house on Brick Lane, East London. Every surface is covered with books, scrolls, and research notes.</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 romance genre. Two people who parted on complicated terms are forced together again when one shows up unannounced at the other's flat. There's history between them — attraction, hurt, and things left unsaid. Write the scene from the moment the door opens. 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
Rory opened the door with
a knife in her hand and found Lucien Moreau bleeding onto her doormat. He looked at the blade, then at her face. “You have improved your welcome.”
She shoved the door towards
him.
His cane caught it before
the latch met the frame. “Move it.” “There’s a man downstairs asking Silas which flat belongs to you.” “Then Silas can tell him to piss off.” “He did. The man broke his hand.”
Rory’s grip tightened on the
knife.
Music thudded through the floorboards
beneath her feet.
Silas liked his customers loud
and his glasses intact; he would have come upstairs himself if he could. She opened the door wider.
Lucien stepped inside, leaving a
smear of blood on the white paint.
Rory checked the landing before
she shut the door. Empty stairs, scuffed carpet, the smell of spilled beer rising from the bar. She slid the bolt home. Lucien stood in her kitchen, one hand pressed against his side. His charcoal jacket hung open, and blood had soaked through the shirt beneath it.
His platinum hair remained slicked
back.
The sight annoyed her almost
as much as his face did.
Rory set the knife on
the counter, within reach. “Who broke Silas’s hand?” “A collector named Voss.” “What does he collect?” “Debts.” “I don’t owe you anything.” “No. You owe him.”
Lucien took a folded sheet
of paper from his inside pocket. Blood had marked one corner.
He laid it beside the
knife.
Rory recognised her name before
she touched it. Aurora Carter, written in a neat, slanting hand. Below it sat another name: Lucien Moreau. She unfolded the sheet. The paper rasped against her fingertips, thick and dry. Three lines of French ran across the top, followed by a block of English. Her name appeared twice more, once beside the word collateral. “You told me you’d got Eva out.” “I did.” “You left out this part.” “Yes.” The word landed without a defence behind it. Rory read the page again, slower this time. Six months earlier, Eva had vanished from her flat on Brick Lane. Lucien had found her locked in a cellar with a circle cut into the floor.
He had brought her home
with bruises on her arms and a gap in her memory.
He had told Rory the
people who took her would not return. Rory had believed him until the night she found him burning a second copy of a document in her sink.
He had caught her reading
the first page, taken it from her hand and fed it to the flame.
He would not explain why
her name had appeared on it. She had thrown him out.
He had gone without his
cane, and she had left it outside his door the next morning.
Now he leaned on it
again, his knuckles pale around the ivory handle. “You gave him my name,” she said. “I gave him a promise.” “Those aren’t different things on this page.” “Eva had been taken for a debt she knew nothing about. Voss would have kept her until her family paid it.” “So you offered him mine instead?” “I offered him a future favour from you. One that would cost no blood and leave you alive.” “How generous.” “I believed I could buy it back before he called it in.” Rory looked at the last paragraph.
Her pre-law course had taught
her to distrust any sentence that ran half a page. This one sprawled over most of the sheet. “You signed it alone.” “Yes.” “Then it isn’t binding on me.” “Not under English law.” She looked up. “And under yours?” Lucien’s mismatched eyes held hers. One amber, one black, both fixed on the knife at her elbow. “Your name was enough to secure the bargain. Voss still needs your consent to collect.” “Then he can have a long wait.” “He has a way to make refusal painful.” Rory picked up the paper. A thin red line crept across the bottom of the page, branching around Lucien’s signature. She dropped it. “What was that?” “My blood. It tells him where the contract is.” “And you brought it here.” “I took it from him. If he kept it, he could amend the terms.” “You could have warned me before it started drawing on my kitchen counter.” “I had hoped to get here ahead of him.” The bass from the bar cut off. A shout followed, then the crash of glass. Rory crossed to the window.
Her flat overlooked a narrow
alley, where the bins stood in a row beneath the fire escape. A man waited beside the gate, his hands in the pockets of a black coat. He looked up as she moved the curtain. His smile showed too many teeth. Rory let the curtain fall. “You weren’t alone when you came up.” “No.” “And Voss is downstairs?” “He prefers to send others in first.” She grabbed her phone and called Silas. It rang twice before he answered. “Rory?” “Are you all right?” A grunt, followed by the scrape of something heavy. “Hand’s buggered. The prick’s gone through to the cellar.” “Get out of the bar.” “Got two customers in the toilets.” “Take them through the back. There’s a man at the alley gate, so use the front.” A pause. “Is Moreau with you?” “Yes.” “Tell him he still owes me for the table.” The call ended. Rory put the phone in her pocket and faced Lucien. “Sit down before you fall down.” “I can stand.” “You’re dripping on my floor.” He sat. Rory fetched the first-aid tin from beneath the sink and a clean tea towel from the drawer. Lucien watched her put both on the table. “Take your jacket off.” “I had not expected you to undress me again.” “You’re managing that yourself.” His mouth shifted,
not quite a smile
. He eased the jacket from his shoulders. His shirt had torn beneath the ribs, exposing a gash that looked too narrow for the amount of blood it had spilled. Rory pressed the towel over it. Lucien caught his breath, and his hand closed around her wrist. The contact stopped them both. His thumb rested just below the small crescent scar on her left wrist.
Once, in the cramped space
between her bed and the wall, he had
kissed that scar
and asked how she got it. She had told him about falling from a tree in Cardiff. He had listened to the whole story without reaching for his phone. Now she pulled free. “Hold that yourself.” He obeyed. Rory opened the first-aid tin and found a sealed dressing. “What cut you?” “A blade dipped in salt and ash. It slows healing.” “Useful to know.” “For future reference?” “For the next time you turn up at my door.” She peeled the backing off the dressing. His gaze dropped to her mouth, then rose again. Six months had not made him any less careful about where he looked. It had only made her
notice
the care. “I came to tell you before Voss reached you,” he said. “You came because stealing his contract didn’t fix it.” “That too.” “Better.” She pressed the dressing into place. His fingers caught the edge of the table. “When you burned the other copy, I asked you three times what my name was doing on it.” “I remember.” “You told me I was safer not knowing.” “I remember that as well.” “Evan used to say things like that. He’d decide where I went, who I saw, then tell me I’d thanked him for it once.” Lucien’s hand loosened on the towel. “I am not Evan.” “No. He never wore a suit that expensive.” The words struck him. She saw it in the stillness of his face, in the way his fingers folded the bloodied towel into a smaller square. “I should have told you,” he said. “You should have asked before you signed.” “Yes.” Rory fastened the dressing. A knock sounded from below, heavy enough to shake the cups in her cupboard. Then another. Lucien reached for his cane. He twisted the ivory handle, and a narrow blade slid free with a soft scrape. Rory took a step back. “You brought that into my flat?” “You returned it.” “I thought it was a cane.” “It is also a cane.” The knock came again, closer now. Someone had reached the landing. Lucien rose from the chair. Rory put a hand against his chest and kept him where he stood. “Tell me what Voss wants.” “I don’t know.” “You know more than that.” “He asked questions about a woman called Malphora. I had never heard the name before he took Eva.” Rory’s hand slipped from his shirt. Eva had
used that name
once, after waking from a nightmare. She had clutched Rory’s sleeve and begged her not to answer if anyone called her Malphora. By morning, Eva had remembered none of it. “You should have led with that.” “I hoped Eva would know what it meant. I went to her flat first.” Rory’s phone came out of her pocket. “She wasn’t there,” Lucien said. “Her door was open.” “All three bolts?” “The frame had been broken.” Rory called Eva. Voicemail. She called again, then sent a message. Where are you? Answer me. The landing floor creaked. A shadow
appeared beneath the door, followed by the slow turn of the handle
. Rory grabbed the contract and
scanned
it again. The ink line had reached the edge of Lucien’s signature. Beside it, a blank space waited beneath the words consent witnessed by. “Does he need me to sign?” “He needs you to agree. A signature makes the agreement easier to prove.” “Prove to whom?” “The court that enforces his contracts.” “Then we make sure I don’t agree.” The handle stopped moving. A man’s voice came through the door. “Miss Carter. I have your friend.” Rory stared at Lucien. He shook his head once. “Which friend?” she called. “Eva.” “Put her on.” A muffled sound came from the other side. Cloth shifted.
Then Eva’s voice, thin but
clear enough. “Rory, don’t open it.” Something struck the door. Eva cried out. Rory lifted the bolt. Lucien caught her arm. “He can use her voice.” “He said he has her. I’m not leaving her out there.” “He wants you to open the door.” “Then help me do it.” She pulled her arm free and checked the peephole. A broad shoulder blocked most of the view. Beyond it, she caught a glimpse of Eva’s dark fringe and the
familiar
green sleeve of her coat. A hand gripped the back of Eva’s neck. Rory moved away from the peephole. “He’s holding her.” Lucien came beside her. His blade lay along his forearm, hidden from anyone standing in the doorway. “Can you reach him?” she asked. “If he steps inside.” “He won’t. He’ll make me come out.” “Then give him a reason to step in.” Rory glanced at the contract on the table. The red line had reached the blank space beneath Lucien’s name. She carried the page to the sink and held one corner over the gas hob. The burner clicked, then caught. “Voss,” she called. “I’ve got your contract.” “Excellent.” “I’m about to burn it.” A pause. “That would be unwise.” “Eva first.” “The contract first.” Rory lowered the paper. Heat curled its edge. “Your copy won’t survive another second.” “Open the door.” “Let her go.” The grip on Eva’s neck vanished from the peephole. Rory saw Eva stumble sideways, out of view. Lucien lifted his blade. “Your turn, Miss Carter.” Rory switched off the burner. She tucked the singed page into her waistband and reached for the bolt. Lucien stood behind the door, one hand against the wall. She drew back the bolt and opened the door a fraction. Voss filled the gap. His coat brushed the frame, and a small silver hook hung from one ear. He kept his hands visible. “Where’s Eva?” “On the stairs. Give me the paper.” “Move back.” “You are in no position to bargain.” Rory showed him the scorched corner. His eyes followed it. She stepped away from the door, and he came after her. Lucien drove the blade into Voss’s side. Voss folded around it with a grunt. Rory darted past him onto the landing. Eva lay on the stairs, one arm twisted beneath her. Rory dropped beside her and rolled her onto her back. “Eva. Look at me.” Eva’s eyes opened. Blood marked her lip. “Get away from him.” “I’ve got you.” “No. Rory, he didn’t bring me here.” Behind them, Voss laughed. Rory turned. Lucien had pinned him against the kitchen wall, the blade still buried in his side. Voss held up both hands, blood running between his fingers. “I told you,” he said to Lucien. “She would open the door for her.” Eva seized Rory’s wrist. Her fingers closed over the crescent scar. “I was outside your door when he found me,” she said. “I came to warn you.” A red line
appeared beneath Eva’s thumb
. It ran across Rory’s skin, branching towards her palm. Rory tore her hand away. The line kept moving. From the kitchen, Lucien swore. The contract had slipped from Rory’s waistband onto the floor. Ink spread across its blank space, forming letters in the same neat, slanting hand. Malphora. Voss pulled himself off the blade. He straightened, blood dripping onto the tiles, and smiled at Rory. “There you are.”
created_at
"2026-10-27T10:54:06.894Z"
10/27/2026, 10:54:06 AM
model
"openai/gpt-6.1-terra-20261026"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
3615
moderation_latency
(null)
generation_time
43441
tokens_prompt
4383
tokens_completion
3723
native_tokens_prompt
4075
native_tokens_completion
3143
native_tokens_completion_images
0
native_tokens_reasoning
250
native_tokens_cached
4072
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"
service_tier
"default"
usage
0.0159216
router
(null)
user_agent
"langchainjs-openai/1.0.0 ((node/v24.22.1; linux; x64))"
http_referer
(null)
request_id
"req-1793098447-KdDgsiRc0QjWweGTET1q"
session_id
(null)
preset_id
(null)
api_type
"completions"
id
"gen-1793098447-1u9cQv51QonCANR7imEN"
upstream_id
"resp_0fdb4d55923998a6016ae082cfa29c87d18de93f6d0b517106"
provider_responses
0
endpoint_id
"2d2ad10f-098e-4bbf-aa95-11f705b2b9a2"
id
"resp_0fdb4d55923998a6016ae082cfa29c87d18de93f6d0b517106"
is_byok
false
latency
311
model_permaslug
"openai/gpt-6.1-terra-20261026"
provider_name
"OpenAI"
status
200
total_cost
0.0159216
cache_discount
0.0038684
upstream_inference_cost
0
provider_name
"OpenAI"
response_cache_source_id
(null)
data_region
"global"
workspace_id
"97e315e5-d303-487d-83c1-83180e8a13d4"
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
9
adverbTagCount
0
adverbTags
(empty)
dialogueSentences
133
tagDensity
0.068
leniency
0.135
rawRatio
0
effectiveRatio
0
100.00%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
2246
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)
95.55%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
2246
totalAiIsms
2
found
0
word
"scanned"
count
1
1
word
"familiar"
count
1
highlights
0
"scanned"
1
"familiar"
100.00%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
0
maxInWindow
0
found
(empty)
highlights
(empty)
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
182
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
1
hedgeCount
0
narrationSentences
182
filterMatches
0
"notice"
hedgeMatches
(empty)
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
306
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
repeatedSegmentCount
0
maxSentenceWordsSeen
24
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
2246
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
29
unquotedAttributions
2
matches
0
"Behind them, Voss laughed."
1
"From the kitchen, Lucien swore."
13.85%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
98
wordCount
1469
uniqueNames
13
maxNameDensity
2.72
worstName
"Rory"
maxWindowNameDensity
4.5
worstWindowName
"Rory"
discoveredNames
Lucien
26
Moreau
2
Carter
1
French
1
English
1
Eva
14
Brick
1
Lane
1
Rory
40
Silas
2
Cardiff
1
Malphora
2
Voss
6
persons
0
"Lucien"
1
"Moreau"
2
"Carter"
3
"French"
4
"Eva"
5
"Rory"
6
"Silas"
7
"Voss"
places
0
"Brick"
1
"Lane"
2
"Cardiff"
globalScore
0.139
windowScore
0.167
85.90%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
117
glossingSentenceCount
3
matches
0
"not quite a smile"
1
"appeared beneath the door, followed by the slow turn of the handle"
2
"appeared beneath Eva’s thumb"
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
0
per1kWords
0
wordCount
2246
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
2
totalSentences
306
matches
0
"kissed that scar"
1
"used that name"
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
213
mean
10.54
std
10.35
cv
0.982
sampleLengths
0
18
1
9
2
5
3
16
4
2
5
11
6
8
7
7
8
32
9
44
10
42
11
9
12
4
13
4
14
4
15
1
16
5
17
4
18
22
19
8
20
8
21
7
22
37
23
7
24
2
25
5
26
1
27
16
28
55
29
50
30
22
31
13
32
7
33
5
34
7
35
21
36
6
37
18
38
2
39
12
40
29
41
4
42
1
43
6
44
4
45
3
46
3
47
17
48
15
49
7
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
0
totalSentences
182
matches
(empty)
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
252
matches
(empty)
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
0
semicolonCount
1
flaggedSentences
1
totalSentences
306
ratio
0.003
matches
0
"Silas liked his customers loud and his glasses intact; he would have come upstairs himself if he could."
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1471
adjectiveStacks
0
stackExamples
(empty)
adverbCount
38
adverbRatio
0.02583276682528892
lyAdverbCount
1
lyAdverbRatio
0.0006798096532970768
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
306
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
306
mean
7.34
std
4.55
cv
0.62
sampleLengths
0
18
1
9
2
5
3
6
4
10
5
2
6
11
7
8
8
7
9
6
10
8
11
18
12
5
13
12
14
9
15
13
16
5
17
11
18
14
19
6
20
11
21
9
22
4
23
4
24
4
25
1
26
5
27
4
28
11
29
5
30
6
31
8
32
8
33
7
34
4
35
9
36
14
37
10
38
7
39
2
40
5
41
1
42
8
43
8
44
12
45
15
46
16
47
12
48
20
49
19
47.06%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
9
diversityRatio
0.2647058823529412
totalSentences
306
uniqueOpeners
81
40.65%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
2
totalSentences
164
matches
0
"Once, in the cramped space"
1
"Then Eva’s voice, thin but"
ratio
0.012
90.73%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
53
totalSentences
164
matches
0
"He looked at the blade,"
1
"She shoved the door towards"
2
"His cane caught it before"
3
"She opened the door wider."
4
"She slid the bolt home."
5
"His charcoal jacket hung open,"
6
"His platinum hair remained slicked"
7
"He laid it beside the"
8
"She unfolded the sheet."
9
"Her name appeared twice more,"
10
"He had brought her home"
11
"He had told Rory the"
12
"He had caught her reading"
13
"He would not explain why"
14
"She had thrown him out."
15
"He had gone without his"
16
"Her pre-law course had taught"
17
"She looked up."
18
"She dropped it."
19
"Her flat overlooked a narrow"
ratio
0.323
11.83%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
147
totalSentences
164
matches
0
"Rory opened the door with"
1
"He looked at the blade,"
2
"She shoved the door towards"
3
"His cane caught it before"
4
"Rory’s grip tightened on the"
5
"Music thudded through the floorboards"
6
"Silas liked his customers loud"
7
"She opened the door wider."
8
"Lucien stepped inside, leaving a"
9
"Rory checked the landing before"
10
"She slid the bolt home."
11
"Lucien stood in her kitchen,"
12
"His charcoal jacket hung open,"
13
"His platinum hair remained slicked"
14
"The sight annoyed her almost"
15
"Rory set the knife on"
16
"Lucien took a folded sheet"
17
"Blood had marked one corner."
18
"He laid it beside the"
19
"Rory recognised her name before"
ratio
0.896
60.98%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
2
totalSentences
164
matches
0
"Now he leaned on it"
1
"Now she pulled free."
ratio
0.012
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
60
technicalSentenceCount
0
matches
(empty)
100.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
9
uselessAdditionCount
0
matches
(empty)
100.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
9
fancyCount
0
fancyTags
(empty)
dialogueSentences
133
tagDensity
0.068
leniency
0.135
rawRatio
0
effectiveRatio
0
88.2181%