AI Aurora Carter’s knuckles hit the door twice before she remembered she had no right to expect anybody.
She stood in her socks on the threadbare runner, shoulder pressed to the doorframe, listening to the hum of the old fridge and the distant thump of curry pots from below. Her left wrist rested against her hip. The crescent scar sat pale under her thumb like a quiet accusation.
Ptolemy, the tabby, wove around her ankles with patient disrespect. He paused at the crack under the door, ears pinned toward the hallway, then looked up as if he’d already decided she was wrong about everything.
The doorknob turned.
Not slowly . Not politely.
The deadbolts rattled once, twice, then stopped like someone had remembered the locks existed. A breath of stale winter air slipped in under the door’s edge. Aurora’s stomach tightened. She moved anyway—because she always moved, because standing still gave her thoughts room to hatch.
She reached for the chain latch, tugged it out, and shoved the door open.
Cold air slapped her face. The hallway light caught the curve of a familiar jaw and the shine of damp hair, platinum against the grime of London stone. Lucien Moreau stood on her landing as if he owned the building, one hand already near his cane.
His heterochromatic eyes found hers and didn’t flinch. The amber one held warmth that didn’t reach the black. Charcoal suit, clean lines, ivory-handled cane with a thin blade hiding under its elegance. He wore the kind of calm that came from never needing to beg.
Behind him, the stairwell stretched down and disappeared into dark.
Aurora didn’t speak at first. She let her silence fill the doorway. Ptolemy slipped past her feet and circled Lucien’s boots like he was sizing up a threat he’d met before.
Lucien tipped his chin, just enough to look at the ceiling, the deadbolt bolts, the chain latch she’d hooked on. He studied the evidence like it told him something she hadn’t.
“I didn’t ring,” he said.
Aurora’s breath came out sharp. “You didn’t have to. You forced the locks into remembering themselves.”
Lucien’s mouth pulled into something that wasn’t quite a smile . His cane didn’t lift, didn’t threaten. He stayed close to the threshold without crossing it, like he’d decided that line mattered. “I used the right kind of violence.”
Aurora blinked once, slow. “Violence?”
“Not against you.” He shifted his weight . The stairwell light caught the small blade seam at the cane’s handle—polite steel, just waiting. “Against a system that keeps the wrong people out.”
The wrong people.
Her throat tightened around a memory she hadn’t asked for.
“Luc,” she said, and the single syllable scraped her tongue. Rory, her friends called her. Malphora, her ex had joked, like it made her less human. Tonight, she said the name she’d wanted to forget.
Lucien’s eyes softened a fraction, then hardened again. “You left.”
“You showed up,” she shot back . “You always showed up. And you left me to clean up what you broke.”
He stepped forward so the doorway framed him fully. A faint smell of rain and expensive soap drifted in, followed by something else—smoke, ink, an old library smell that lived in London’s supernatural pockets. He didn’t reach for her. He didn’t touch anything. He simply stood there, and his presence filled the cramped hallway like a second gravity.
Aurora leaned her shoulder into the doorframe. “We parted on complicated terms.”
Lucien nodded once. “Complicated terms suit the sort of deal we made.”
Aurora felt heat rise under her skin. “Deal.” She spat the word . “You call it that?”
“I call it survival.” Lucien’s amber eye flicked to her wrist, to the crescent scar that looked like a moon stuck in the wrong place. “You call it whatever keeps you alive.”
That did it. Anger sharpened. Hurt followed close behind like a dog that had been kicked too many times and still returned for scraps.
Aurora’s voice dropped. “You came into my life, Lucien. You pulled at things like you could see inside them. Then you vanished when I needed you. The way you did it hurt. The way you pretended it didn’t.”
Lucien’s jaw tightened, slicked-back platinum hair catching the light. “You believed I vanished.”
Aurora’s laugh cracked. “You didn’t text. You didn’t call. You didn’t show. You vanished and left me with half a truth and a full mess.”
“I didn’t vanish,” he said, and the stillness in his tone pulled at her nerves. “I paid. I arranged. I made sure the right consequences landed in the right places.”
“The right places.” She stared at him. Her blue eyes burned. “So the wrong places didn’t include my door?”
Ptolemy chose that moment to jump onto the hall chair, tail twitching like punctuation. He stared at Lucien with unimpressed superiority.
Lucien looked at the cat, then back at Aurora. His gaze took in her flat—at least the edge of it—books stacked where books weren’t supposed to stack, scrolls tucked into drawers, research notes shoved into every gap like the world might collapse if she didn’t document it.
Aurora had built a life of careful corners. Lucien had stepped into those corners and made them tighter.
He exhaled. “You moved.”
“From London?” Her voice sharpened again, defensive even as it listened to its own cruelty. “I didn’t move. London moved around me. I just stayed put.”
Lucien’s expression shifted. It landed on something unreadable . “From danger.”
Aurora’s hands curled at her sides. The scar on her wrist flared under her skin. “What do you want, Lucien?”
The question came out too direct. It tasted like the part of her that had always wanted answers, always wanted control, always wanted to push the world until it admitted what it had done.
Lucien took one step closer, enough that the hem of his suit brushed the threshold. He kept his cane angled down, not raised. He looked at her like she might be a puzzle he’d already solved, except the solution kept changing.
“Information,” he said.
Aurora’s eyes narrowed . “That wasn’t the only thing you wanted before.”
Lucien’s gaze held hers without flinching. “No.”
A silence opened between them. Aurora could hear her refrigerator click, could hear the floorboard settle, could hear the distant thump of someone in the curry house below laughing at something that didn’t matter.
Her pulse bounced in her throat.
Ptolemy made a small sound in his throat, a complaint about the tension .
Lucien’s voice lowered. “I heard you were working for the Golden Empress.”
Aurora felt her jaw tighten. “Yu-Fei Cheung doesn’t broadcast my hours.”
“I didn’t ask about your hours.” Lucien glanced past her toward the stairwell and then back, as if he checked for listeners in every direction. “I asked about what you carry when you deliver.”
Aurora stared. “I carry food. I carry drinks. I carry—”
“Packets.” Lucien cut in, clean as a blade sliding free. “Sometimes you carry packets you don’t open. Sometimes you carry names written in your handwriting without your memory of writing them.”
Her breath caught. She hated how accurate he sounded. She hated how that accuracy came with no apology attached.
“How do you know that?” she demanded.
Lucien’s heterochromia flared, the amber eye bright as a struck match. “Because I’ve been looking at the same network you stumbled into.”
Aurora swallowed hard. Her mind flashed images she didn’t trust: ink on paper that looked like her script, a page she’d found tucked into a courier bag she couldn’t remember loading. A few nights where she’d woken with her wrist scar itching like a nerve had been tugged .
She hadn’t told anybody. Not Eva. Not anybody at the flat above Silas’ bar. Not even herself, not properly.
Aurora’s voice turned brittle. “So you knew I was trapped.”
Lucien didn’t answer that right away. He watched her instead, like he measured her reaction. Then he said, “I knew you were at risk. I didn’t know how badly until I saw the pattern tighten.”
Aurora’s hands lifted, palms facing him. “You could’ve told me.”
“I tried,” he said.
Aurora stared at him.
Lucien’s tone didn’t soften. It steadied. “I sent a message to you through a person you trusted.”
Aurora’s stomach dropped. “Eva?”
Lucien’s mouth pressed into a line. “Yes.”
Anger surged, then pain. It came in layers, like she’d always been standing on broken glass and only now felt the cuts. “You used her.”
“I asked her to confirm,” Lucien said, words clipped now. “You think I wanted to bring Eva into it? I wanted to give you a choice.”
Aurora’s voice shook. “And you took it away anyway.”
Lucien’s eyes sharpened. “You think I chose the terms?”
Aurora opened her mouth, closed it again. The history between them sat like a loaded weapon. They’d parted because she’d accused him of stealing something from her life. He’d insisted he’d kept something worse from taking it. Neither of them had believed the other enough.
And now he stood in her doorway like the past hadn’t dragged its nails through both their days.
Aurora forced her shoulders down. “You didn’t come here for information about my life. You could’ve sent someone. You could’ve left a note.”
Lucien’s gaze went to her face, steady again. “I came because you were about to move again.”
Aurora’s breath stalled. “I wasn’t.”
“You were going to,” he said. “You wrote it into your schedule. You didn’t remember. Your mind pushed the plan under the door like an animal hiding its young.”
Aurora’s pulse banged harder. She didn’t like that he could read her. She didn’t like that she felt seen.
She pushed the thought down and grabbed the only piece she could hold. “So you came to stop me.”
Lucien’s expression tightened as if the word stop scratched him. “To warn you.”
Aurora’s voice turned quiet. “And where does that leave the part where you hurt me?”
Lucien’s eyes flicked to her wrist again. This time his stare stayed a beat too long, like he felt the scar through the air.
“I hurt you,” he admitted. The words landed with weight , stripped of his usual control. “I’ve carried that since the night I left.”
Aurora’s throat tightened. A memory rose—his cane angled toward the ceiling while rain ran down the windows. His voice low, measured . Her hands shaking because she wanted to believe him and couldn’t. The night they fought in her rented kitchen, books stacked like shields, her anger slamming the door before he’d finished saying the one truth she’d needed.
She remembered how he’d looked at her like he wanted to keep her safe but couldn’t afford to explain.
Aurora didn’t want to reopen that wound . She wanted it sealed. She wanted the past to stop reaching.
But Lucien had come through the doorway. He hadn’t knocked. He had forced the lock to behave. The past had followed.
Aurora swallowed. “You left anyway.”
Lucien’s jaw worked. He stared at her like he weighed the cost of each word. “I left because someone else got to you first.”
Aurora’s eyes widened . “Who?”
Lucien’s cane shifted slightly in his grip. The ivory handle looked like a luxury . The blade under it looked like intent .
“Someone called you,” he said. “In your voice.”
Aurora went cold.
No one else said it out loud. Not ever. She remembered the call now—not the exact details, but the feeling . Her skin had prickled. Her phone screen had lit with a number she didn’t recognise. When she answered, she’d heard herself breathing. Then she’d heard a sentence she couldn’t put a shape to. After it cut off, she’d stared at the voicemail icon until it turned into static.
She had blamed herself for not recording it. She had blamed her memory.
Lucien’s words turned her blame into a target.
Aurora stepped back, letting the door swing wider behind her, letting her flat breathe into the hallway. “You know about that.”
Lucien nodded once. “I know the voice. It belonged to an entity that uses contracts and confusion as bait.”
Aurora’s mouth went dry. “So you came because you think I’m bait.”
“I came because you’re not only bait,” Lucien said. “You’re the hook.”
Aurora let out a short laugh with no humour. “That’s comforting .”
“It wasn’t meant to comfort you.” His amber eye held hers. “It was meant to keep you from walking into it alone.”
Aurora looked past him down the hall, half-expecting someone to appear from the shadows with a grin and a knife. The stairwell stayed empty.
She looked back at Lucien. “Then why didn’t you come sooner?”
Lucien’s expression twisted in a way that made him look less like a fixer and more like a man. Not pleading. Just exposed.
“Because I wanted you away from me,” he said. “I wanted the danger to aim at the person it couldn’t predict.”
Aurora’s throat burned. “You thought you could choose where danger landed.”
“I thought I could control it,” Lucien corrected, voice hardening again . “And I couldn’t.”
That confession cracked something open. Aurora felt it in her chest. The hurt she’d packed away surged up. It wasn’t just anger now. It was grief for the version of herself who’d trusted him.
She took a step into the doorway, forcing him to stay where he stood. She didn’t touch him. She didn’t step past his cane. She held the boundary like it mattered.
“You want me to trust you,” she said.
Lucien didn’t look away. “I want you to listen.”
Aurora’s gaze dropped to his cane. The blade stayed hidden. The handle stayed ivory. She could imagine the blade slid out in a heartbeat if he needed it.
“What happens if I don’t?” she asked.
Lucien’s answer came fast, and it wasn’t dramatic. It sounded like a fact he hated . “Then the person using your voice will try again. They’ll push you into delivering something you can’t refuse. You’ll open it without remembering. You’ll sign a contract with your own name on it.”
Aurora stared at him. Her mind sprinted through possibilities and found only one that fit: the way her nights had gone strange lately, the way her handwriting had appeared when she couldn’t account for time.
Her wrist scar itched.
Ptolemy hopped down and rubbed against Aurora’s ankle, as if to remind her she still belonged to the living world. Aurora bent and scratched behind his ears without looking away from Lucien.
“Why tell me now?” she asked.
Lucien’s voice lowered. “Because I heard Eva got dragged into your case. Not physically.” He paused. “Mentally. She’s been reading too much. Her eyes keep tracking the wrong lines on the page.”
Aurora froze mid-scratch. “Eva’s in danger?”
Lucien’s heterochromia sharpened again. “She’s stubborn. She’ll try to fix it herself. That makes her useful to the wrong people.”
Aurora lifted her head, anger flaring again. “You could’ve told her.”
“I did,” Lucien said. “She didn’t listen. Not in the way you want her to.”
Aurora felt the familiar heat of helplessness. She hated it. She hated being the person who ran and the person who couldn’t run fast enough.
She straightened. “So you came unannounced.”
Lucien’s gaze flicked over her flat, then returned to her. “Yes.”
Aurora’s voice turned sharper, protective even as it accused him. “You could’ve come earlier and you didn’t. You could’ve knocked like a normal person.”
Lucien’s mouth twitched. “A normal person would’ve brought trouble to your door.”
Aurora didn’t believe him. She believed him just enough to want to argue. She didn’t want to lose control again by letting his charm drag her into forgiving him on the spot.
Still, she couldn’t ignore the simple fact: he had arrived. The past had walked through her threshold. Her heart still recognised him with a traitor’s certainty.
Aurora let out a breath she hadn’t realised she’d been holding. “What are you offering?”
Lucien’s eyes warmed for a flicker , then cooled under her stare. “A way to cut the thread before it tightens. A way to see who’s behind the voice.”
Aurora’s fingers curled against Ptolemy’s fur. “And you?”
Lucien watched her, and for a second his face looked tired beneath the perfection. “And me, I’m trying to make up for the night I walked out and left you with questions.”
Aurora’s voice went quiet. “Questions don’t keep you safe.”
“No,” Lucien agreed. “Actions do.”
Aurora studied him. She wanted to hate him. She wanted to demand an apology big enough to fit the hurt. She wanted him to admit exactly what had happened back then, the parts he’d swallowed.
Instead she said, “Then show me your information.”
Lucien didn’t move immediately. His gaze tracked hers, and something shifted in his eyes—an urgency he didn’t let show often.
“Inside,” he said.
Aurora’s brows lifted. “You want to come in?”
Lucien looked past her again, toward the stacks of books and scrolls, toward the flat’s cramped angles. “I need to speak where I can move without trapping you in a corridor.”
Aurora’s mouth tightened. “You trapped me in a corridor before.”
Lucien’s gaze held. “I left the wrong way. I know.”
The apology sat there, heavy, unsmoothed by charm . Aurora hated how much it softened her anger. She hated how her body reacted anyway, the old pull—danger and attraction braided together so tight she couldn’t separate them.
She stepped back, opening the door wider. Warm lamplight spilled over Lucien’s charcoal suit. Ptolemy marched inside first, tail high like he had authority.
Aurora kept her hand on the door edge and let Lucien cross the threshold when she nodded once.
He entered like he belonged, but he didn’t relax. He moved his shoulders, the smallest adjustment in a room that didn’t give him enough space. He shifted his cane’s position subtly, keeping it near his side.
Aurora shut the door behind him. The deadbolts clicked into place again, one after another. The sound calmed her. It also felt like a promise she didn’t know if she could keep.
Lucien turned his head slightly , listening to the clicks, then to the silence after. He looked at her with eyes that carried both heat and danger.
Aurora walked past him toward the small table by the window, the one scarred with old ink stains and stacked notes. She pulled out a chair and gestured with her chin. “Sit.”
Lucien’s gaze moved to the chair, then to her. “In your way.”
“In my flat,” she corrected. “In my way.”
His mouth pressed into a thin line, then he sat carefully . The cane stayed upright by his knee, ivory handle pristine , blade concealed. He angled it so he could reach it without turning his torso.
Aurora leaned over the table, grabbed a pen, and dragged a sheet of paper closer. Her handwriting snapped into motion—names, times, patterns. She wrote before her heart could argue with her.
Lucien watched without interrupting. Every glance he gave her felt like a hand near her wrist scar . It made her angry. It made her want to stand closer.
Aurora set the pen down hard enough to make Ptolemy jump onto the back of the chair. The tabby hissed at the vibration and glared at Aurora like she owed him quiet.
Aurora stared at Lucien. “Start with the voice.”
Lucien’s amber eye tracked her paper. He lifted his hand slightly , then stopped. He didn’t reach for the notes. He didn’t touch her work.
“Your phone,” he said.
Aurora’s face tightened. “I don’t have the phone anymore.”
Lucien nodded like that answer matched his expectations. “You threw it out because you couldn’t bear the icon staring at you.”
Aurora felt her cheeks burn. “How would you know that?”
“Because someone else did the same thing,” Lucien said. “In Marseille. Before it came to you.”
Aurora’s breath stilled. “Before what came to me?”
Lucien’s gaze lifted to hers. “The contract network. The one that uses voices like keys.”
Aurora swallowed. “You said it belonged to an entity that uses contracts and confusion. What’s it called?”
Lucien hesitated. For the first time since he’d walked into her doorway, his control faltered. It wasn’t fear. It was restraint.
He said, “I don’t like the way the name tastes.”
Aurora’s jaw tightened. “Say it.”
Lucien looked at her like he debated how much honesty she could handle. Then he answered. “Malach—”
Aurora’s pen stopped moving in midair.
The name hit the air and made the room feel smaller. The books on her shelves looked suddenly too eager, as if they waited for the syllables to become ink. Ptolemy’s ears flattened.
Aurora stared at Lucien, throat tight. “That name,” she said carefully . “You said it wrong.”
Lucien’s amber eye flashed, sharp. “No.”
Aurora leaned forward, eyes bright blue and hard. “You didn’t say it like you had said it before. You said it like you learned it.”
Lucien’s mouth opened, then shut. His gaze didn’t leave hers. Something about the way he held still suggested he’d realised too late she’d noticed the crack.
Aurora drew the paper toward her. “Don’t play games. Not with me.”
Lucien’s voice turned low. “I wasn’t.”
Aurora’s fingers tightened on the edge of the table. “Then why did you hesitate?”
Lucien looked away for half a beat—toward the window, where the streetlight outside turned the fog into pale ribbons. When he looked back, his expression had changed. Not gentler. Honest in a way he usually avoided.
“Because you didn’t only hear your voice,” Lucien said. “You heard someone else wearing it.”
Aurora’s skin prickled. “Who?”
Lucien’s cane shifted slightly under his grip, the concealed blade reminding Aurora that he could cut a path through whatever blocked them. He held his gaze on her and said, “The person you left behind.”
The words landed like a fist.
Aurora’s stomach folded. Her mind flashed Evan—Evan’s hands, Evan’s voice, the way he’d cornered her when she thought she had nowhere left to run. The way she’d fled London with a promise to herself she’d never let anybody touch her world again.
Her throat tightened around the past. “Don’t.”
Lucien continued anyway, because he didn’t know how not to tell the truth once he started. “That’s why you couldn’t remember the calls. It used your panic as a lock pick.”
Aurora pushed up from the table, chair legs scraping. She forced herself to stay on her feet, forced her gaze not to drop to her scar.
“Evan is gone,” she said.
Lucien’s eyes held hers. “Not gone. Scattered. Like a deal broken without an ending.”
Aurora stood too close to the table now. She could smell Lucien—rain and soap and smoke. Her chest tightened with old attraction, the kind that always showed up when she couldn’t afford it.
She hated that her body remembered him.
She hated that she still wanted to ask him questions she didn’t want answered.
Aurora swallowed. “What does this have to do with you showing up today?”
Lucien’s face settled into something sharp again. He lifted his cane and angled it toward a cabinet tucked under the window. “Your flat has a new lock.”
Aurora turned her head fast. The cabinet latch sat slightly off-centre. She hadn’t noticed. She’d been too busy collecting her own panic into notes and schedules.
Aurora moved toward it. Ptolemy followed her, silent now.
Her fingers hovered over the cabinet handle. The old curiosity and the old fear braided together.
Lucien’s voice stayed steady behind her. “Someone changed it while you were delivering.”
Aurora’s breath caught. “I was gone for four hours.”
“I know,” Lucien said. “I’ve tracked your route.”
Aurora’s hand tightened on the cabinet handle. Her wrist scar pulsed like it wanted to warn her. She looked back over her shoulder at him. The hurt flared again—hot and mean.
“You tracked me,” she said. “After you left.”
Lucien held her gaze. “Yes.”
Aurora’s eyes burned. “Why didn’t you tell me?”
“Because I didn’t trust myself not to get you killed,” Lucien replied. “And because you wouldn’t have believed me.”
Aurora yanked the cabinet open before she could spiral. Inside sat a small envelope, sealed with wax the colour of dark tea. No label. No handwriting. Just a stamp pressed into the wax—an eye with a crack down the middle.
Aurora stared at it so hard her vision blurred.
Lucien rose from the chair in one smooth motion. He stayed a respectful distance away from her back. He didn’t reach for the envelope. He didn’t touch her flat’s secrets without her permission. That restraint felt like both respect and threat .
Aurora’s voice came out thin. “That stamp.”
Lucien looked at it, and his amber eye narrowed. “It belonged to the contract network.”
Aurora turned to face him. “So it’s real.”
Lucien’s jaw tightened. “It’s always real.”
Aurora’s heart hammered against her ribs. Attraction still lurked under the fear, buried in the way he stood too close to the edge of danger without stepping in. Hurt still lived in the space where his explanations had ended last time.
Aurora took one step back from the cabinet, then another, forcing distance. She looked at Lucien like she could demand honesty from him with her glare.
“Open it,” she said.
Lucien didn’t reach for the envelope. He didn’t argue. He held her gaze and said, “You open it.”
Aurora’s throat tightened. “Why?”
“Because it’s using your voice,” Lucien replied. “And the contract listens when the right person breaks the seal.”
Aurora stared at the wax stamp. Ptolemy sat on the chair back, eyes wide, as if he understood the stakes.
Aurora lifted her hand. Her thumb hovered over the wax. The scar on her wrist itched again, a crescent that had watched her survive childhood accidents and abusive relationships and too many unsaid conversations.
Aurora looked at Lucien one more time, and the hurt in her chest tangled with a sharp, lingering pull she couldn’t lie about.
“You came here unannounced,” she said. “You forced my locks. You tracked my route. You brought me information I didn’t ask for.”
Lucien’s expression didn’t shift much, but something in his eyes tightened. “Yes.”
“And you’re still not telling me everything,” Aurora said.
Lucien didn’t deny it. He didn’t offer comfort. He said, “Not yet.”
Aurora exhaled through her nose. She broke the wax seal with her thumbnail.
The sound cracked through the flat like ice under a boot.
For a breath, nothing happened.
Then the room’s air changed—like a page had turned somewhere deeper than paper. The books on the shelves rustled without wind. Ptolemy sprang off the chair, fur bristling.
Aurora held the envelope open and pulled out a single folded sheet of paper.
The first line looked like her handwriting . The letters sat on the page with a familiarity that made her stomach churn .
She didn’t read it out loud. Her eyes scanned fast, then slowed.
Lucien leaned closer without stepping in. His voice stayed low, anchored. “What does it say?”
Aurora’s grip tightened on the paper until her knuckles blanched. Her bright blue eyes lifted to him, and the hurt finally found a new edge.
“It says,” she began, and her voice caught on the next word, “that I signed already.”
Lucien’s gaze dropped to the page, then snapped back to her face. His heterochromia flared—amber tense, black sharp.
“That’s not possible,” he said.
Aurora shook her head once, slow and tight. “It happened anyway.”
Lucien’s cane shifted, the blade still concealed but ready. His expression turned focused in a way that made Aurora’s attraction feel like a bruise.
“Read me the next line,” Lucien said.
Aurora stared at the paper, then at him. Her fingers trembled , not from fear alone. The page pulled at something inside her that wanted answers more than it wanted safety.
She swallowed.
“The next line,” she said, and she kept her eyes on his, “is a time.”
Lucien’s jaw tightened. “When?”
Aurora didn’t look away from him. She said the time from the page, and the moment it left her mouth the flat seemed to listen harder, as if the walls had leaned in.