NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-03-12-01KKHZTFA8BDV952ZV4DR6S0EE
Run Details
Model:
Grok 4.20 (Beta)
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
20.0s
Cost:
$0.023505
Provider:
xAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
81.89%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
44.02%
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)
100.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)
97.58%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
45.51%
Sentence opener variety
(details)
100.00%
Adverb-first sentence starts
(details)
77.35%
Pronoun-first sentence starts
(details)
57.43%
Subject-first sentence starts
(details)
18.38%
Subordinate conjunction sentence starts
(details)
100.00%
Technical jargon density
(details)
100.00%
Useless dialogue additions
(details)
72.08%
Dialogue tag variety (said vs. fancy)
(details)
89.8081%
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's fist hovered an inch
from the wood, knuckles white. She knocked anyway. Three sharp raps that
echoed
down the narrow stairwell above the curry house.
The smell of turmeric and
frying onions clung to her delivery jacket, but beneath it her
pulse
hammered like a snare drum. The first deadbolt slid back. Then the second. The third.
The door cracked open on
its chain and Eva's tabby, Ptolemy, immediately
tried to
squeeze through the gap. A
familiar
silhouette blocked him. Lucien.
He wore the same charcoal
suit she remembered, though the tie hung loose now, collar open to reveal the sharp line of his throat. One amber eye widened, the black one stayed cool and
unreadable
.
The ivory-handled cane rested against
the wall behind him like a silent threat. "Rory."
Her name left his mouth
like a match struck in dry tinder. Not a question. Not quite a greeting. Something that lived between them, raw and unfinished. She lifted her chin. "Eva's not answering her mobile. She told me if she ever went dark to come here. So here I am."
He studied her for a
beat too long.
The small crescent scar on
her left wrist itched under his gaze.
Then he unhooked the chain
and stepped back. "She is not here." Rory hesitated on the threshold.
The flat looked exactly as
she remembered: every surface buried under books and scrolls, Ptolemy's water bowl tipped over in the corner again.
The same faint smell of
old paper and sandalwood incense. But now Lucien's sleek leather briefcase sat on the coffee table like an intruder in Eva's organised chaos. She stepped inside anyway.
The door clicked shut behind
her with heavy finality. "You have a key to my best friend's flat now?"
The words tasted bitter
. "That's new."
Lucien moved to the small
kitchenette without answering.
He filled the kettle with
the same precise movements she used to watch across crowded rooms, back when watching him hadn't hurt. "She asked me to watch Ptolemy while she followed a lead in Prague. Something about a grimoire. You know how she gets." "I do." Rory shrugged out of her delivery jacket and tossed it over the back of a chair. The motion pulled her shirt tight across her chest.
She caught him noticing before
he turned to the cupboard. "And you just happened to be available?" "Available is not the word I would use."
He selected two mismatched mugs
. One had a chip in the rim shaped like a crescent moon. Her favourite, once. "But when Eva Carter's oldest friend calls in a panic at three in the morning, even I make time." The kettle clicked off. Steam curled between them like a question neither wanted to answer first. Rory crossed her arms. "Three in the morning? She rang you?" "Correct."
He poured water over teabags
with careful hands. The scent of bergamot bloomed sharp and
familiar
. Earl Grey. Of course he remembered. "She said she did not want you involved. Yet here you stand in my... temporary domain." "Your temporary domain."
She laughed, short and sharp
. "That's what we're calling it? Last time I saw you, you told me demons and humans were better off not mixing business with pleasure. Then you disappeared for six months." Lucien set the mug in front of her. Their fingers brushed. Electricity crackled up her arm, the same unwelcome spark that had started everything between them last year.
He withdrew his hand too
quickly
. "I did not disappear. I was handling matters in Marseille."
His voice dropped, the French
slipping through like smoke. "Family business. The kind that leaves marks." Rory's gaze
flicked
to the thin scar that disappeared beneath his collar.
She remembered tracing it with
her tongue. Remembered the way he'd shuddered under her touch before pulling away like she'd burned him.
She took a sip of
tea to steady herself. Too hot. It scalded her tongue. Good. "And now you're Eva's cat-sitter. The great Lucien Moreau, information broker to the supernatural underworld, reduced to scooping litter." A ghost of a smile touched his lips.
It didn't reach his mismatched
eyes. "Ptolemy and I have an understanding. He does not shred my suits. I do not turn him into a newt." The cat in question
chose that moment
to leap onto the counter and butt his head against Lucien's arm. The gesture looked almost affectionate. Traitor. Rory watched them. The easy way Lucien scratched behind Ptolemy's ears. The way the half-demon's shoulders relaxed fractionally. For a moment she saw the man she'd met in Silas's bar six months ago. Not the fixer. Not the half-demon with secrets stacked like bodies in his wake. Just Luc. The one who'd kissed her like she was the answer to every question he'd ever asked. Her chest tightened. "Why didn't you call?" The question slipped out before she could stop it. Softer than she wanted. "After that night. After you... after we..." Lucien went
very
still. The amber eye darkened to molten gold. "You know why." "No." She set her mug down hard enough that tea sloshed over the rim. "I know you got spooked. I know you said something about how your father's blood would only poison anything good. But I don't know why you didn't even give me the chance to decide for myself." He turned away, gripping the edge of the counter. The tailored jacket pulled tight across his shoulders. "My father does not simply disapprove of human attachments, Rory. He collects them. Like pretty stones. Then he breaks them to watch the pieces scatter." The words hung between them. Heavy. True. But not the whole truth. She
could feel
it in the way he wouldn't meet her eyes. Rory stepped closer. Close enough to smell his cologne, something expensive and woody that made her want to bury her face in his neck even now. "I'm not a stone, Luc. And I'm not scared of your father." "You should be." He faced her
suddenly
. The black eye
seemed to
swallow light. "He has already taken notice. That is why I left. To draw him away from you. From Eva. From this entire bloody city if I must." Her breath caught. Six months of
silence
suddenly
made a terrible kind of sense. The unanswered texts. The way Silas had looked at her with pity every time she asked if Lucien had been by the bar. "You absolute idiot." The words came out rough. "You don't get to make that choice for me." "Apparently not." His gaze dropped to her mouth. "Since you are here anyway." The air thickened. Ptolemy jumped down from the counter with an indignant meow, sensing the shift. Rory's heart
thundered
against her ribs. She could step back. She could leave right now and never look at that mismatched stare again. She didn't move. Lucien's hand rose
slowly
,
as if giving her every chance to pull away
. His fingers brushed her jaw, thumb
tracing
the line of her cheekbone like he
was memorising
her all over again. The touch burned. "I hated every day without you," he said quietly. The French accent thickened. "Every single one." "Then stop running." His laugh held no humour. "You think this is running? This is standing still while the world burns around me." His other hand found her waist, pulling her closer until their bodies
aligned
. Heat radiated from him in waves. "Eva will not be back for days. She made that
very
clear when she rang." The
implication
settled between her thighs like a promise. Rory's fingers curled into his lapels. The fabric felt expensive under her palms. "Is that your idea of seduction? Telling me my best friend is out of the country?" "No." He leaned down until his lips hovered a breath from hers. "My idea of seduction involves far fewer clothes and much more creative uses of that desk over there." Her
stomach
flipped. Memory crashed over her, the night they'd almost, the way his cane had clattered to the floor as he'd backed her against a wall in an alley behind Silas's bar. The way he'd stopped himself even as she'd begged him not to. "Don't you dare stop this time," she whispered against his mouth. Lucien's control snapped. He kissed her like a man drowning and she'd
suddenly
become oxygen. No hesitation. No careful distance.
Just months of pent-up hunger
unleashed. His tongue swept into her mouth, tasting of bergamot and something darker, something that wasn't entirely human. Rory moaned into the kiss, the sound vibrating between them. His hands moved with purpose. One fisted in her hair, tilting her head back to deepen the angle. The other slid under her shirt, palm hot against her bare skin. She arched into his touch, nails scraping down his chest as she worked his tie free. They stumbled backwards. Her hip hit the table. A stack of Eva's research notes
fluttered
to the floor. Neither of them cared. Lucien lifted her easily, setting her on the edge of the table. The position brought them level. Perfect. She wrapped her legs around his waist and pulled him closer, grinding against the evident hardness in his trousers. The friction drew a growl from deep in his throat. "Still so impatient," he murmured against her neck. His teeth grazed her
pulse
point.
Not hard enough to break skin, but enough to send sparks racing down her spine
. "You've been gone six months." She tugged his shirt from his trousers, desperate for skin. "Impatient doesn't begin to cover it." His laugh
vibrated
against her collarbone.
Then his mouth found the
sensitive spot just below her ear and she forgot how to form words entirely. His fingers worked the buttons of her shirt with practised ease, revealing inch by inch of skin he'd once worshipped with his tongue. When his palm cupped her breast through her bra, thumb circling her nipple, Rory's head fell back. A broken sound escaped her. She felt him smile against her throat. "Still so responsive." The words held wonder. "Even after everything." "Especially after everything." She reached between them and palmed him through his trousers. Hard. Hot. Hers. "Don't talk. Don't think. Just..." Lucien caught her wrist. The one with the crescent scar. His thumb
traced
it
gently
, the gesture at odds with the hunger in his eyes. For a moment the careful, controlled fixer returned. "Are you certain? Once we start this again, there is no walking away. Not from me. Not from what I am." Rory looked at the two different eyes watching her. Amber and black. Human and demon. The man who'd left to protect her and the one who'd come back anyway. She freed her hand and brought it to his face, mirroring the way he'd touched her earlier. "I was never the one who walked away, Luc." Something
fractured
in his expression.
Then he was kissing her
again, deeper, more desperate. The remaining buttons on her shirt gave way with a soft rip. Her bra followed. Cool air kissed her heated skin before his mouth replaced it, hot and
perfect
. She cried out as he sucked her nipple into his mouth. The sensation shot straight to her core. Her hands fisted in his platinum hair, holding him there as he lavished attention on first one breast then the other. The table creaked beneath them.
Somewhere behind her, more papers
fell. Ptolemy complained loudly from the windowsill. Neither of them noticed. Lucien's free hand worked at the button of her jeans. The zipper sounded impossibly loud in the quiet flat. When his fingers slipped beneath her knickers and found her already wet, they both groaned. "So ready for me," he rasped against her skin. Two fingers circling her entrance, teasing. "Always so ready." "Luc." His name came out as a plea. She rocked against his hand, chasing friction. "Please." He pushed two fingers inside her without warning. Rory's back arched, a sharp cry escaping her lips. The stretch burned beautifully. He curled his fingers just right, finding that spot that made stars burst behind her eyelids. "Look at you." His voice had gone rough, the cultured accent fracturing. "Falling apart on my fingers like you were made for it." She was close already. Embarrassingly close. Six months of nothing but memories and her own inadequate touch had left her desperate. Lucien
seemed to
know it. He worked her with practised precision, thumb finding her clit and circling in time with his fingers. The orgasm built like a storm. She chased it, hips rolling, nails digging into his shoulders through his shirt. So close. So— He stopped. Rory's eyes flew open. "What are you—" Lucien stepped back. His chest heaved. His lips were swollen from their kisses, hair dishevelled from her hands. The sight of him like this, undone, nearly made her come without him touching her at all. He offered his hand. "Not here." The words came out strained. "Not on Eva's bloody research notes." She took his hand. Let him pull her off the table. Her legs shook. Her jeans hung open. Her shirt gaped. She didn't care. Lucien led her through the cramped flat to the narrow bedroom. Eva's bed dominated the small space, piled high with more books. He swept them aside with one impatient gesture. The thud of hardcovers hitting the floor barely registered.
Then he was on her
again. Kissing her as they fell onto the mattress. Hands everywhere. Clothes disappearing between frantic touches. When he finally shed his shirt, Rory took a moment to stare. The lean muscle. The scars that mapped a violent history. The way his chest rose and fell with barely controlled need. She reached for his belt. He caught her hands again. Pinned them above her head with one of his own. The position left her stretched out beneath him, vulnerable. The dominance should have scared her.
Instead heat pooled low in
her belly. "Let me." His free hand
traced
down her body. Between her breasts. Over her
stomach
. Lower. "I need to taste you first. Six months, Rory. Six months of dreaming about this." She whimpered as he settled between her thighs. The first swipe of his tongue nearly ended her. He licked into her like a man starved, humming appreciation against her most sensitive flesh. The vibration made her thighs tremble. "Luc— God—" "Not God." He sucked her clit into his mouth, then released it with a soft pop. "Just me. Say it." "You." The word broke on a gasp as he plunged his tongue inside her. "Just you. Always you." He rewarded her with two fingers again, curling them in that devastating rhythm while his mouth worked her clit. The dual sensation overwhelmed her. She came with a sharp cry, back bowing off the bed, vision whiting out. Lucien didn't stop. He gentled his movements but kept going, drawing out every aftershock until she
was shaking
, oversensitive, begging.
Only then did he rise
above her. His trousers
were gone
now. His cock stood hard and flushed against his
stomach
. The sight made her mouth water. He reached for the bedside table. A foil packet. Smart.
Even half-mad with lust, the
fixer in him remained careful. Rory took it from him. "Let me." She rolled the condom on with trembling fingers. The intimacy of it, the way his
jaw clenched
as her hand stroked him, nearly undid her again. When he finally pushed inside her, they both stilled. The stretch. The fullness. The way he looked at her like she was everything he'd ever wanted and everything he feared losing. Rory wrapped her legs around his waist and pulled him deeper. "Move," she whispered. Lucien moved. Each thrust built on the last. Deep. Steady. Then faster. The bed creaked beneath them in rhythm with their bodies. Sweat slicked their skin. The sounds of their joining filled the small room, obscene and
perfect
. Rory met him thrust for thrust. Nails raking down his back. Mouth seeking his in messy, desperate kisses. The second orgasm built differently this time. Deeper. More intense. "I'm close," she gasped against his mouth. "Come for me." His accent had
completely
unravelled now. Pure Marseille streets mixed with something ancient and demonic. "Let me feel you." She
shattered
. The orgasm crashed through her like a wave breaking. She clenched around him, crying out his name. Lucien followed moments later, burying his face in her neck as he came with a guttural groan that sounded almost pained. They stayed locked together as the aftershocks faded. His
weight
pressed her into the mattress. Comforting. Real. His heartbeat
thundered
against her breast.
Eventually he rolled to the
side, disposing of the condom with a quick,
efficient
movement before pulling her against his chest. One arm wrapped around her waist. The other hand found hers, fingers intertwining. His thumb
traced
her crescent scar with
something like reverence
. Rory listened to his heartbeat slow. Watched the rise and fall of his chest. The flat was quiet now except for Ptolemy's faint purring from the other room. Outside, someone shouted in Bengali near the curry house. Normal London sounds filtered through the window. Inside, everything felt changed. She tilted her head to look at him. "We should talk about this." Lucien's mismatched eyes
were already closing
, but his lips curved in a small smile. "Later." "Luc—" "Later." He pulled her closer, tucking her head under his chin. "Right now I have six months to make up for. And Eva's not due back until Thursday." Rory smiled into his skin. The complications could wait. The danger. The questions about his father. The way the supernatural world kept trying to pull them apart. For now, there was just this. Them. The flat on Brick Lane with its books and its cat and its three deadbolts that
suddenly
didn't feel nearly secure enough. She pressed a kiss to the scar on his collarbone. "Thursday," she agreed
softly
. But even as she said it, she knew they were both lying. Whatever this was between them had already broken every deadline, every boundary, every careful plan either of them had ever made. And she wouldn't have it any other way.
created_at
"2026-03-12T21:39:10.286Z"
3/12/2026, 9:39:10 PM
model
"x-ai/grok-4.20-beta-20260309"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
521
moderation_latency
(null)
generation_time
19887
tokens_prompt
4556
tokens_completion
4599
native_tokens_prompt
4114
native_tokens_completion
3775
native_tokens_completion_images
0
native_tokens_reasoning
0
native_tokens_cached
4096
num_media_prompt
(null)
num_input_audio_prompt
(null)
num_media_completion
0
num_search_results
(null)
origin
"https://ncbench.com/"
is_byok
false
finish_reason
"stop"
native_finish_reason
"completed"
usage
0.0235052
router
(null)
provider_responses
0
endpoint_id
"33f49f24-a0de-4dcf-872d-ca514e83fbae"
id
"ec597c33-0b41-792d-57f8-db6e72a12ba7"
is_byok
false
latency
521
model_permaslug
"x-ai/grok-4.20-beta-20260309"
provider_name
"xAI"
status
200
user_agent
"langchainjs-openai/1.0.0 ((node/v24.14.0; linux; x64))"
http_referer
(null)
api_type
"completions"
id
"gen-1773351550-bs7NJe5HvzcculvWsuI6"
upstream_id
"ec597c33-0b41-792d-57f8-db6e72a12ba7"
total_cost
0.0235052
cache_discount
0.0073728
upstream_inference_cost
0
provider_name
"xAI"
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
31
adverbTagCount
3
adverbTags
0
"he said quietly [quietly]"
1
"His accent had completely [completely]"
2
"she agreed softly [softly]"
dialogueSentences
77
tagDensity
0.403
leniency
0.805
rawRatio
0.097
effectiveRatio
0.078
81.89%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
3037
totalAiIsmAdverbs
11
found
0
adverb
"quickly"
count
1
1
adverb
"very"
count
2
2
adverb
"suddenly"
count
4
3
adverb
"slowly"
count
1
4
adverb
"gently"
count
1
5
adverb
"completely"
count
1
6
adverb
"softly"
count
1
highlights
0
"quickly"
1
"very"
2
"suddenly"
3
"slowly"
4
"gently"
5
"completely"
6
"softly"
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)
44.02%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
3037
totalAiIsms
34
found
0
word
"echoed"
count
1
1
word
"pulse"
count
2
2
word
"familiar"
count
2
3
word
"unreadable"
count
1
4
word
"flicked"
count
1
5
word
"tracing"
count
2
6
word
"could feel"
count
1
7
word
"silence"
count
1
8
word
"thundered"
count
2
9
word
"aligned"
count
1
10
word
"implication"
count
1
11
word
"stomach"
count
3
12
word
"fluttered"
count
1
13
word
"perfect"
count
3
14
word
"racing"
count
1
15
word
"down her spine"
count
1
16
word
"vibrated"
count
1
17
word
"traced"
count
3
18
word
"fractured"
count
1
19
word
"jaw clenched"
count
1
20
word
"shattered"
count
1
21
word
"weight"
count
1
22
word
"comforting"
count
1
23
word
"efficient"
count
1
highlights
0
"echoed"
1
"pulse"
2
"familiar"
3
"unreadable"
4
"flicked"
5
"tracing"
6
"could feel"
7
"silence"
8
"thundered"
9
"aligned"
10
"implication"
11
"stomach"
12
"fluttered"
13
"perfect"
14
"racing"
15
"down her spine"
16
"vibrated"
17
"traced"
18
"fractured"
19
"jaw clenched"
20
"shattered"
21
"weight"
22
"comforting"
23
"efficient"
100.00%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
1
maxInWindow
1
found
0
label
"jaw/fists clenched"
count
1
highlights
0
"jaw clenched"
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
1
narrationSentences
307
matches
0
"r with pity"
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
0
hedgeCount
3
narrationSentences
307
filterMatches
(empty)
hedgeMatches
0
"tried to"
1
"seemed to"
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
353
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
maxSentenceWordsSeen
36
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
3037
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
17
unquotedAttributions
0
matches
(empty)
100.00%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
71
wordCount
2450
uniqueNames
19
maxNameDensity
0.82
worstName
"Lucien"
maxWindowNameDensity
1.5
worstWindowName
"Lucien"
discoveredNames
Eva
4
Ptolemy
6
Lucien
20
One
4
Grey
1
French
2
Rory
20
Silas
3
Luc
1
Softer
1
Heat
1
Hard
1
Two
1
Pure
1
Marseille
1
Bengali
1
London
1
Brick
1
Lane
1
persons
0
"Eva"
1
"Ptolemy"
2
"Lucien"
3
"One"
4
"Grey"
5
"Rory"
6
"Silas"
7
"Luc"
8
"Heat"
places
0
"Marseille"
1
"Bengali"
2
"London"
3
"Brick"
4
"Lane"
globalScore
1
windowScore
1
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
182
glossingSentenceCount
2
matches
0
"as if giving her every chance to pull away"
1
"something like reverence"
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
1
per1kWords
0.329
wordCount
3037
matches
0
"Not hard enough to break skin, but enough to send sparks racing down her spine"
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
1
totalSentences
353
matches
0
"chose that moment"
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
116
mean
26.18
std
15.28
cv
0.584
sampleLengths
0
48
1
10
2
23
3
1
4
48
5
1
6
27
7
24
8
32
9
56
10
13
11
16
12
52
13
44
14
47
15
16
16
11
17
39
18
38
19
34
20
26
21
34
22
35
23
34
24
25
25
65
26
3
27
24
28
14
29
50
30
42
31
24
32
38
33
40
34
37
35
17
36
13
37
39
38
3
39
36
40
16
41
3
42
54
43
38
44
30
45
45
46
11
47
3
48
50
49
46
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
1
totalSentences
307
matches
0
"were gone"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
4
totalVerbs
427
matches
0
"was memorising"
1
"was kissing"
2
"was shaking"
3
"were already closing"
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
1
semicolonCount
0
flaggedSentences
1
totalSentences
353
ratio
0.003
matches
0
"So—"
97.58%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
2455
adjectiveStacks
0
stackExamples
(empty)
adverbCount
105
adverbRatio
0.04276985743380855
lyAdverbCount
32
lyAdverbRatio
0.013034623217922607
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
353
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
353
mean
8.6
std
6.13
cv
0.713
sampleLengths
0
10
1
3
2
13
3
22
4
5
5
3
6
2
7
18
8
5
9
1
10
24
11
11
12
13
13
1
14
12
15
3
16
4
17
8
18
4
19
20
20
8
21
12
22
8
23
4
24
5
25
23
26
10
27
18
28
4
29
9
30
14
31
2
32
8
33
22
34
22
35
18
36
9
37
10
38
7
39
13
40
12
41
3
42
19
43
4
44
12
45
4
46
7
47
9
48
8
49
2
45.51%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
26
diversityRatio
0.31728045325779036
totalSentences
353
uniqueOpeners
112
100.00%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
11
totalSentences
272
matches
0
"Then the second."
1
"Then he unhooked the chain"
2
"Of course he remembered."
3
"Just months of pent-up hunger"
4
"Then his mouth found the"
5
"Then he was kissing her"
6
"Somewhere behind her, more papers"
7
"Then he was on her"
8
"Instead heat pooled low in"
9
"Only then did he rise"
10
"Eventually he rolled to the"
ratio
0.04
77.35%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
97
totalSentences
272
matches
0
"She knocked anyway."
1
"He wore the same charcoal"
2
"Her name left his mouth"
3
"She lifted her chin."
4
"He studied her for a"
5
"She stepped inside anyway."
6
"He filled the kettle with"
7
"She caught him noticing before"
8
"He selected two mismatched mugs"
9
"Her favourite, once."
10
"He poured water over teabags"
11
"She laughed, short and sharp"
12
"Their fingers brushed."
13
"He withdrew his hand too"
14
"His voice dropped, the French"
15
"She remembered tracing it with"
16
"She took a sip of"
17
"It scalded her tongue."
18
"It didn't reach his mismatched"
19
"Her chest tightened."
ratio
0.357
57.43%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
219
totalSentences
272
matches
0
"Rory's fist hovered an inch"
1
"She knocked anyway."
2
"The smell of turmeric and"
3
"The first deadbolt slid back."
4
"The door cracked open on"
5
"A familiar silhouette blocked him."
6
"He wore the same charcoal"
7
"The ivory-handled cane rested against"
8
"Her name left his mouth"
9
"Something that lived between them,"
10
"She lifted her chin."
11
"He studied her for a"
12
"The small crescent scar on"
13
"Rory hesitated on the threshold."
14
"The flat looked exactly as"
15
"The same faint smell of"
16
"She stepped inside anyway."
17
"The door clicked shut behind"
18
"The words tasted bitter"
19
"Lucien moved to the small"
ratio
0.805
18.38%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
1
totalSentences
272
matches
0
"Even half-mad with lust, the"
ratio
0.004
100.00%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
87
technicalSentenceCount
5
matches
0
"Three sharp raps that echoed down the narrow stairwell above the curry house."
1
"Electricity crackled up her arm, the same unwelcome spark that had started everything between them last year."
2
"His tongue swept into her mouth, tasting of bergamot and something darker, something that wasn't entirely human."
3
"He curled his fingers just right, finding that spot that made stars burst behind her eyelids."
4
"Lucien followed moments later, burying his face in her neck as he came with a guttural groan that sounded almost pained."
100.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
31
uselessAdditionCount
0
matches
(empty)
72.08%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
7
fancyCount
6
fancyTags
0
"She laughed (laugh)"
1
"she whispered (whisper)"
2
"he murmured (murmur)"
3
"she whispered (whisper)"
4
"she gasped (gasp)"
5
"she agreed softly (agree)"
dialogueSentences
77
tagDensity
0.091
leniency
0.182
rawRatio
0.857
effectiveRatio
0.156
89.8081%