Thursday 13 November, 16:40
There were two releases now, and everything depended on never confusing them.
The first was clean: 14.2 rebuilt by Jonas on the new machine, every change read twice by human eyes, the eleven lines gone. This was the one the real customers would get, late, with an apology.
The second was the trap. It sat in staging where it had sat since Monday, the poisoned build just as the attacker had made it, back door and all. It was bound for one customer only, a town Ola was still building.
At 16:40 Jonas leaned back to crack his neck and looked at the dashboard beside him.
“What’s that,” he said.
Viktor turned. The green number in the corner had become 00:19:58, and then 00:19:57.
Jonas clicked it. A panel slid out.
release-autopush | Schedule: 13.11.2025 17:00 | Target: ALL (204) | Artifact: staging/14.2 | Owner: svc_labsync
“No,” Jonas said. “No, no. That’s the patch-night job. That’s off. Geir turned that off years ago, he said it was a loaded gun on a—” He was already clicking. “Pause. Pause, pause.”
The pause button was grey.
He clicked it anyway. Then again, harder, as if the mouse were the problem. A red bar slid down from the top of the screen.
Action failed: authentication for job owner svc_labsync - account disabled.
“Then it can’t run,” Kristin said from behind them. Nobody had heard her come.
“It’s already running.” Jonas was talking too fast now. “It’s been running since—it’s asleep, it’s just asleep, it wakes up at five and it pushes. Disabling the account doesn’t—”
“Doesn’t kill what’s already inside,” Ola said. He had come across the room without anyone seeing him move. “Kill it on the box.”
00:18:31
Jonas opened a remote session to the build server. The login window took its time. He typed his password and got it wrong. He typed it again.
The user name or password is incorrect.
“Faen.” His hands came off the keyboard and hung in the air. “It’s new. Everything’s new. I changed it, I changed them all this morning, I—”
“I have it,” Ola said, and took a small black notebook out of his fleece. “Server room. Console. Remote’s too slow.”
They ran. Viktor went with them because he couldn’t think of anything else to do with his body. Kristin stayed at the dashboard with her phone on speaker, and her voice followed them down the corridor, small and steady.
“Seventeen minutes.”
Jonas’s card on the reader. Red light. Again. Green. The server room breathed its cold breath over them, and the fans, and the tape on the floor between the second and third rack. Jonas stepped over it without looking down.
The build server was a black box at shoulder height with a fold-out console on a rail. Jonas pulled the keyboard out so hard it banged on its stop.
“Read it to me.”
Ola read it to him off the notebook, one character at a time, flatly. Jonas typed with two fingers, because his other fingers were no use to him now. Enter.
Welcome.
“Fourteen minutes,” said the phone.
The process list scrolled up the little screen: hundreds of lines, the ordinary business of a machine. Jonas filtered by owner. Eleven processes, every one of them svc_labsync’s. Ola leaned over his shoulder and put one finger on the glass.
“There.”
pwsh.exe | svc_labsync | Started: 10.11.2025 23:49
Jonas selected it. End process.
Access is denied.
Viktor heard himself breathe out through his nose. Somewhere above them the rain had found the roof.
“Elevate,” Ola said.
Jonas opened an admin shell, typed the command, got the process ID wrong by one digit, deleted it, typed it again. His shoulders were up round his ears. There was sweat on the back of his neck in the cold room.
“Six minutes,” Kristin said. Then, because she couldn’t help it: “Jonas.”
“I know.”
Enter.
Nothing. The prompt came back, blank, blinking, which could mean that it had worked or that the machine was ignoring him. Jonas listed the processes again. The line was still there.
“It’s in the middle of something,” Ola said. “Children. Kill the tree.”
Jonas typed it. /T /F. Enter.
The line went away.
Nobody said anything. The phone on Kristin’s end was silent for so long that Viktor thought the call had dropped.
“It’s stopped,” she said. “It’s stopped. It says fifty-four seconds. It’s just sitting there.”
Jonas put both hands flat on top of the rack and stood with his head down between his arms, breathing like a man who has come up from too deep. Viktor looked at the floor, where the tape was, and then made himself look somewhere else.
Ola was still reading the screen. He opened the job’s history and turned the console so Viktor could see.
release-autopush | Created: 2019 gsolheim | Disabled: 2021 gsolheim | Enabled: 10.11.2025 23:49 svc_labsync | Run once: 13.11.2025 17:00
“Monday night,” Viktor said. “Eleven minutes to midnight.”
An hour and twelve minutes after Geir had stopped breathing a metre from where they were standing. Somebody had sat in a warm room somewhere and reached into this building and switched Geir’s old gun back on, and pointed it at Thursday.
“Before anyone held anything,” Jonas said. “We didn’t hold it till Tuesday morning. How could he—”
“He knew his own fire alarm would hold it,” Viktor said. “Any company with red screens on Tuesday postpones on Tuesday. This was the spare key under the mat. Two days later, when everyone’s looking somewhere else.”
“Or he knows,” Ola said.
Nobody answered that.
Back in the office Kristin had not moved. The phone was still in her hand and her notebook lay open on the desk beside the dashboard. She had written the time and the number, 00:54, and underlined it twice. She didn’t look up.
The restore finished at 17:52. By six the home-care app was running again in Askøy, in Øygarden and in Alver, on clean servers. Ingrid rang from a car park at Straume to say a nurse there had hugged her. She sounded embarrassed about it.
“Ola,” Viktor said. “Is Lillevik ready to be born?”
“Give me three hours,” he said, “and I’ll build you a whole town.”
At 18:20 Mona’s phone buzzed on the table in Kristin’s office. She had been sitting with it all afternoon, beside the officer Dahl had left with her, watching it like a dog she didn’t know. She turned it over.
Ka tid går den ut?
And a minute later, while they were still reading it:
Forgive me. I meant to ask what time the update goes out tonight. It has been a long wait for us both.
Mona put her finger on the screen, under the first line.
“He never writes like that,” she said.
“Like what?”
“Ka.” She looked up at Viktor. “Three months. Bokmål when I write Bokmål, Nynorsk when I go home. Never once like that.” She took her finger away. “That’s Bergen. That’s town talk.”
Viktor read it again. A machine that had been perfect for three months, slipping. Or a man reaching past the machine, because waiting was harder than he’d thought.
“What would you say?” he asked her. “If it were just you.”
She thought about it. Her lips moved.
They wrote: Kristin says it goes at nine, like always. I’m so tired.
The three dots pulsed. Stopped. Pulsed again.
At nine, then. Rest, Mona. You have done everything right.
Mona read it and put the phone face down and folded her hands on top of it, and sat like that.
At half past six Jonas asked whether he could be the one to switch off FN-SRV03.
Ola had its disk. There was nothing left in it that anybody needed, except the eleven years. Jonas stood in front of the old box with his hand on the power button.
“Do you want to say something?”
Jonas thought about it.
“Sorry, Geir,” he said. “You were right about the tapes.” A breath. “And the checks. I’ll keep the list now. The boring one. I’ll keep it.”
He held the button down until the box understood him. The fans spun down through their notes, lower and lower, and stopped. In the quiet Viktor could hear the rain on the roof and, under it, the clean machines breathing, and on the floor between the second and third rack one corner of the police tape had begun to lift.