Run: 2026-04-24-01KQ0PFV21N3GTWFVCWSFKAZBA

Run Details

Duration:
1m 19s
Cost:
$0.099905
Provider:
OpenAI

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

AI
“Open the fourth lock, Aurora.” “There are three.” “Then you have improved your habits less than I hoped.” Aurora held the door on the chain and stared through the narrow gap at Lucien Moreau, who had no business standing outside Eva’s flat with blood on his cuff and that damned ivory-handled cane tucked beneath one gloved hand. For half a second, the corridor shrank around him. He looked exactly as she remembered and nothing like memory at all. Tailored charcoal suit, slicked-back platinum hair, one amber eye and one black eye fixed on her as if she had opened more than a door. His mouth, cruelly lovely, held the faintest curve. Not quite a smile. Lucien never wasted those unless he wanted something. Aurora tightened her fingers around the chain. “Go away.” “I would prefer not to bleed on Miss Eva’s landing.” “That sounds like a you problem.” “It will become a building problem in twelve seconds.” A wet scrape dragged up the stairwell below them. Ptolemy, Eva’s fat tabby cat, shot between Aurora’s ankles and vanished under a leaning tower of grimoires. The books trembled. A scroll rolled off the kitchen counter and unfurled across a heap of laundry. Aurora looked past Lucien’s shoulder. Something large breathed in the stairwell. Not human. Not animal. The sound rasped like knives pulled through wet rope. Lucien’s gaze did not leave her. “Rory.” No one said her nickname like him. Eva made it warm. Yu-Fei barked it over takeaway bags. Lucien turned it into a secret pressed under the tongue. She hated that her wrist remembered his hand before her mind allowed it. “Who followed you?” “A misunderstanding.” “With teeth?” “Several.” Another scrape. Closer now. Aurora unhooked the chain and yanked him inside. Lucien moved through the opening in a rush of expensive wool, cold air, and copper. She slammed the door, shot the first deadbolt, then the second. The third stuck, swollen in the frame. She kicked the bottom of the door once and forced the bolt home. The door shuddered. A claw punched through the wood where Lucien’s head had been. Aurora stumbled back. Lucien’s arm swept around her waist and pulled her against him, hard. Her palms landed on his chest. His heart beat beneath her left hand, too slow, too steady. “Still collecting trouble like rare coins, I see.” “You let me in.” “You said twelve seconds.” “I was optimistic.” The claw withdrew with a splintering hiss. A black fluid dripped from the hole and smoked where it hit Eva’s welcome mat, which read GO AWAY, I’M RESEARCHING. Aurora grabbed Lucien’s wrist and dragged him across the cramped flat. Eva’s place always looked as if a library had lost a fight with a conspiracy board. Books covered every surface. Research notes hung from string along the walls, pinned with colour-coded clips. Three chipped mugs occupied the windowsill, each filled with pens, dead herbs, or something that might once have been tea. The curry house below perfumed the floorboards with cumin, hot oil, and scorched onions, but Lucien’s blood cut through it. Sharp. Metallic. Recent. He leaned against the table and lifted his injured hand. “Do you have salt?” “A normal person asks for a bandage.” “A normal person is not being pursued by a debt-eater.” Aurora froze beside the kitchen cupboard. “A what?” The door shook again. Books slid off a shelf. Ptolemy yowled from beneath the sofa. Lucien set his cane on the table and twisted the ivory handle. Steel whispered free, thin and bright. “Avarosi nuisance. Nasty appetite. Poor conversationalist.” “Why is it here?” “It wants what I took.” “What did you take?” His eyes flicked to the left, to the corner where Eva kept her oldest scrolls wrapped in blue silk. Aurora’s stomach dropped. “No.” “Aurora.” “No, you did not bring that thing here because of Eva’s research.” “In my defence, I expected you to be at your own flat.” “In your defence?” She snatched the salt tin from the cupboard and threw it at his chest. He caught it one-handed. “You expected to endanger fewer people?” “I expected to see you.” The words landed too cleanly. Aurora turned away first, because the alternative involved looking at his mouth, and she had made that mistake before. In an alley behind Silas’ bar. With rain in her collar, demon ash on her cheek, and Lucien’s blood under her nails. He had kissed her as if he could swallow every terrible thing he had done and feed her the excuse. Then he had disappeared before dawn with a note that said, Better anger than grief. She had burned the note in a wok at the Golden Empress. The door buckled. “Salt line,” Lucien said. “I know what to do.” “I remember.” “Don’t.” He stilled. Aurora ripped open the tin and poured a thick white line across the floor in front of the door. Her hands did not shake. She would allow herself that much pride. Crescent scar on her left wrist flashed pale when the sleeve of Eva’s oversized jumper slipped back. Lucien saw it. Of course he did. He saw everything that hurt. The thing outside struck the door again. The salt hissed. Smoke curled through the gap beneath the frame. A low, hungry clicking filled the corridor, tick-tock, tick-tock, like a clock made of teeth. Aurora backed towards the table. “How long does that hold?” “For an ordinary debt-eater? Ten minutes.” “And this one?” Lucien adjusted his grip on the blade. “It looks motivated.” “Why did you come here?” His jaw tightened. “Because every ward between Soho and Brick Lane failed. Because your friend’s building sits on old brick and older bones. Because when my options narrowed, my feet chose badly.” “Your feet.” “Among other treacherous parts.” The air between them tightened, sudden and intimate. Aurora reached for the heavy iron poker Eva kept beside the tiny decorative fireplace she never used. It felt solid in her palm. Sensible. Unlike the man in front of her, who bled onto Eva’s cluttered table as if he owned the right to ruin everything twice. Lucien glanced at the poker. “Charming.” “I’m not holding it for charm.” “I remember that too.” The look he gave her scraped across every locked room in her chest. The alley. His hands cupping her face. His thumb at the corner of her mouth. The way he had paused, just once, as if asking permission without lowering himself to the word. She had given it. God help her, she had given it. Then he had left. The door gave a sharp crack. One of the hinges groaned. Aurora moved to the wall and tore down a page from Eva’s notes. Old ink. Spiral marks. A sketched mouth with no lips and too many inner rings of teeth. Lucien watched her. “You know what it is.” “Eva knows what it is. I just live among the madness and absorb it through damp.” “That symbol in the corner.” She followed his gaze. “Binding mark.” “Can you read the instruction?” “Badly.” “Badly is preferable to eaten.” The flat shook as the debt-eater slammed its weight against the door. The chain snapped loose and struck the wall. Aurora flinched but held the paper flat beneath a lamp. “‘Repayment demands witness.’” She squinted at Eva’s cramped handwriting. “‘A debt-eater cannot cross a confessed bargain line unless the debtor denies the debt.’ That’s ridiculous.” Lucien’s expression closed. Aurora looked up. “What did you bargain?” “Information.” “With what?” His mouth did that faint cruel thing again, but his fingers tightened on the sword. “Avaros does not run on sterling.” “Lucien.” “Names. Favours. Blood. Years. The usual vulgar currencies.” The debt-eater pressed something against the hole in the door. An eye appeared. Not an eye. A black coin set in pale gristle, rolling in its socket until it found Aurora. A whisper slid into the flat, soft as steam. “Laila.” Her blood chilled. Lucien moved before she did. He crossed the room and slammed the blade through the hole. The creature shrieked. Wood burst inward. The salt line flared white. Aurora grabbed his sleeve and hauled him back as the blade came free slick with black fluid. “It knows that name.” Lucien’s face lost all polish. “Do not answer it.” “Why does it know that name?” “Because I paid with it.” Silence crashed harder than the creature’s next blow. Aurora’s grip loosened. The sword lowered between them. “You what?” “I paid with your false name, not your true one.” “You had no right to pay with any part of me.” “I know.” “No, you don’t. You stand there in your pretty suit, bleeding on Eva’s tax forms, and you say it like confession fixes the crime.” “I said it because you asked.” “You sold my name.” “I used it to buy the location of the man hunting you.” The words cut through her anger, thin and precise. Evan. The flat seemed to tilt. Not from fear. Fear had an old shape where Evan lived, a hand over her mouth, a locked bathroom door, a phone smashed against tile. She had fled Cardiff with a duffel bag and a lie, taking Eva’s offer as if it were a rope thrown into dark water. Lucien knew pieces. Not all. Enough to make him dangerous. Aurora stepped closer, poker still in hand. “Say that again.” Lucien’s gaze lowered to her mouth, then rose with visible effort. “Your former lover made enquiries in London. Not human enquiries. He offered money to people who prefer pain as interest. I needed his location before he found yours.” “And your grand solution involved giving a demon my name?” “Not your name. Laila.” “That name kept me hidden.” “That name had already cracked.” She struck him across the face. The sound snapped through the flat. Lucien’s head turned with the blow. A red mark bloomed along one sharp cheekbone. He did not raise a hand to stop her. Did not blink. Aurora’s palm burned. Ptolemy hissed from under the sofa, offended on everyone’s behalf. Lucien looked back at her. The amber eye glowed faintly. The black eye swallowed the lamplight. “I deserved more.” “Don’t be noble. It doesn’t suit you.” “No. But it suited your safety.” “Stop wrapping betrayal in protection.” The door frame split. Lucien moved, fast. He shoved Aurora behind him as the debt-eater forced one long, jointed arm through the gap. Its fingers hit the salt and recoiled, smoking, then came again. It wanted in badly enough to burn. Aurora’s anger snapped into shape. “Confessed bargain line,” she said. Lucien’s eyes narrowed. “No.” “Yes.” “It will ask for payment.” “It’s already asking.” “Not from you.” Aurora pointed the poker at his chest. “You don’t get to make that choice twice.” The creature’s whisper slid through the broken door. “Debt. Debt. Debt.” Aurora snatched the salt tin, kicked aside a heap of notebooks, and drew a rough circle in the centre of Eva’s rug. The fibres drank the salt greedily. Lucien grabbed her wrist before she completed it. His thumb pressed over the crescent scar as if his body remembered every detail he had never earned. “Listen to me.” “I did. It was a mistake.” “If you stand in a bargain circle with an Avarosi debt-eater, it will taste every debt attached to you. Every promise. Every shame. Every person who thinks they own a piece of your skin.” Her throat tightened. Lucien’s voice lowered. “Men like Evan leave hooks. It will smell them.” “Then it can choke.” His grip tightened. Not enough to hurt. Enough to plead without the indignity of asking. “Aurora.” There it was. Her full name in his mouth, stripped of games. The door splintered again. A shoulder wedged through, hairless and grey, with black veins pulsing under loose skin. The thing clicked faster. Tick-tock, tick-tock, tick-tock. Aurora tore free and finished the circle. White light crawled along the line. The debt-eater stopped. Lucien cursed in French, low and vicious. Aurora stood inside the salt ring and faced the door. “Laila Carter stands witness.” Lucien’s blade dipped. “Rory, no.” The debt-eater peeled the broken door wider. Its head emerged sideways, too narrow for its mouth, too wide for its skull. Rows of teeth shifted behind its lips like a drawer full of needles. Black fluid ran down the door and over the salt line, but did not cross. It sniffed. “Laila.” Aurora lifted her chin. “Debt named. Debt heard.” Lucien stepped into the circle with her. The light snapped red. Aurora rounded on him. “Get out.” “No.” “You idiot.” “Frequently.” The debt-eater’s mouth stretched into a smile. “Two witnesses. Two debts.” Lucien’s shoulder brushed hers. Heat came off him in a low, unnatural pulse. Half-demon. Half-liar. Entirely too close. “Do not speak again unless I tell you.” “Give me one good reason.” “Because I know the old law.” “And I know you.” His gaze cut to hers. For one breath, the flat vanished. No broken door. No monster. No salt burning red at their feet. Only Lucien, close enough for her to see the small fleck of gold at the rim of his black eye. His face carried the mark of her hand. His cuff carried blood. His voice, when it came, had no polish left. “Then know this. I did not leave because I wanted to.” Her heart gave one hard, stupid kick. The debt-eater laughed. The sound crawled over the walls and set every pinned note trembling. “Debt. Debt. Debt. The Frenchman owes a name. The woman owes a door.” Aurora frowned. “A door?” Lucien went still. The creature’s head tilted towards the blue silk bundle in the corner. “Open.” Aurora followed its gaze, then understood too late. Eva’s old scrolls were not scrolls. The blue silk writhed. Ptolemy shot from beneath the sofa with a scream as the bundle burst open and a black key the length of Aurora’s forearm rose into the air, dripping shadow onto Eva’s floorboards. Lucien caught Aurora by the waist and yanked her against him as the key turned by itself in an invisible lock. The wall behind them split from ceiling to floor. Hot red light poured through the crack. Something on the other side spoke Lucien’s name.
created_at"2026-04-24T21:31:46.635Z" 4/24/2026, 9:31:46 PM
model"openai/gpt-5.5-20260423"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency3164
moderation_latency(null)
generation_time79344
tokens_prompt4556
tokens_completion4150
native_tokens_prompt4075
native_tokens_completion3227
native_tokens_completion_images0
native_tokens_reasoning44
native_tokens_cached3840
num_media_prompt(null)
num_input_audio_prompt(null)
num_media_completion0
num_search_results(null)
num_fetches(null)
web_search_engine(null)
origin"https://ncbench.com/"
is_byokfalse
finish_reason"stop"
native_finish_reason"completed"
usage0.099905
router(null)
provider_responses
0
endpoint_id"58e5b336-423e-430b-a2ab-8bc353f0c51b"
id"resp_08331b75d50169c00169ebe142b97881978e07b20651423e03"
is_byokfalse
latency296
model_permaslug"openai/gpt-5.5-20260423"
provider_name"OpenAI"
status200
user_agent"langchainjs-openai/1.0.0 ((node/v24.14.1; linux; x64))"
http_referer(null)
request_id"req-1777066306-ptIK43f89jQ7gSx6MrFf"
session_id(null)
api_type"completions"
id"gen-1777066306-sVoi7SIi5IMebiABKHam"
upstream_id"resp_08331b75d50169c00169ebe142b97881978e07b20651423e03"
total_cost0.099905
cache_discount0.01728
upstream_inference_cost0
provider_name"OpenAI"
response_cache_source_id(null)

Evaluation details

Result Evaluator Details Meta Data
100.00% Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags4
adverbTagCount0
adverbTags(empty)
dialogueSentences115
tagDensity0.035
leniency0.07
rawRatio0
effectiveRatio0
100.00% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2374
totalAiIsmAdverbs0
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)
68.41% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2374
totalAiIsms15
found
0
word"trembled"
count1
1
word"coded"
count1
2
word"flicked"
count1
3
word"silk"
count3
4
word"stomach"
count1
5
word"treacherous"
count1
6
word"charm"
count1
7
word"weight"
count1
8
word"whisper"
count2
9
word"chilled"
count1
10
word"silence"
count1
11
word"pulse"
count1
highlights
0"trembled"
1"coded"
2"flicked"
3"silk"
4"stomach"
5"treacherous"
6"charm"
7"weight"
8"whisper"
9"chilled"
10"silence"
11"pulse"
100.00% Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches2
maxInWindow1
found
0
label"eyes widened/narrowed"
count1
1
label"stomach dropped/sank"
count1
highlights
0"eyes narrowed"
1"stomach dropped"
100.00% Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells0
narrationSentences218
matches(empty)
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount0
hedgeCount1
narrationSentences218
filterMatches(empty)
hedgeMatches
0"seemed to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences329
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
repeatedSegmentCount0
maxSentenceWordsSeen40
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2374
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions16
unquotedAttributions0
matches(empty)
46.37% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions96
wordCount1737
uniqueNames11
maxNameDensity2.07
worstName"Lucien"
maxWindowNameDensity3.5
worstWindowName"Lucien"
discoveredNames
Lucien36
Moreau1
Eva15
Aurora33
Better1
Golden1
Empress1
Evan2
Cardiff1
French1
Ptolemy4
persons
0"Lucien"
1"Moreau"
2"Eva"
3"Aurora"
4"Evan"
5"Ptolemy"
places
0"Golden"
1"Cardiff"
2"French"
globalScore0.464
windowScore0.5
100.00% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences124
glossingSentenceCount1
matches
0"as if asking permission without lowering himself to the word"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches0
per1kWords0
wordCount2374
matches(empty)
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount2
totalSentences329
matches
0"hated that her"
1"made that mistake"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs223
mean10.65
std13.09
cv1.23
sampleLengths
05
13
210
339
49
557
67
72
810
96
109
119
1234
135
1419
156
161
1727
1813
193
202
212
221
234
248
2546
263
2711
2832
298
304
314
323
3328
3411
3575
3610
374
387
3910
406
412
4215
4318
446
454
465
474
4819
493
100.00% Passive voice overuse
Target: ≤2% passive sentences
passiveCount0
totalSentences218
matches(empty)
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount0
totalVerbs294
matches(empty)
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount0
semicolonCount0
flaggedSentences0
totalSentences329
ratio0
matches(empty)
94.00% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount1462
adjectiveStacks1
stackExamples
0"damned ivory-handled cane"
adverbCount39
adverbRatio0.02667578659370725
lyAdverbCount9
lyAdverbRatio0.006155950752393981
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences329
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences329
mean7.22
std5.95
cv0.824
sampleLengths
05
13
210
339
49
512
625
78
84
98
107
112
1210
136
149
159
1617
173
1814
195
206
212
222
239
246
251
267
274
286
2910
3013
313
322
332
341
352
362
378
3815
3911
407
4113
423
4311
443
4512
466
4711
488
494
43.62% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats21
diversityRatio0.2948328267477204
totalSentences329
uniqueOpeners97
84.60% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount5
totalSentences197
matches
0"Then he had disappeared before"
1"Of course he did."
2"Then he had left."
3"Entirely too close."
4"Only Lucien, close enough for"
ratio0.025
100.00% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount42
totalSentences197
matches
0"He looked exactly as she"
1"His mouth, cruelly lovely, held"
2"She hated that her wrist"
3"She slammed the door, shot"
4"She kicked the bottom of"
5"Her palms landed on his"
6"His heart beat beneath her"
7"He leaned against the table"
8"His eyes flicked to the"
9"She snatched the salt tin"
10"He caught it one-handed."
11"He had kissed her as"
12"She had burned the note"
13"Her hands did not shake."
14"She would allow herself that"
15"He saw everything that hurt."
16"His jaw tightened."
17"It felt solid in her"
18"His hands cupping her face."
19"His thumb at the corner"
ratio0.213
31.07% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount169
totalSentences197
matches
0"Aurora held the door on"
1"He looked exactly as she"
2"His mouth, cruelly lovely, held"
3"Lucien never wasted those unless"
4"Aurora tightened her fingers around"
5"A wet scrape dragged up"
6"Ptolemy, Eva’s fat tabby cat,"
7"The books trembled."
8"A scroll rolled off the"
9"Aurora looked past Lucien’s shoulder."
10"Something large breathed in the"
11"The sound rasped like knives"
12"Lucien’s gaze did not leave"
13"Eva made it warm."
14"Yu-Fei barked it over takeaway"
15"Lucien turned it into a"
16"She hated that her wrist"
17"Aurora unhooked the chain and"
18"Lucien moved through the opening"
19"She slammed the door, shot"
ratio0.858
0.00% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount0
totalSentences197
matches(empty)
ratio0
96.02% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences61
technicalSentenceCount4
matches
0"Aurora held the door on the chain and stared through the narrow gap at Lucien Moreau, who had no business standing outside Eva’s flat with blood on his cuff and…"
1"A black fluid dripped from the hole and smoked where it hit Eva’s welcome mat, which read GO AWAY, I’M RESEARCHING."
2"Unlike the man in front of her, who bled onto Eva’s cluttered table as if he owned the right to ruin everything twice."
3"His thumb pressed over the crescent scar as if his body remembered every detail he had never earned."
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags4
uselessAdditionCount0
matches(empty)
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags2
fancyCount0
fancyTags(empty)
dialogueSentences115
tagDensity0.017
leniency0.035
rawRatio0
effectiveRatio0
88.8028%