Run: 2026-03-18-01KM07BN711HRCD1NS4E6C4TE7

Run Details

Duration:
22.3s
Cost:
$0.006009
Provider:
OpenAI

Model input

System
You are an expert novelist with a gift for vivid, immersive prose. You write in tight third-person limited point of view with a strong narrative voice. Your prose is clean, precise, and engaging — you favor strong verbs, concrete details, and natural-sounding dialogue. You will be given a story bible (codex) containing canonical details about characters, locations, items, and lore. Use these details to ground your writing in the established world. Stay consistent with the codex. Write only the prose of the scene. Do not include titles, chapter headings, markdown formatting, or any commentary before or after the scene.
User/Human
<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> 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.

Model response

AI
The knock didn’t sound like the neighbours. Three quick raps, a pause, then again—too practiced for a courier, too deliberate for a drunk on Brick Lane. Aurora’s first thought was Evan, which made her stomach tighten so fast it felt like a hand had closed around it. Her second thought was: Not today. Not again. Ptolemy, the tabby cat with the offended set of his whiskers, had stretched out across a stack of scrolls on the windowsill as if he’d paid rent there. When the knocking came a third time, he lifted his head with the lazy precision of something that knew better than to be surprised. Aurora moved before she could talk herself out of it. The flat was a tight one-bedroom perched above a curry house—warm spice and steam lingering in the stairwell, even when she’d shut the kitchen window. Every surface inside was crowded with books and research notes: ledgers of names, stapled pamphlets, maps drawn in pen so dark it had bruised the paper. Her own work clutter lived beside Eva’s—Evs’ neat stacks, Aurora’s scattered pages that always ended up angled toward whatever problem she couldn’t stop touching. Aurora slid a hand along the wall to steady herself as she crossed the living room. She didn’t turn on the light over the hall; she left it dim, let the corridor stay half-shadowed, let the air decide what it wanted to hide. At the front door, she stopped. The front door sat behind three deadbolts—Eva’s idea, Eva’s paranoia, Eva’s insistence that fear was a kind of literacy. Aurora kept the habit, even when she wasn’t sure who she was reading for. She didn’t reach for all of them at once. She listened. Silence stretched for half a second—then the man cleared his throat, soft and amused. “Rory,” he said, like it was a key he’d kept in his pocket for years. Her fingers went cold around the metal. Lucien Moreau. She hadn’t heard his voice in—how long? A season of false calm. A winter of waking up expecting him to be gone again. She’d learned to count time by what hurt. Behind the door, his cane tapped once—ivory against wood, clean and controlled. The blade inside the cane would be another matter entirely if he decided to use it. Aurora leaned her forehead against the door for a heartbeat, as if she could press the sound into submission. “Don’t open it,” Ptolemy meowed from the windowsill. The cat’s tone wasn’t advice so much as prophecy. Aurora swallowed. Her throat felt too narrow. She looked down at her left wrist where the small crescent-shaped scar lived—an old childhood accident that never stopped being a reminder: pain could be quiet until it wasn’t. “I’m not—” she began, and then stopped, because she didn’t know what sentence she wanted. The chain on the door was still on. The deadbolts waited like teeth. “I’m not a person who—” she tried again, but her voice scraped. She hated that her body recognized him before her mind had fully decided. Lucien chuckled quietly. The sound carried through the wood. “You always talk like you’re about to refuse,” he said. “It’s almost charming.” Aurora’s pulse climbed. “You shouldn’t be here.” “Yet,” he said. That simple word landed hard. It sounded like a choice. She forced herself to move, not because she trusted him, but because she needed the truth of his face with the certainty of being wrong. She flipped the chain first, then the top deadbolt. The click was loud in the dim corridor. Through the crack, she saw only the hem of his tailored charcoal suit, the way it sat sharp on his frame, the cuff of a white shirt. The rest of him was shadow. Then she opened the door wider. Lucien stood on the landing as if he’d been carved out of the night—5’11” of careful angles, slicked-back platinum blond hair catching the hall light in a cold sheen. His eyes drew her like gravity. One amber, one black, each one reflecting something different about her. He looked unchanged. That was the cruel part. Time had passed for her; it hadn’t touched him in the way she’d demanded it would. His ivory-handled cane rested beside his ankle. It didn’t threaten her openly, not like a weapon in a story. Instead it sat with the poise of a promise: it could be harmless, until it wasn’t. Aurora’s breath came out too fast. “What are you doing here, Luc?” Ptolemy hopped down from the windowsill, padding behind her with the slow confidence of someone who assumed the worst would be funny later. Lucien’s mouth twitched. “Bonjour, Aurora. Or is it Rory tonight?” Her jaw tightened at the use of her full name. He’d never called her that unless he meant to strip her down to something raw. She stared at his face, searching for signs of whatever he’d done before. The last time she’d seen him, he’d left without saying goodbye—had cut himself out of her life with the kind of precision that made her feel like a mess he could tidy away. “Don’t,” she said, and meant it in more ways than one. Lucien’s gaze flicked, quick and controlled, past her shoulder into the flat. Books crowded the walls like a second skin. Scrolls lay on the table with scribbles Aurora had made at three in the morning. The smell of curry lingered faintly; the room was lived-in and nervous. He looked back at her, expression sharpening. “You’re alone.” “I live here,” Aurora snapped. “So yes.” His eyes softened, just slightly. The amber in particular warmed as if the light had moved closer to him. “Your locks are all in place,” he said. “You’re still the kind of person who expects to be hurt.” The words struck with the accuracy of a bruise pressed gently. Aurora’s fingers curled against her wrist, almost as if she could protect the scar from the memory. “You left,” she said. Lucien’s cane shifted a fraction, not quite a step, not quite a retreat—an adjustment rather than a movement. “I did.” “You didn’t even—” Her voice broke and she hated herself for it. She forced it steady. “You didn’t explain.” He held her gaze. He didn’t look away. That was new. Last time he’d flinched from her anger like it was fire he didn’t want to touch. “You think I came because I want to be forgiven,” Lucien said quietly. Aurora’s laugh came out sharp. “You came unannounced at my door, Luc.” His name for her—him calling her Rory earlier, as if they belonged to each other in a way she’d never agreed to—sent heat up her neck. “I don’t know why you’re here,” she said, softer now, because she couldn’t keep the anger from sounding like fear. Lucien leaned closer just enough for her to smell something clean beneath him—rain on stone, or maybe it was his own presence, the crisp edge of him against the cramped air. “I didn’t come to ask for forgiveness,” he said. “I came because something is moving.” Aurora’s skepticism rose like a shield. “Moving where?” Lucien’s heterochromatic eyes glinted. “Toward you.” That sentence tightened her muscles. She hated that her mind immediately started building worst-case scenarios. Her life in London had taught her that “toward you” wasn’t romantic. It was dangerous. “You’re being dramatic,” she said, but her voice was thin. “I can be honest without being dramatic,” Lucien replied. “It’s easier, with you.” Aurora blinked. He’d said that once before—back when the history between them felt like a secret that might one day become a confession. She remembered the last conversation, the night air cold on her skin, their words cutting around the things they couldn’t name. The way he’d looked at her wrist when he thought she wasn’t watching. The way he’d offered help and then stepped away mid-sentence like the world itself had grabbed him by the throat. Hurt lived in her chest like a second heart. “What do you know?” she asked. Lucien’s expression sharpened again, and for a moment something older than his suit looked through him—half-demon eyes with a patience that belonged to a longer hunger. He didn’t answer straightaway. Instead he glanced down at the scar on her wrist, visible where her sleeve had ridden up slightly when she’d braced herself at the door. Aurora lowered her arm instinctively, covering it. “Don’t look at me like that.” “Like what?” Lucien asked, and there was a thread of amusement, but it was gentler now. “Like you’re seeing things,” she said. “Like you’re already decided.” His gaze met hers again. “I’m seeing what you’re trying not to admit.” Aurora’s breath caught. The corridor felt smaller. Ptolemy padded to the doorway and sat, watching them as if he had a stake in the outcome. Lucien straightened slightly. “There are records coming out of Avaros,” he said. “Names. Debt ledgers. People who made bargains and didn’t pay. Your name is… adjacent.” Aurora went very still. “Mine?” she repeated. Lucien nodded once. “Or the part of you that matters to them. I won’t pretend I understand the whole mechanism, but I can smell the pattern.” His voice dropped. “And I can tell you—someone is trying to pull you into a contract you didn’t sign.” Aurora forced herself not to move back. She forced herself not to retreat into anger just because anger was easier than worry. “That’s why you came,” she said. “To warn me. Out of the kindness of your—what? Your heart?” Lucien’s mouth tightened. “You still want to make me the villain.” “It’s not hard,” Aurora said. The words were out before she could catch them. She heard herself and hated herself, but the truth was there, raw and untrimmed. “You disappeared. You left me holding the pieces. I—” Her throat tightened again. “I needed you to be straightforward.” Lucien’s eyes darkened, not with anger but with something like regret. “I know.” That should’ve satisfied her. It didn’t. It only made the hurt widen. Aurora stared at him, letting herself see the man beneath the broker. The slickness of his hair; the sharpness of his tailoring; the cane that made him seem prepared for violence even when he walked like elegance. “Why now?” she demanded. “Why show up today?” Lucien exhaled slowly through his nose, like he was making a choice about how much of himself to give her. “Because I couldn’t stop it sooner,” he said. “Because the last time we spoke, I told you I’d help you, and then I let the situation take me away. That wasn’t noble. It wasn’t strategic.” His amber eye held hers. “It was cowardice.” Aurora’s chest tightened at the word. She’d prepared herself for excuses, for charm, for a clean exit. He gave her something messier instead. “Cowardice,” she repeated, almost disbelieving. Lucien’s gaze didn’t waver. “Yes.” Aurora swallowed. The air tasted faintly metallic, like a storm coming. She wanted to believe him, and she hated herself for that wanting. She stepped closer, just to close the distance, just to make this moment real. The corridor was narrow enough that their bodies were suddenly too close—close enough that she could see the faint line of stubble shadowing his jaw, close enough to notice how his scent shifted when he moved: sharp and human and something not quite human underneath. “Say it,” she whispered. Lucien frowned slightly. “Say what?” “The thing you never said,” Aurora said, and felt it as much as heard it—her own fear speaking for her. “The thing between us that you cut out like it was rot.” Lucien’s eyes flicked to her mouth, then back to her eyes, as if he were deciding how much damage one kiss could cause. “I don’t cut you out,” he said quietly. “I cut myself off when I’m afraid I’ll burn you.” Aurora’s laugh was breathy, bitter. “You think you’re a fire?” “I know what I am,” Lucien replied, and there was no bravado in it. “I know how contracts work. I know what half-demons pay when they don’t mind their balance.” Aurora’s fingers flexed at her side. She wanted to push him back, to keep him out, to protect herself with the old patterns. But the door was already open. The night had already brought him here. Ptolemy yawned loudly, as if the argument was boring and inevitable. Lucien took a careful step forward, stopping just short of crowding her. “Let me inside,” he said. Aurora stared at him, breath tight. “No.” He didn’t argue. He didn’t push the edge of her boundary. He simply tilted his head, listening—not for the words in the room, but for the tension under them. Then he spoke again, voice lower. “I came because I don’t want you alone with this. I don’t want you walking into a trap and thinking it’s just another problem you can logic your way through.” His amber eye held hers. “You’re smart, Rory. But being smart doesn’t protect you from being wanted.” Wanted. The word slid into her ribs like a hook. She thought of nights when she’d replayed his absence, when she’d told herself it was safer to be angry. She thought of the way attraction had lingered beneath every sharp conversation, a quiet heat she’d refused to name because naming it would make it real. Aurora’s voice softened against her will. “Last time you told me you were helping me.” Lucien nodded. “And I did.” “And then you vanished,” she said. He went still. “Yes.” Aurora leaned her shoulder lightly against the doorframe, buying herself steadiness. “Are you here to finish the job?” Lucien’s smile was small and pained. “I’m here because I can’t finish anything until you stop bleeding in the dark.” Her eyes stung, and she didn’t let it spill. “You don’t get to talk like you care.” His gaze sharpened. “I care.” The intensity of it—how simple and naked the words were—made Aurora’s anger wobble. She drew a breath, slow, and felt herself inch toward honesty. “I wanted you to stay,” she admitted, barely louder than the hum of the stairwell behind them. “I wanted you to be brave enough to say what you were afraid of.” Lucien’s throat moved as he swallowed. His cane shifted, the ivory catching the light, the blade concealed and patient. He didn’t raise it. He didn’t reach for her like possession. Instead, he reached into his suit pocket and pulled out a folded sheet of paper—creased, handled too many times. He held it out, not crossing the last inch of space between them. “I didn’t come empty-handed,” he said. Aurora didn’t take the paper yet. “What is it?” “A sign,” Lucien replied. “A warning. A half-map made from debt-stitching. It’ll make your skin crawl if you read it.” His amber eye softened. “And you’ll think I’m using you.” Aurora stared at the paper like it might burn her. “Maybe you are.” Lucien’s expression tightened. “Maybe I am,” he agreed, and that honesty was another kind of pain. “But I’m using you to keep you alive, not to own you.” Aurora’s pulse thundered. She should have shut the door. She should have locked every deadbolt and told herself she didn’t want this kind of complication. She should have let the hurt stay sharp enough to guide her away. Instead she reached out and took the paper. Lucien’s fingers brushed hers—warm, real. Aurora felt the contact like an electrical spark that didn’t know whether to become violence or tenderness. Her scar tingled under her sleeve, as if her body remembered childhood accidents while her heart remembered this man. Lucien watched her face as she unfolded the paper just enough to see ink-black symbols and a line that looked like a route, drawn by someone who believed in inevitability. Aurora’s breath caught. “This…” “I thought so,” Lucien murmured. She looked up at him again. The hurt in her didn’t disappear. It only changed shape, becoming something heavier and more complicated—something that wanted to be acknowledged instead of denied. “You really came back,” she said, and the words held both accusation and wonder. Lucien leaned in a fraction, close enough that she could see the faint flare of his black eye at the edges—like a shadow that didn’t quite belong to the room. “I never stopped coming back,” he said. “I just stopped letting myself stand in the door.” Aurora’s throat tightened. She should have demanded answers. She should have put him on trial with all the sharpness she had. But the romance of it—the unsaid history pressing between them—felt like a tide pulling at her ankles. Aurora lifted her chin. “Then stand,” she whispered. Lucien’s breath slowed. “Rory—” “Stand,” she repeated, firmer, and then, because the honesty was suddenly unavoidable, she added, “and don’t leave me again without words.” Ptolemy yawned like the universe had finally done something entertaining. Lucien’s smile didn’t reach his eyes at first—only the shape of his mouth. Then his amber gaze softened until it looked almost human, almost safe. “I won’t,” he said. “Not this time.” Aurora’s hand hovered near the paper, near the symbols that promised danger. Her other hand hovered in the air, unsure where to go. Her body wanted to pull him closer; her mind wanted to keep him at a careful distance. She didn’t know which one was better anymore. Lucien waited as if he understood that waiting could be love, too. Aurora took a single step aside and held the door open wider. Lucien crossed the threshold carefully, as if the flat itself might change its mind. Charcoal suit brushing the edge of the corridor light. Ivory cane tapping once, not a threat, just a rhythm. When he passed, Aurora caught a glimpse of his heterochromatic eyes reflecting the crowded shelves—reflecting her life laid out in ink and pages and half-finished hopes. The doorframe pressed the warmth of him into her doorway. And for the first time since he’d vanished, Aurora allowed herself to believe that the unsaid things between them might be worth the risk of saying aloud.
created_at"2026-03-18T10:20:15.47Z" 3/18/2026, 10:20:15 AM
model"openai/gpt-5.4-nano-20260317"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency7273
moderation_latency(null)
generation_time21902
tokens_prompt808
tokens_completion4997
native_tokens_prompt753
native_tokens_completion4687
native_tokens_completion_images0
native_tokens_reasoning676
native_tokens_cached0
num_media_prompt(null)
num_input_audio_prompt(null)
num_media_completion0
num_search_results(null)
origin"https://ncbench.com/"
is_byokfalse
finish_reason"stop"
native_finish_reason"completed"
usage0.00600935
router(null)
provider_responses
0
endpoint_id"0c835f2e-c18d-4e8c-b245-e1e3bd08b97f"
id"resp_0f93c16c9e89a4b70169ba7c605d3c8190b1b67de8972e7a6b"
is_byokfalse
latency1041
model_permaslug"openai/gpt-5.4-nano-20260317"
provider_name"OpenAI"
status200
user_agent"langchainjs-openai/1.0.0 ((node/v24.14.0; linux; x64))"
http_referer(null)
api_type"completions"
id"gen-1773829215-m3U6AqTWAwkrt4sayUQE"
upstream_id"resp_0f93c16c9e89a4b70169ba7c605d3c8190b1b67de8972e7a6b"
total_cost0.00600935
cache_discount(null)
upstream_inference_cost0
provider_name"OpenAI"

Evaluation details

Result Evaluator Details Meta Data
93.33% Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags75
adverbTagCount8
adverbTags
0"she tried again [again]"
1"His eyes softened just [just]"
2"Lucien said quietly [quietly]"
3"Lucien straightened slightly. [slightly]"
4"Lucien nodded once. [once]"
5"Lucien frowned slightly. [slightly]"
6"he said quietly [quietly]"
7"he spoke again [again]"
dialogueSentences84
tagDensity0.893
leniency1
rawRatio0.107
effectiveRatio0.107
80.28% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount3042
totalAiIsmAdverbs12
found
0
adverb"slightly"
count4
1
adverb"gently"
count1
2
adverb"very"
count1
3
adverb"slowly"
count1
4
adverb"suddenly"
count2
5
adverb"lightly"
count1
6
adverb"really"
count1
7
adverb"carefully"
count1
highlights
0"slightly"
1"gently"
2"very"
3"slowly"
4"suddenly"
5"lightly"
6"really"
7"carefully"
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)
78.63% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount3042
totalAiIsms13
found
0
word"stomach"
count1
1
word"silence"
count1
2
word"reminder"
count1
3
word"pulse"
count2
4
word"flicked"
count2
5
word"charm"
count1
6
word"tension"
count1
7
word"intensity"
count1
8
word"thundered"
count1
9
word"tenderness"
count1
10
word"warmth"
count1
highlights
0"stomach"
1"silence"
2"reminder"
3"pulse"
4"flicked"
5"charm"
6"tension"
7"intensity"
8"thundered"
9"tenderness"
10"warmth"
100.00% Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches0
maxInWindow0
found(empty)
highlights(empty)
100.00% Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells1
narrationSentences183
matches
0"t with anger"
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount4
hedgeCount0
narrationSentences183
filterMatches
0"decide"
1"feel"
2"see"
3"know"
hedgeMatches(empty)
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences186
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
maxSentenceWordsSeen60
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords3012
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions51
unquotedAttributions0
matches(empty)
66.67% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions94
wordCount2494
uniqueNames12
maxNameDensity1.6
worstName"Aurora"
maxWindowNameDensity3
worstWindowName"Aurora"
discoveredNames
Brick1
Lane1
Evan1
Aurora40
Eva3
Moreau1
Rory3
Lucien35
London1
You1
Wanted1
Ptolemy6
persons
0"Evan"
1"Aurora"
2"Eva"
3"Moreau"
4"Rory"
5"Lucien"
6"You"
7"Ptolemy"
places
0"Brick"
1"Lane"
2"London"
globalScore0.698
windowScore0.667
0.00% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences125
glossingSentenceCount8
matches
0"felt like a hand had closed around it"
1"not quite a step, not quite a retreat—an adjustment rather than a movement"
2"not quite a retreat—an adjustment rather than a movement"
3"felt like a secret that might one day b"
4"something like regret"
5"not quite human underneath"
6"looked like a route, drawn by someone who"
7"quite belong to the room"
8"felt like a tide pulling at her ankles"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches3
per1kWords0.996
wordCount3012
matches
0"not a person who—” she tried again, but her voice scraped"
1"not with anger but with something like regret"
2"not for the words in the room, but for the tension under them"
94.98% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount4
totalSentences186
matches
0"hated that her"
1"hated that her"
2"understood that waiting"
3"believe that the"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs143
mean21.06
std14.68
cv0.697
sampleLengths
07
140
28
352
410
575
643
739
811
914
1015
117
122
1331
1428
1519
1617
1736
1815
1913
2025
2122
227
233
2410
2542
2633
276
2846
2924
3035
3112
3223
3310
3425
3546
3611
3747
389
397
4038
4128
424
4320
4419
4527
4613
4712
4846
4931
99.51% Passive voice overuse
Target: ≤2% passive sentences
passiveCount3
totalSentences183
matches
0"been carved"
1"was lived"
2"were—made"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount4
totalVerbs502
matches
0"was reading"
1"wasn’t watching"
2"was making"
3"were deciding"
0.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount31
semicolonCount6
flaggedSentences32
totalSentences186
ratio0.172
matches
0"Three quick raps, a pause, then again—too practiced for a courier, too deliberate for a drunk on Brick Lane."
1"The flat was a tight one-bedroom perched above a curry house—warm spice and steam lingering in the stairwell, even when she’d shut the kitchen window."
2"She didn’t turn on the light over the hall; she left it dim, let the corridor stay half-shadowed, let the air decide what it wanted to hide."
3"The front door sat behind three deadbolts—Eva’s idea, Eva’s paranoia, Eva’s insistence that fear was a kind of literacy."
4"Silence stretched for half a second—then the man cleared his throat, soft and amused."
5"She hadn’t heard his voice in—how long?"
6"Behind the door, his cane tapped once—ivory against wood, clean and controlled."
7"She looked down at her left wrist where the small crescent-shaped scar lived—an old childhood accident that never stopped being a reminder: pain could be quiet until it wasn’t."
8"Lucien stood on the landing as if he’d been carved out of the night—5’11” of careful angles, slicked-back platinum blond hair catching the hall light in a cold sheen. His eyes drew her like gravity. One amber, one black, each one reflecting something different about her."
9"He looked unchanged. That was the cruel part. Time had passed for her; it hadn’t touched him in the way she’d demanded it would."
10"She stared at his face, searching for signs of whatever he’d done before. The last time she’d seen him, he’d left without saying goodbye—had cut himself out of her life with the kind of precision that made her feel like a mess he could tidy away."
11"Lucien’s gaze flicked, quick and controlled, past her shoulder into the flat. Books crowded the walls like a second skin. Scrolls lay on the table with scribbles Aurora had made at three in the morning. The smell of curry lingered faintly; the room was lived-in and nervous."
12"Lucien’s cane shifted a fraction, not quite a step, not quite a retreat—an adjustment rather than a movement. “I did.”"
13"His name for her—him calling her Rory earlier, as if they belonged to each other in a way she’d never agreed to—sent heat up her neck. “I don’t know why you’re here,” she said, softer now, because she couldn’t keep the anger from sounding like fear."
14"Lucien leaned closer just enough for her to smell something clean beneath him—rain on stone, or maybe it was his own presence, the crisp edge of him against the cramped air."
15"Aurora blinked. He’d said that once before—back when the history between them felt like a secret that might one day become a confession."
16"Lucien’s expression sharpened again, and for a moment something older than his suit looked through him—half-demon eyes with a patience that belonged to a longer hunger. He didn’t answer straightaway. Instead he glanced down at the scar on her wrist, visible where her sleeve had ridden up slightly when she’d braced herself at the door."
17"I won’t pretend I understand the whole mechanism, but I can smell the pattern.” His voice dropped. “And I can tell you—someone is trying to pull you into a contract you didn’t sign.”"
18"Out of the kindness of your—what?"
19"Aurora stared at him, letting herself see the man beneath the broker. The slickness of his hair; the sharpness of his tailoring; the cane that made him seem prepared for violence even when he walked like elegance."
20"She stepped closer, just to close the distance, just to make this moment real. The corridor was narrow enough that their bodies were suddenly too close—close enough that she could see the faint line of stubble shadowing his jaw, close enough to notice how his scent shifted when he moved: sharp and human and something not quite human underneath."
21"“The thing you never said,” Aurora said, and felt it as much as heard it—her own fear speaking for her. “The thing between us that you cut out like it was rot.”"
22"He didn’t argue. He didn’t push the edge of her boundary. He simply tilted his head, listening—not for the words in the room, but for the tension under them."
23"The intensity of it—how simple and naked the words were—made Aurora’s anger wobble. She drew a breath, slow, and felt herself inch toward honesty."
24"Instead, he reached into his suit pocket and pulled out a folded sheet of paper—creased, handled too many times. He held it out, not crossing the last inch of space between them."
25"Lucien’s fingers brushed hers—warm, real. Aurora felt the contact like an electrical spark that didn’t know whether to become violence or tenderness."
26"She looked up at him again. The hurt in her didn’t disappear. It only changed shape, becoming something heavier and more complicated—something that wanted to be acknowledged instead of denied."
27"Lucien leaned in a fraction, close enough that she could see the faint flare of his black eye at the edges—like a shadow that didn’t quite belong to the room. “I never stopped coming back,” he said. “I just stopped letting myself stand in the door.”"
28"But the romance of it—the unsaid history pressing between them—felt like a tide pulling at her ankles."
29"Lucien’s smile didn’t reach his eyes at first—only the shape of his mouth. Then his amber gaze softened until it looked almost human, almost safe."
30"Aurora’s hand hovered near the paper, near the symbols that promised danger. Her other hand hovered in the air, unsure where to go. Her body wanted to pull him closer; her mind wanted to keep him at a careful distance."
31"When he passed, Aurora caught a glimpse of his heterochromatic eyes reflecting the crowded shelves—reflecting her life laid out in ink and pages and half-finished hopes."
91.31% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount2043
adjectiveStacks0
stackExamples(empty)
adverbCount102
adverbRatio0.049926578560939794
lyAdverbCount24
lyAdverbRatio0.011747430249632892
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences186
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences186
mean16.19
std12.25
cv0.756
sampleLengths
07
119
221
36
42
528
624
710
825
926
1024
1116
1227
136
1419
1514
169
172
1814
1915
207
212
227
235
2411
258
2612
2716
2819
298
309
312
325
3329
3415
358
365
3712
3813
393
406
4110
423
433
444
453
465
475
4825
499
46.24% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats7
diversityRatio0.23655913978494625
totalSentences186
uniqueOpeners44
84.93% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount4
totalSentences157
matches
0"Then she opened the door"
1"Then he spoke again, voice"
2"Instead, he reached into his"
3"Instead she reached out and"
ratio0.025
95.16% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount49
totalSentences157
matches
0"Her second thought was: Not"
1"Her own work clutter lived"
2"She didn’t turn on the"
3"She didn’t reach for all"
4"he said, like it was"
5"Her fingers went cold around"
6"She hadn’t heard his voice"
7"She’d learned to count time"
8"Her throat felt too narrow."
9"She looked down at her"
10"she began, and then stopped,"
11"she tried again, but her"
12"She hated that her body"
13"It sounded like a choice."
14"She forced herself to move,"
15"She flipped the chain first,"
16"He looked unchanged. That was"
17"His ivory-handled cane rested beside"
18"Her jaw tightened at the"
19"She stared at his face,"
ratio0.312
14.14% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount140
totalSentences157
matches
0"The knock didn’t sound like"
1"Aurora’s first thought was Evan,"
2"Her second thought was: Not"
3"Ptolemy, the tabby cat with"
4"Aurora moved before she could"
5"The flat was a tight"
6"Every surface inside was crowded"
7"Her own work clutter lived"
8"Aurora slid a hand along"
9"She didn’t turn on the"
10"The front door sat behind"
11"Aurora kept the habit, even"
12"She didn’t reach for all"
13"Silence stretched for half a"
14"he said, like it was"
15"Her fingers went cold around"
16"She hadn’t heard his voice"
17"A season of false calm."
18"A winter of waking up"
19"She’d learned to count time"
ratio0.892
0.00% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount0
totalSentences157
matches(empty)
ratio0
0.00% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences64
technicalSentenceCount14
matches
0"Ptolemy, the tabby cat with the offended set of his whiskers, had stretched out across a stack of scrolls on the windowsill as if he’d paid rent there."
1"When the knocking came a third time, he lifted his head with the lazy precision of something that knew better than to be surprised."
2"Aurora leaned her forehead against the door for a heartbeat, as if she could press the sound into submission."
3"Ptolemy hopped down from the windowsill, padding behind her with the slow confidence of someone who assumed the worst would be funny later."
4"She stared at his face, searching for signs of whatever he’d done before. The last time she’d seen him, he’d left without saying goodbye—had cut himself out of …"
5"She remembered the last conversation, the night air cold on her skin, their words cutting around the things they couldn’t name. The way he’d looked at her wrist…"
6"Lucien’s expression sharpened again, and for a moment something older than his suit looked through him—half-demon eyes with a patience that belonged to a longer…"
7"Aurora stared at him, letting herself see the man beneath the broker. The slickness of his hair; the sharpness of his tailoring; the cane that made him seem pre…"
8"Lucien’s fingers brushed hers—warm, real. Aurora felt the contact like an electrical spark that didn’t know whether to become violence or tenderness."
9"Her scar tingled under her sleeve, as if her body remembered childhood accidents while her heart remembered this man."
10"Lucien watched her face as she unfolded the paper just enough to see ink-black symbols and a line that looked like a route, drawn by someone who believed in ine…"
11"She looked up at him again. The hurt in her didn’t disappear. It only changed shape, becoming something heavier and more complicated—something that wanted to be…"
12"Aurora’s hand hovered near the paper, near the symbols that promised danger. Her other hand hovered in the air, unsure where to go. Her body wanted to pull him …"
13"Lucien crossed the threshold carefully, as if the flat itself might change its mind. Charcoal suit brushing the edge of the corridor light. Ivory cane tapping o…"
84.18% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags49
uselessAdditionCount4
matches
0"she tried again, but her voice scraped"
1"she said, but her voice was thin"
2"he agreed, and that honesty was another kind of pain"
3"she said, and the words held both accusation and wonder"
30.95% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags34
fancyCount10
fancyTags
0"Aurora snapped (snap)"
1"she repeated (repeat)"
2"she demanded (demand)"
3"she repeated (repeat)"
4"she whispered (whisper)"
5"he spoke again (speak)"
6"she admitted (admit)"
7"Lucien’s expression tightened. (tighten)"
8"Lucien murmured (murmur)"
9"she repeated (repeat)"
dialogueSentences84
tagDensity0.405
leniency0.81
rawRatio0.294
effectiveRatio0.238
75.3438%