WE GOT ON THE responder, which had collected the refugees and the hostiles, and was now ready to leave. A station tug had already arrived and was maneuvering into position to haul the hostile ship and the module to the impound bay so they could be checked for evidence. In light of the whole traitor in the Port Authority thing, Indah had ordered the tug to keep the ship and the module in isolation until Station Security cleared it. She hadn’t exactly lied, but she had implied that the ship might be contaminated with something. (Anybody who saw the galley wouldn’t have any trouble believing that.)
On the quick trip back to the transit ring, I checked my feed messages. Mensah wanted me to report when I had a chance, Ratthi wanted to know if I was all right, and Gurathin wanted to know if I’d used the life-tender and if it had worked okay. I also had a report from Tural, the combined forensic/medical report, which among other things identified the cause of Lutran’s death as a long “needle-like device” that had stabbed into his head, leaving no identifiable fragments behind. Tural also said the transport was being repaired, but the team hadn’t managed to pull any usable data off it. And Pin-Lee’s General Counsel report had arrived, which showed Lutran’s name came up multiple times in regard to cargo transfer on Preservation Station and on three other allied polities. Which meant Lutran had been funneling refugees for years, through multiple stations, as we’d theorized. And he wouldn’t be doing that anymore, so who the hell knew what would happen to all the other parts of the organization and the humans trapped at BreharWallHan. I sent acknowledgments/reply laters to all of them so they’d know I was still alive, because what I really needed to do was stand here and watch the beginning of episode 132 of Sanctuary Moon.
I’d followed Indah to the responder’s bridge, where she and the responder’s captain lied to the Port Authority about what the responder was doing. (They told them that a trader ship had had an onboard emergency that caused a comm and drive failure, and that the responder had alerted because it looked like the ship was trying to break port lockdown and leave. The misunderstanding had been cleared up now and the responder was arranging to bring the ship in for repair.) (I thought it was too complicated for a good lie, but whatever.) As we docked I followed Indah down to the airlock foyer to disembark. She stopped abruptly at the top of the corridor and I didn’t run into her because unlike the humans who are usually following me I pay attention. Audio picked up movement ahead; I sent a drone around the corner for a look. Oh, right, they were leading the refugees off the ship and she didn’t want them to see me. Which, fine.
But standing there, I thought of something. Whoever the actor was in the Port Authority, it was a human or augmented human who thought they were pretty clever and able to manipulate systems to their advantage.
Maybe we could get them to try again. I secured a connection with Indah’s feed: I have an idea.
She replied, Well, your last idea didn’t work out so badly. Let’s hear it.
The hard part had been deciding who/what was going to be the bait. It couldn’t be me; the important part (the thesis? I guess?) of our theory was that the actor was a local, with access to Port Authority if not Station Security systems. This person would know what I was and that attempting to attack me was not a good idea. (I wasn’t in a great mood right now, so it was an even worse idea than it usually was.) And there had to be some explanation of how/why the bait human knew who the actor was, so it couldn’t be a Station Security officer or a random station resident. I suggested Target Four from the Lalow, who had all the characteristics of a human who could be talked into doing anything.
Indah disagreed, on the grounds that Target Four had been talking to anybody who got within range while he was on detention in the station, and there was too high a chance that the actor would realize he didn’t know anything he hadn’t already told us. She thought it had to be one of the refugees, who had all had an opportunity to overhear/get information from the bounty-catchers. Which meant that even though it was my plan I couldn’t be in the middle of it. Which, whatever, I didn’t want to be in the middle of it where the excitement was, I wanted to be in an office working on a giant database in case the stupid plan didn’t work.
For the refugee/bait, Indah chose Human Three, the one who had been convinced the armored hostile was a SecUnit. She went to talk to him with the new special investigation team she had conscripted from the responder’s crew. (They had all been in the responder, which had been undocked on picket, so they couldn’t have been in the transport to kill Lutran.) (The other special investigation team was still potentially compromised, except for Aylen and Indah.) (And me, I guess.)
Human Three was in the responder’s medical compartment because he or someone else (I was betting it was him) had forcibly removed an interface from the skin of his forehead before leaving BreharWallHan and it had become infected. (Either the Lalow crew hadn’t offered the use of their MedUnit or with his curly head hair flopping over the wound, they hadn’t noticed.)
He was sitting on the med platform listening to Indah explain what we wanted him to do, with the other members of the new team gathered around. (I wasn’t there because I’m an evil SecUnit. I was out in the responder’s secure bay waiting for Indah’s request for system processing space for our database to be approved, checking my inputs, pulling and sorting code out of my archive, and watching the conversation via drone.)
Human Three, hair pulled back with a big patch of new skin on his forehead, said, “I’ll help you, but you got a SecUnit here. It’s probably passing tales to BreharWallHan.”
This would bother me more if it wasn’t so fucking typical.
So it surprised me when one of Indah’s conscripted responder team members said, “It was the SecUnit got you out of that module. You wanted to stay in it? It’s coming with the tug, you can hop back in.”
“No, no, we’re not corporates, we have laws. One of which is it’s illegal to put people in transfer modules so he couldn’t get in it again even if he wanted to,” Indah said, leaning against the bulkhead with her arms folded, as if none of this was urgent. “What we should do is charge his friend for shooting a Station Security consultant.”
Human Three (whose actual name was Mish) looked uneasy. “Are you going to do that?”
Indah said, “No, because I understand she’s experienced extreme trauma and because the consultant refused to make a complaint. Now are you going to work with us so we can find our killer and I can clear the Lalow crew and send them back to their ship? Or is this just how your whole group treats people who get hurt trying to help you?”
“I didn’t say I wouldn’t do it,” Mish grumbled. “I just want to know why you have a SecUnit if—”
So that’s how that was going.
It was the end of the day cycle and the station agencies were shutting down for their rest period, but I had asked Mensah to push through Station Security’s requests. By the time Indah came out into the bay, I’d gotten a feed message that Station Resource Allotment had approved the temporary processing and storage space we’d asked for. I’d already received a notice that I now had access to StationSec and provisional access to PortAuth. We still needed to arrange data dumps from the station mall systems we could get without needing permission from the judge-advocate, but even without those I thought we had enough to get started. If I was lucky, I could at least get the original special investigation team uncompromised with the data I had so far, once I could get it into a usable form. Their help would make the bait operation easier.
Indah walked up to me, saying, “So that part’s done. I just got a feed message from Aylen, she wants you over in the Security Office. The responder team will be bringing Mish with them, and I’ll meet you there.”
Threat assessment spiked. Huh.
I said, “So you’re staying here?”
Her expression turned hard. “Not that you have any right to ask, consultant, but I need to go to the Merchant Docks and try to stand down the search teams in a way that won’t alert our traitor.”
“Because wandering off alone across the transit ring when we’re trying to bait a murderer to act sounds like a good idea to you.”
Indah glared at me. “You talk to Dr. Mensah like that?”
“Yes. That’s why she’s still alive.”
She kept glaring. I was glaring at the air next to her head. She rubbed a spot between her eyes. “Fine. I’ll bring a couple of the responder crew with me.”
I waited around long enough to make sure she did. I left with them through the secure entrance and the air wall, past the access for the responder’s dispatch station where I split off to cross the Public Docks toward the Security Office.
It was quiet except for the whisper of the air flow and the low hum of active energy fields. Not anomalous since the last cargo transfer had been completed hours ago and there wasn’t any reason for anybody to hang around in here now. The transport crews were either on board their ships or in the station mall. It was perfectly normal and not creepy at all.
I was poking at threat assessment, trying to get a breakdown of the factors that had caused that spike. I had a lot of drone inputs sending me video and other data, but the reaction had been to what Indah said, not anything to do with Mensah’s security or anything else I was monitoring. And it had spiked before I had seen how empty the Public Docks were, with the cargo bots all gone to the Merchant Docks to help with the search. Though on a normal work cycle, the cargo bots would be outside, launching and attaching modules.
Huh. We knew Lutran had arranged for his module to be launched from the Merchant Docks and directed toward the Public Docks and his transport. We knew somebody, the actor inside the Port Authority, had redirected it toward the bounty-chasers’ ship. The bounty-chasers’ bot pilot had picked up the module just like a raider locked onto an unarmed ship, no cargo bot needed, but Lutran’s transport should have had a cargo bot assigned to help attach the module. The module’s transfer records had been deleted, but the cargo bots might have a record of the request for attachment and its cancellation. Indah had gotten me provisional access, and the cargo bots’ movements outside the station weren’t under any kind of privacy lock, so I ran a query.
I was distracted, so it was a good thing I’d had my drones form an extra-large spherical perimeter.
The three at the sphere’s apex picked up the sound of snapping metal and gave me a .5-second warning to move. The two further out on the sphere’s curve gave me an estimate of the dimensions of the falling object so I knew what direction to go in.
I threw myself out of the way and hit the metal floor in the gap between the crane’s second and third arms. Nothing hit me but the sound of a heavy thing striking the floor all around and the vibration rattled the shit out of me. I’m hard to kill, but an entire hover crane landing on me would sure do it.
My drones reported no additional falling objects and I scrambled away from the crane. I used my StationSec access to kill all surveillance on the embarkation floor so whoever it was couldn’t take a second shot.
I sent an alert code to the responder team and directed my drones to form a perimeter again. With nothing else heavy about to fall on me, I did what I should have done before I left the secure bay, and used the comm to call Aylen.
Farid answered, “Special Investigator Aylen can’t take your call, can I help—”
“Farid, this is SecUnit, did Aylen send a feed message to Indah telling me to meet her in the Security Station Office?”
“I don’t know.” He sounded startled. “Maybe? She’s not here yet and she’s off feed for a quick break. It took forever to talk the refugees out of the colony ship’s nav control and I think she just needed some personal time—”
“Find her. Make sure she’s all right.” Hopefully Aylen was in a restroom and not dead somewhere in a corridor. Then I signed off because my query had returned results. The cargo bot scheduled to attach Lutran’s module to his transport had been cancelled by the Port Authority and directed to the opposite end of the Public Docks. Which wasn’t helpful because we knew our actor was in the Port Authority so…
Oh. For fuck’s sake, you have to be kidding me.
Pin-Lee tells me I have to make everything complicated, and wow, is she right this time.
I established a secure feed connection with Indah and said, A crane almost fell on me in the Public Docks. Aylen didn’t send you a message, someone spoofed her ID. Did you tell Supervisor Gamila about the trap?
No! She was startled. Of course not, I—Damn it, I told her we needed a Port Authority data dump. I had to, she had to authorize the transfer to the temp storage—It can’t be her. We grew up together—
It’s not her, I said. But I know who it is.
I had never been in a Port Authority office before, for the same reasons I had never been in a Station Security office. But there had been a lot of firsts for me on this contract.
It was a multilevel structure, mostly private work spaces, with the public entrance on the second level opening inward to stationside, for humans who couldn’t/didn’t want to do their business over the feed. There were secure entrances I could have used, but I took the public one, sending my drones zipping ahead as the transparent doors slid open. I didn’t bother to remove myself from the surveillance camera at the doorway.
I did remove the responder team and the special investigation team, who were coming in through the secure dock entrance on the lower level and evacuating Port Authority workers in case a big structural-integrity-imperiling fight started.
I passed through a large open room with only two humans working with display surfaces. They looked up, startled, but I didn’t stop. I walked into Supervisor Gamila’s office, which had a wide curving window looking down into the Public Docks. The transparent material was interior port grade but not hatch grade. (I’d looked it up on the walk over here, along with the structure’s schematic.)
Gamila sat at her desk, a half dozen documents and database results open in her feed and floating on the display surfaces around her. She was surprised to see me. Then her expression turned frightened when she saw the large projectile weapon I was holding. I said, “Run.”
Balin stood beside the window, pretending to be dormant.
Gamila shoved to her feet, bumped into the desk, and bolted out the door behind me. My drone video saw her run into Aylen, who caught her and hurried her out of the office after the other workers.
I said to Balin, “The humans think you’re hacked, but we both know that’s not true.”
Balin stood up and expanded its limbs, the top of its carapace almost brushing the curve of the high ceiling. It sent into the feed, query: would it make a difference if I was hacked? Then it launched a code attack to slam through my wall and hit my feed and comm connections and disrupt my processing. At the same instant it extended a limb at high speed right toward my chest.
Nice try. I deflected the code attack and stepped to the side. The limb shot through the empty air where I had been standing and punched a hole in the office partition.
My turn. I lifted my weapon and put three explosive projectiles into the center of Balin’s carapace. I was hoping that would do the trick but I had a bad feeling it wouldn’t. But it would still confirm my working theory.
I had run a quick check of Balin’s records on the way here. It had been on Preservation Station for 43.7 local planetary years, and its original “guardian” had been the Port Authority supervisor at that time, who had taken it on when Balin jumped ship from a corporate cargo transport and asked for refuge. It had been the first and only bot to do that, which, you know, should have told the humans something.
The projectiles broke through Balin’s carapace but barely dented the underlying shell. Yeah, I figured. In all its years on station, it had never requested maintenance. It couldn’t, because a maintenance scan would have revealed its interior structure. Even a Preservation human would have wondered why a general-purpose bot had been fitted with military-grade armor under its outer body.
Balin dodged sideways and extended two more limbs to trap me in the corner. I ducked and rolled before another limb could pin me and fired three more bolts at its lower undercarriage. A non-standard configuration meant design flaws and gaps in its armor, and I only needed to find one.
Whatever reason Balin had originally been sent here for, nothing had ever come of it as far as I could tell from the historical search. The corporation that deployed Balin had been killed off in a takeover 27.6 years ago; its second function must have remained dormant. Until somehow BreharWallHan had ended up with its command codes and, looking for a way to plug up the pipeline of escaping contract labor running through Preservation and the other non-corporate independent polities along these trade routes, they had decided to activate it.
Possibly there had been two distinct bots in there, and Balin the general purpose bot had been erased once its secondary function had been activated by BreharWallHan. But this was why I didn’t want Station Security officers in here with me: Balin’s secondary function allowed it to kill humans and there is only one kind of bot made in the Corporation Rim with that function.
Under Balin’s general purpose carapace, it was a CombatBot.
My second hit on its undercarriage caused it to lurch erratically. I pushed up into a better firing position and oh, that had been a trick. It pounced forward to land on me but slammed into the floor when I rolled out of the way.
It shot another limb at me and I went up the wall, fired at its extended limb joints and flipped down to land on my feet. The impacts shattered three joints before Balin slung itself around and jettisoned the broken limbs. It had more where they came from, though, and this was going to take a while. I sent, Are you trying another code attack on me? Because I’d think a CombatBot would know the difference between a helpless transport and a SecUnit.
I wanted to provoke it into reacting and of course it did, because it was a bot and it made mistakes, like trying to kill me when it realized the database we were building was going to show an anomalous exit and reentry through one of the outer station airlocks.
(Okay, so a human or augmented human might have made those same mistakes. Maybe exploring every possible outcome of each action in an inescapable loop of paranoia and anxiety wasn’t the most normal reaction-state but hey, if it was, there would be a lot fewer stupid murders. I don’t know what I’m trying to get at with this. I’d make a better corporate spy? Probably? Except not being a corporate spy left a lot more time for media so that was just never going to be an option.)
(And also, I’d rather be disassembled while conscious, again.)
I needed to get close if I was ever going to finish this, and I feinted toward the right. But Balin knew I needed to get close and decided to shift locations where it would have more room to run me down. It swung and dove for the window into the Public Docks. I’d told Station Security to keep the area clear but I had no eyes down there to make sure. So as Balin slung itself past me I grabbed a trailing limb.
I hadn’t expected Balin to be able to smash through that window so fast but wow I was wrong. Falling with the shattered transparent material through the air wall and toward the transit ring floor, I jammed the projectile weapon right up against the undercarriage where Balin’s lower limbs connected and fired over and over again. Then we hit the floor.
The impact knocked me off Balin and I landed two meters away. SecUnits don’t stun easily and I managed to hang on to the weapon, but I’d damaged an ankle joint and struggled to get upright. Then a giant scoop thing slammed down in front of me.
For .05 of a second I had no clue what it was, then I picked up my drone inputs. JollyBaby the cargo bot had just put its hand down between me and Balin. This whole section of the ring was suddenly full of cargo bots. My drones picked up a dozen emergency medical bots, general purpose bots, even Tellus from the hostel, gathered at the public entrance on the other side of the Port Authority.
They weren’t sending pings, they weren’t making any noise. I had JollyBaby’s hard address and sent it: query?
JollyBaby sent back: Balin off network. Intruder destroyed Balin.
For another .05 second I thought by intruder it meant me. Before the “oh shit” moment could sink in, I realized what it was actually saying.
At some point during the fight Balin had dropped its wall and its designation as a CombatBot was now open on the feed. To the other bots it looked like one moment Balin was there, and the next its body was occupied by the CombatBot. They thought the CombatBot had killed Balin. I wasn’t sure they were wrong.
Balin stood there, carapace broken open, armor dented and cracked from repeated close-range projectiles, broken limbs trailing, as the other bots waited. There were no threats, no communication on the feed or comm, but the message was clear: we know what you are. None of these bots knew how to fight, but they were high functioning and would move to protect humans and each other from a violent intruder. Balin could try to fight; a CombatBot could destroy a cargo bot, no problem. But it couldn’t destroy this many cargo bots plus one slightly banged up SecUnit, not all at once.
Balin’s mission had depended on stealth. Now its mission was over. Its presence in the feed faded as it dropped into a resting configuration and shut itself down.
I was sitting on the platform of the Security Station’s MedUnit, getting my ankle adjusted, when Senior Indah came in.
(I’d already talked to Dr. Mensah on our secure feed. She had asked if I was all right and I said yes, which was sort of true but sort of not. Mensah and Dr. Bharadwaj had been trying to think up ways to make humans less afraid of SecUnits and here was Balin, or Balin’s secondary function, running around murdering humans, or a human. And Lutran’s elaborate refugee escape network was cut off, leaving the current group safe on Preservation but with no idea where the rest of their people had ended up. The Lalow crew might try to continue their part of it, but with BreharWallHan already on to them, they wouldn’t last long. As usual Mensah didn’t believe that I was all right but pretended to and said, Why don’t you come to the hotel when you’re done and we’ll do something fun.
All I wanted to do was watch media and not exist. I said, You know I don’t like fun.
Well, Ratthi has a reservation for the opening night of that new musical theater thing in Makeba Hall and he wants us all to go.
That… was actually really tempting. Also, guarding her in the hall would be easier if I was sitting with her. Still trying to resist, I said, You know you don’t like musical theater.
Yes, but I like to watch other people enjoy it. Are you coming?
I gave in, said yes, and cut the connection.)
Indah said, “Good to see you in one piece.”
Yeah, whatever. “You read my report?”
“I did.” She added dryly, “I’m glad you documented the whole process. It’s good to have a reminder that we actually didn’t do too badly, except for that one basic wrong assumption.”
The assumption that the perpetrator had entered the transport from inside the station instead of outside, she meant.
Balin had redirected the cargo bot in that area to the other end of the docks, then it had gone outside, walked across the station’s hull, and come in through the transport’s module lock and waited for Lutran. It had used the narrow rods in its hand, the rods that were part of its sealed hatch decoder, to stab him. Balin didn’t have any DNA to conceal, but part of its onboard PA equipment included a hazardous materials sterilizer. It had used that on Lutran’s body, to make it look like a human had killed him and had needed to remove contact DNA and any other traces left behind.
It had attacked the transport’s bot pilot to cover its tracks, then it had used Lutran’s ID to call the delivery cart, put the body in it, and sent it to dump it in the station mall, meaning to direct attention away from the port. Then it had returned to the station via the outside lock.
But it was a PA bot/CombatBot, not a SecUnit or a human. Its orders had been to kill Lutran, conceal its involvement, and deliver the refugees to the bounty-chasers, and that’s what it had done. It could anticipate some countermeasures to its actions but didn’t have the capacity to evaluate all the possible responses. And the bounty-chasers who were giving it orders hadn’t anticipated the fact that Preservation Station, unused to casual or any other kind of murder, would put the port into lockdown.
Unlike Indah, I wasn’t happy with our performance. Especially since I’d been the one to confuse everything by insisting the surveillance video on the transport dock had been altered. I just said, “I didn’t want anything to be left to the imagination.”
“Probably for the best.” Then Indah sighed, and said, “I wasn’t the one who sent that photo of you to the newsstreams.”
It was unexpected and it made me drop some inputs. I picked them back up again. I didn’t know what to say, because obviously what I should say was I didn’t think it was you except that was absolutely not true, I had been 96 percent sure it was her.
She continued, “I wouldn’t use the newsstreams like that. If we have to fight about Mensah’s security, we’ll fight, but I won’t undermine you. Since we are actually both on the same side.”
I hate being in this situation, not knowing what to say, and I couldn’t even figure out a query for a search of my media archive for similar conversations because I didn’t even know what kind of conversation we were having. But I didn’t want to look like it had thrown me as much as it had because… I have no idea. The MedUnit was finished so I rolled my pants leg down and said, “I have to meet Dr. Mensah now.”
Indah stepped aside as I climbed off the platform. She wasn’t making an expression anymore, as if maybe she had noticed how uncomfortable I was with the conversation. Which made me more uncomfortable. She said, “I’ll authorize the hard currency card payment for you. And I assume you’re open to another contract the next time something weird happens.”
I paused in the doorway. The expected wave of depression at the idea of ever doing this again had somehow not happened. Huh. I said, “Only if it’s really weird.”
She said, “Understood.”