NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-10-27-01M5YF0T3VSB1Z2553WZRKDTFC
Run Details
Model:
GPT-6.1 Terra (Reasoning, Medium)
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
48.0s
Cost:
$0.017737
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
98.06%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
86.43%
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)
100.00%
Narrator intent-glossing
(details)
100.00%
"Not X but Y" pattern overuse
(details)
100.00%
Overuse of "that" (subordinate clause padding)
(details)
100.00%
Paragraph length variance
(details)
100.00%
Passive voice overuse
(details)
100.00%
Past progressive (was/were + -ing) overuse
(details)
100.00%
Em-dash & semicolon overuse
(details)
100.00%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
47.67%
Sentence opener variety
(details)
60.61%
Adverb-first sentence starts
(details)
100.00%
Pronoun-first sentence starts
(details)
20.61%
Subject-first sentence starts
(details)
60.61%
Subordinate conjunction sentence starts
(details)
100.00%
Technical jargon density
(details)
100.00%
Useless dialogue additions
(details)
100.00%
Dialogue tag variety (said vs. fancy)
(details)
89.1330%
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 on the landing.
His gaze dropped to the
blade, then rose to her face. “I had hoped for a warmer reception.” “You should have knocked at someone else’s door.” She moved to close it.
Lucien caught the edge before
the latch met the frame, his bare fingers curling round the wood. “I need the envelope you took from Eva’s flat.” Rory pressed harder. His hand did not move. “I didn’t take an envelope.” “Then we have a problem.” “We?”
A heavy thud sounded from
downstairs, followed by a burst of laughter from Silas’s bar. Lucien glanced towards the stairwell.
His platinum hair, usually slicked
into place, had come loose at one temple.
A dark stain marked the
cuff of his charcoal suit.
Rory lowered the knife enough
to point at it. “Whose blood?” “Mine.” “Pity.” “It belongs to the hand keeping this door open. You could close it, if that would improve your mood.” She pushed.
He withdrew his fingers at
the last instant, and the door struck the frame.
Before she could turn the
lock, something scraped across the other side.
The brass keyhole filled with
black. Rory stepped back.
A thin line spread from
the lock, creeping over the paint.
It curled around the edge
of the door and reached for the floorboards. “Open it,” Lucien said. “You’ve got a funny way of asking.” “That is not mine.”
The line slipped beneath the
door.
Rory grabbed the bottle of
salt she kept beside the hob and tipped a white barrier across its path.
The black thread touched the
grains and recoiled.
A sharp smell rose from
the floor, like a match struck against stone. The lock clicked. The door swung inward, and Lucien slipped through, shutting it behind him. “You could have mentioned that thing first,” Rory said. “You shut the door.” “You taught me to.” His mouth tightened.
He looked past her, taking
in the room. Rory’s flat occupied the space above Silas’s bar, with a narrow kitchenette at one end and a sofa that had surrendered its shape years ago.
Her delivery bag sat on
the counter beside a stack of takeaway menus. A pair of jeans hung over the radiator.
She snatched them away before
Lucien could rest his cane against it. “Don’t make yourself
comfortable
.” “I would never presume.” “You once slept in my bed for three nights.” “Four.” “Wasn’t counting.”
She carried the knife to
the counter but kept it in her hand. From downstairs, music pushed through the floor in a dull rhythm. Lucien listened to it for a moment, his head tilted. “Who followed you?” she asked. “A collector.” “Of what?” “Debts. Names. Whatever his employer requires.” “And his employer requires an envelope from Eva.” “He requires what is inside it.” “Which is?” “A page from the register of Avaros.” Rory set the knife down. Lucien watched her do it, though she kept her hand near the handle. “Eva would have told me if she had something like that.” “Would she?” “She tells me plenty.” “She told you nothing about the crescent on your wrist.” Rory’s fingers closed over the scar. A childhood accident, her parents had always called it.
She could still remember the
broken glass and her mother’s face above her, pale and furious with someone Rory had never seen. “What about it?” Lucien reached inside his jacket. Rory picked up the knife again, and he stopped. “May I?” “Depends what you’re getting.” “A photograph.” “Slowly.”
He drew out a folded
print and placed it on the counter.
It showed a sheet of
yellowed paper covered in cramped writing. Rory recognised a few letters, though the words meant nothing to her. Along one edge, someone had drawn a small crescent. Beneath it sat her full name. Aurora Carter. The knife handle slipped against her palm. She tightened her grip. “Eva found it?” she asked. “Yes.” “How long ago?” “Three days.” “And she sent you?” “No.” “Then how did you get this?” “I bought it.” Rory looked at him.
His amber eye caught the
light from the cooker hood; the other remained black. “From Eva?” “No.” “From the person who broke into her flat?” “She told you about that?” “She told me someone had forced the bottom bolt. She also told me Ptolemy scratched a strip of skin off his hand.” Lucien glanced at his bandaged cuff. Rory’s
stomach
tightened. “You broke into Eva’s flat.” “I arrived after the man who forced the bolt. Her cat objected to both of us.” “Where was Eva?” “At a meeting with a scholar in Bloomsbury. I called her when I found the door.” “And she just let you poke through her things?” “She gave me a choice. Stay and guard the flat, or follow the man who had taken her research. I chose him.” Rory studied the photograph again. “What does the page say?” “It records a claim. A demon registered your name seventeen years ago.” A glass crashed downstairs. Rory flinched, and Lucien’s gaze
flicked
towards the floor. “Is the demon Evan?” she asked. “No.” “Do you know who?” “I have a name. I need the original page to confirm it.” “You had enough money to buy a photograph. Why not the page?” “The seller didn’t have it. Eva removed it before the break-in.” “And you think she gave it to me.” “She called you from the flat an hour before she left.” Rory folded the photograph once, then again. “Do you listen to all my calls?” “I obtained her phone records.” “Of course you did.” The black thread at the threshold had thickened.
It lay against the salt
like an earthworm against glass. Lucien noticed it too. “Rory.” “Don’t use my name as if that settles anything.” “I need you to listen.” “I listened last time.”
His hand closed around the
ivory handle of his cane.
She saw the movement and
remembered his hand on the back of her neck, his thumb resting just below her ear.
He had held her there
before he kissed her, giving her plenty of time to pull away. She had not pulled away. Three nights later, men had come for her outside the Golden Empress. One had pinned her against a wall while another searched her bag. Lucien had appeared before they found what they wanted, and the men had left in a hurry.
Only afterwards had she learnt
who told them where to find her. “You sold them my route,” she said. “I gave them the route.” “You took money for it.” “Yes.” The word landed between them without any attempt to soften it. Rory put the photograph down. “They knew which deliveries I had left. They knew where I’d park.” “I told them where to find you. I did not tell them to put their hands on you.” “How
comforting
.” “They wanted Eva. They believed you had her notes. If I had refused them, they would have gone to the restaurant and questioned everyone there.” “Yu-Fei could have warned me.” “They would have hurt her first.” Rory’s grip tightened on the knife. “So you picked me.” “I picked a place where I could reach you before they took you.” “They had me against the wall.” “I know.” “One of them put his hand under my coat.” Lucien’s face changed. The muscle in his jaw stood out, and his fingers pressed into the cane handle. “You said they hadn’t touched you.” “You didn’t ask.” For once, he had nothing ready. Rory watched him
look
down at the blood on his cuff, then back at her. “I killed him,” he said. Her throat tightened. “You told me you paid them off.” “The other two. The man who touched you came back.” “Came back where?” “To my office.” “What did he want?” “More money.” “And you decided I didn’t need to know he was dead.” “I decided you had enough to deal with.” Rory laughed once. It sounded ugly. “You don’t get to decide that.” “No.” “You keep saying yes and no as if that makes you honest.” “I am answering what you ask.” “After I drag it out of you.” He took that without looking away. She wanted him to defend himself, to give her something she could throw back.
Instead, he loosened his grip
on the cane. “I should have told you,” he said. The music downstairs stopped. Voices carried up through the floor, sharper now. Someone called Silas’s name. Rory crossed to the window and lifted the blind. A black car stood at the kerb outside the bar. Its rear door hung open. A man in a brown coat leaned against the bonnet, looking up at her window. His face was smooth. No eyes, no nose, no mouth. Rory dropped the blind. “Your collector’s outside.” “He has brought company.” “You saw that?” “I heard them.” She reached for her phone on the sofa and called Eva. It rang until voicemail took over. Rory ended the call and sent a message. MAN OUTSIDE MY FLAT. CALL ME. A second message followed. LUCIEN SAYS YOU FOUND MY NAME IN A REGISTER. Lucien stood near the door, his head turned towards the landing. “Does Silas know what that thing is?” Rory asked. “He knows enough to keep it out of the bar.” “Then why isn’t it coming up?” “It cannot cross a threshold without an invitation or a debt.” Rory looked at the black thread. “What debt?” “Mine.” She stared at him. “You brought it to my door.” “I brought it away from Eva’s. I thought you had the page, and I knew Silas could keep the collector outside.” “You knew it could follow you upstairs.” “Yes.” Rory marched to the door, seized his sleeve and dragged him towards it. He let her pull him the first step. Then he stopped. “Get out.” “It will come in with me.” “Then leave through the window.” “The drop will slow me. It will not slow him.” “You could have warned me before I opened the door.” “I knocked. You opened it before I could speak.” She released his sleeve. Beneath her hand, the cloth felt damp with blood. “Then tell me everything now.” Lucien drew the cane apart. A narrow blade slid from its sheath, clean despite the state of his cuff. “The collector bought my debt from a broker in Avaros. He can use it to follow me through any door I cross. Salt will hold him for a little while. If you have the page, I can destroy it and end the claim before he reaches you.” “What happens to my name?” “The register keeps a second copy. I will have to deal with that separately.” “You will?” “I know where it is.” “And you weren’t going to mention the second copy until I asked.” His blade dipped. “No. I was not.” Rory pointed towards the window. “Get Silas up here.” “If I open the door, the salt will break.” “Phone him.” Lucien took out his mobile. After a short call in which he gave Silas no more than the necessary facts, he put it away. “He’s locked the bar. He’ll keep the collector downstairs.” Rory went to the counter and lifted her delivery bag. A paper packet lay beneath the lining, taped flat against the base. Lucien watched her peel it free. “Eva gave it to you.” “She asked me to keep some notes safe. She didn’t say what they were.” Rory had collected the packet from Eva’s flat on Brick Lane that morning. Eva had met her behind all three deadbolts, with Ptolemy circling her ankles. Books and scrolls covered the little table, and a pot of curry from the restaurant below sat untouched beside them. Eva had pushed the packet into Rory’s hands and told her not to open it unless Eva called. Rory had asked why. Eva had kissed her cheek, shoved Ptolemy away from the door and promised to explain later.
Now Rory tore the packet
open. A single page slid out. The crescent and her name sat in a narrow column beside a line of writing. Underneath, someone had added another name in darker ink. Jennifer Ellis. Rory touched the letters. “My mother.” Lucien came closer. She put the knife between them, and he stopped. “Read it,” she said. His mismatched eyes moved across the page. “Jennifer Ellis offered a name in payment for a passage from Avaros to Earth. The passage was granted.” “My mother’s never been to Avaros.” “According to this, she went there twice.” Rory read her mother’s name again. Jennifer Carter taught Welsh history to teenagers who complained about homework and stole biscuits from her desk. She phoned every Sunday and asked whether Rory ate enough vegetables. When Rory left Cardiff, her mother had packed food for the train and slipped fifty pounds into her coat. “How old was I?” Rory asked. “The date is seventeen years ago.” “Eight.” The scar prickled beneath her thumb. She remembered her mother holding a cloth around her wrist, telling her not to
look
at the blood. “What did she buy with me?” “The page does not say.” “Can she come and collect me herself, or does she send a faceless man?” “Your mother did not register the claim. She offered your name. Another party accepted it.” “Who?” Lucien’s gaze rested on a mark beside the entry. His
silence
lasted a fraction too long. “You know it.” “I recognise the seal.” “Whose?” “My father’s.” Rory stepped back. The edge of the counter pressed into her hip. “Your father bought my name.” “Yes.” “Is that why you came near me?” “No.” “You knew about the claim when we met?” “I knew my father had business in London. I did not know you were part of it.” She searched his face. He held still, blade at his side. “Did he send you?” “No.” “Did you tell him about me?” “No.” “You lied to me before.” “I did.” The black thread breached the salt. Lucien lunged for the door, but Rory caught his arm. “Tell me how to destroy it.” “Fire will do.” She snatched a saucepan from the hob, dropped the page inside and turned the gas on. The flame caught the paper’s corner. It curled, blackened and shrank around her mother’s name. Lucien brought his blade down across the thread. It split with a wet snap and vanished beneath the door. Footsteps pounded on the stairs. “Rory!” Silas shouted. She grabbed the pan handle and tipped the burning page deeper inside. A strip of writing clung to the base, refusing the flame. She prodded it with the knife. Three knocks struck the door. “Open up.” Silas’s voice. Rory moved towards him. Lucien caught her wrist. The crescent scar burned. She jerked away, but his fingers held. “Silas has keys,” he said. A key slid into the lock. Rory pulled free. The door flew inward, scattering salt across the floor, and Silas stumbled through with blood
streaming
from his mouth. A hand gripped the back of his neck. The faceless man followed him inside. Lucien raised his blade. The man shoved Silas aside and caught the steel in his bare hand. Black blood ran over his fingers. From the saucepan, a voice spoke Rory’s name. The last strip of paper uncurled. Her mother’s handwriting spread across it, dark and fresh. DON’T LET LUCIEN TAKE YOU THROUGH THE DOOR.
created_at
"2026-10-27T10:38:12.619Z"
10/27/2026, 10:38:12 AM
model
"openai/gpt-6.1-terra-20261026"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
3968
moderation_latency
(null)
generation_time
47931
tokens_prompt
4383
tokens_completion
4054
native_tokens_prompt
4075
native_tokens_completion
3506
native_tokens_completion_images
0
native_tokens_reasoning
207
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.0177366
router
(null)
user_agent
"langchainjs-openai/1.0.0 ((node/v24.22.1; linux; x64))"
http_referer
(null)
request_id
"req-1793097492-BYIMZv6vDmf6UuWkUZB6"
session_id
(null)
preset_id
(null)
api_type
"completions"
id
"gen-1793097492-fSFD51grzcE20cTgrIDq"
upstream_id
"resp_00c6d824e3a2a6dc016ae07f14b8c887d18d505f92862333d3"
provider_responses
0
endpoint_id
"2d2ad10f-098e-4bbf-aa95-11f705b2b9a2"
id
"resp_00c6d824e3a2a6dc016ae07f14b8c887d18d505f92862333d3"
is_byok
false
latency
423
model_permaslug
"openai/gpt-6.1-terra-20261026"
provider_name
"OpenAI"
status
200
total_cost
0.0177366
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
13
adverbTagCount
0
adverbTags
(empty)
dialogueSentences
174
tagDensity
0.075
leniency
0.149
rawRatio
0
effectiveRatio
0
98.06%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
2580
totalAiIsmAdverbs
1
found
0
adverb
"slowly"
count
1
highlights
0
"slowly"
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)
86.43%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
2580
totalAiIsms
7
found
0
word
"comfortable"
count
1
1
word
"stomach"
count
1
2
word
"flicked"
count
1
3
word
"comforting"
count
1
4
word
"silence"
count
1
5
word
"footsteps"
count
1
6
word
"streaming"
count
1
highlights
0
"comfortable"
1
"stomach"
2
"flicked"
3
"comforting"
4
"silence"
5
"footsteps"
6
"streaming"
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
183
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
1
hedgeCount
0
narrationSentences
183
filterMatches
0
"look"
hedgeMatches
(empty)
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
344
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
repeatedSegmentCount
0
maxSentenceWordsSeen
47
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
2580
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
41
unquotedAttributions
0
matches
(empty)
0.00%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
94
wordCount
1503
uniqueNames
15
maxNameDensity
2.86
worstName
"Rory"
maxWindowNameDensity
5
worstWindowName
"Rory"
discoveredNames
Lucien
24
Moreau
1
Silas
8
Rory
43
Carter
2
Golden
1
Empress
1
Eva
6
Brick
1
Lane
1
Ptolemy
2
Ellis
1
Welsh
1
Sunday
1
Cardiff
1
persons
0
"Lucien"
1
"Moreau"
2
"Silas"
3
"Rory"
4
"Carter"
5
"Eva"
6
"Ptolemy"
7
"Ellis"
places
0
"Golden"
1
"Brick"
2
"Lane"
3
"Cardiff"
globalScore
0.07
windowScore
0
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
117
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
2580
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
0
totalSentences
344
matches
(empty)
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
263
mean
9.81
std
10.3
cv
1.05
sampleLengths
0
17
1
11
2
7
3
8
4
22
5
9
6
8
7
5
8
5
9
1
10
43
11
9
12
2
13
1
14
1
15
19
16
16
17
18
18
27
19
4
20
7
21
4
22
6
23
40
24
15
25
9
26
4
27
4
28
11
29
58
30
4
31
4
32
9
33
1
34
2
35
34
36
5
37
2
38
2
39
6
40
8
41
6
42
2
43
7
44
18
45
11
46
2
47
4
48
10
49
37
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
0
totalSentences
183
matches
(empty)
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
279
matches
(empty)
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
0
semicolonCount
1
flaggedSentences
1
totalSentences
344
ratio
0.003
matches
0
"His amber eye caught the light from the cooker hood; the other remained black."
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1503
adjectiveStacks
0
stackExamples
(empty)
adverbCount
35
adverbRatio
0.023286759813705923
lyAdverbCount
3
lyAdverbRatio
0.001996007984031936
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
344
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
344
mean
7.5
std
5.36
cv
0.715
sampleLengths
0
17
1
11
2
7
3
8
4
5
5
17
6
9
7
3
8
5
9
5
10
5
11
1
12
15
13
5
14
13
15
10
16
9
17
2
18
1
19
1
20
19
21
2
22
14
23
12
24
6
25
3
26
11
27
13
28
4
29
7
30
4
31
6
32
19
33
8
34
13
35
3
36
12
37
9
38
4
39
4
40
3
41
8
42
25
43
13
44
8
45
12
46
4
47
4
48
9
49
1
47.67%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
8
diversityRatio
0.23837209302325582
totalSentences
344
uniqueOpeners
82
60.61%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
3
totalSentences
165
matches
0
"Only afterwards had she learnt"
1
"Instead, he loosened his grip"
2
"Then he stopped."
ratio
0.018
100.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
47
totalSentences
165
matches
0
"His gaze dropped to the"
1
"She moved to close it."
2
"His hand did not move."
3
"His platinum hair, usually slicked"
4
"He withdrew his fingers at"
5
"It curled around the edge"
6
"His mouth tightened."
7
"He looked past her, taking"
8
"Her delivery bag sat on"
9
"She snatched them away before"
10
"She carried the knife to"
11
"She could still remember the"
12
"He drew out a folded"
13
"It showed a sheet of"
14
"She tightened her grip."
15
"His amber eye caught the"
16
"It lay against the salt"
17
"His hand closed around the"
18
"She saw the movement and"
19
"He had held her there"
ratio
0.285
20.61%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
145
totalSentences
165
matches
0
"Rory opened the door with"
1
"His gaze dropped to the"
2
"She moved to close it."
3
"Lucien caught the edge before"
4
"Rory pressed harder."
5
"His hand did not move."
6
"A heavy thud sounded from"
7
"Lucien glanced towards the stairwell."
8
"His platinum hair, usually slicked"
9
"A dark stain marked the"
10
"Rory lowered the knife enough"
11
"He withdrew his fingers at"
12
"The brass keyhole filled with"
13
"Rory stepped back."
14
"A thin line spread from"
15
"It curled around the edge"
16
"The line slipped beneath the"
17
"Rory grabbed the bottle of"
18
"The black thread touched the"
19
"A sharp smell rose from"
ratio
0.879
60.61%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
2
totalSentences
165
matches
0
"Before she could turn the"
1
"Now Rory tore the packet"
ratio
0.012
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
63
technicalSentenceCount
2
matches
0
"Rory’s flat occupied the space above Silas’s bar, with a narrow kitchenette at one end and a sofa that had surrendered its shape years ago."
1
"Jennifer Carter taught Welsh history to teenagers who complained about homework and stole biscuits from her desk."
100.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
13
uselessAdditionCount
0
matches
(empty)
100.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
13
fancyCount
1
fancyTags
0
"Silas shouted (shout)"
dialogueSentences
174
tagDensity
0.075
leniency
0.149
rawRatio
0.077
effectiveRatio
0.011
89.1330%