第四部 · 等重的人
第十四章十二块钨

十二块钨板被找到以前,乔澄先称了十二块替代板。
质量实验室按照原始装配图,从同规格备件中取出对应各槽位的板。替代件使用以R开头的复验序列号,不冒用原板编号。每块板都是灰黑色,表面没有钨应有的金属光泽,边缘有两道供夹具咬合的窄槽。最轻的三点一二公斤,最重的七点三一公斤。单独拿在手里,看不出它们和罗定川有什么关系。
十二块放在一起,才出现那个数字。
5.24 × 2 4.86 × 2 7.31 × 2 3.12 × 2 6.93 × 2 6.00 × 2
合计六十六点九二公斤。
邵临让人把六组数字拍照,问乔澄:“如果只为了等重,四十二块板里一共有多少种选法?”
质量实验室用了一个上午计算。
允许总误差二十克时,共有三百一十七种组合。允许多取或少取一块,结果更多。凶手并不难凑出六十六点九二。真正困难的是第二个条件。
K-0的地板由一块刚性副框支撑,四个角各有一只载荷传感器。总质量相同,不代表四只传感器的读数相同。一个六十公斤的人站在左前角,和站在正中央,总重量没有变化,左前角的反力却会显著增加。
如果凶手只是从校准盒外侧抽走最方便的板,即使总数恰好六十六点九二公斤,K-0的重心也会向另一侧移动。第一套四角载荷与后面的吊具四旋锁受力一比较,就会发现箱内固定结构发生了变化。
失踪的十二块板不是这样。
乔澄把装配坐标画在透明板上。每一块钨板对应一个点,点旁标有质量。她先把失踪模块圈红,再用细线连接成六对。
第一对分列中心线左右,距中心完全相同。
第二对也一样。
六对板的横向力矩各自抵消。纵向上,三对位于地板中线以前,三对位于中线以后;质量与距离的乘积相加,正负差小于装配测量误差。经过角框弹性修正,它们从盒中取出后,四角示值都在设备分辨率内减少十六点七三公斤。
如果再把六十六点九二公斤放回地板几何中心,四个角又会各自增加十六点七三公斤。
“罗定川为什么会站在中心?”邵临问。
曹牧调出了内部检查规程。
二号角位导线压接检查完成后,维护人员必须退出角位区,站到地板中央黄色标记内,避免遮挡门侧光栅。内侧状态灯熄灭,箱门才会自动开启。
K-0案发时的黄色标记已经被鞋底磨花。现场显色后,正中央留下罗定川右鞋的一处完整外底纹,方向与条件令牌接受前八秒的受力中心一致。
“虚假故障把他引到二号角位。”乔澄说,“规程再把他带回中心。程序等他站稳,才接受空箱认证令牌。”
“认证以后,他一动,四角不就变了?”
“所以正式结果需要一个稳定采样窗。令牌接受前的八秒,他按规程站在中央。八秒足够系统确认总重和角位分配。后来他走动、拉门、撞击,信号进入动态漂移层,不再回写已经完成的固定设备核验。”
“秤看见他动了。”
“看见了。报告没有再问。”
乔澄把三百一十七种等重组合逐一加上力矩约束。
只剩一组。
就是空槽里的十二块。
第二天下午,警方在旧标准资料库找到一份七年前的工程文件。
文件名是《可换式热惯性模块现场校核补充方法》。它没有正式发布,编号停在征求意见稿,页眉上印着“仅供标准中心内部试验”。附件三的标题是:
等质量重心补偿表
这张表不是为杀人设计的。
早期实验箱需要在不同港区替换模拟介质。如果每换一组钨板都重新做四角标定,单次试验要多花六小时。补偿表把四十二块板的质量、横纵坐标和地板刚度修正量全部录入。输入一个目标质量,它会优先寻找使总重心不变的模块组合。
文件封面“编制”一栏写着:韩叙宁。
版本库里还保留她七年前的签名提交。她先写了横向一阶力矩,三天后又补上纵向力矩和角框弹性修正。评审意见认为,这种表可能让固定设备在不触发角载变化的情况下被替换,要求不得向维护承包商开放。文件因此没有进入正式手册,程序也没有安装在普通维护终端。
“谁能拿到?”邵临问。
资料管理员列出访问权限。
标准中心主任、两名首席计量师、试验平台系统管理员,共四人。七年间有过十一份下载记录。两名计量师早已调离,案发当天不在临海。系统管理员十八点到二十一点一直在启用大厅的导播间,录像连续。
韩叙宁不需要下载。她的控制区工作站本地保存着编制原件。
取证人员把那台工作站封存时,表格已经不在最近文件列表。硬盘上也没有一份完整、可直接打开的副本。可是计算程序运行时,需要把模块坐标读入内存。操作系统为了休眠和崩溃恢复,把部分内存页写进了本地交换文件。
十八点四十一分二十二秒,一段名为BALANCE_SWAP的旧程序被启动。
十八点四十一分三十一秒,输入值是:
66.920
十八点四十一分四十八秒,程序输出十二个模块号。
四秒后,它生成一页附件。
附件的内容校验值,与曹牧平板缓存中的那一页完全相同。
不是相似,不是使用了同样公式。两份文件连表格中一处多余的空格、坐标保留的小数位和打印边距都一致。它们是同一个文件。
工作站位于标准中心二层东侧的主任控制区。十八点二十九分,韩叙宁刷证进入。十八点四十八分,她刷证离开,去启用大厅参加最后一次舞台走位。走廊摄像头在这十九分钟内没有拍到第二个人进出。
访问日志把这十九分钟进一步切开。
十八点三十二分十四秒,罗定川通过人员负载门,闸机记录六十六点九二公斤。这个数包括他当时所穿衣物与佩戴物;手机按照人员门规则放在侧置物台单独通过,不计入平台。法医中心后来按同一条件重构称量,结果相同。
十八点三十六分零九秒,主任控制区工作站查询他的通行质量。
十八点四十一分二十二秒,等质量重心补偿程序启动。
十八点四十三分零六秒,十二块钨板附件被挂入维护工单。
十九点十八分,曹牧拆板完毕。
四个时间没有一个来自公开直播。它们分散在门禁、人员闸机、工作站交换文件、工单离线缓存和曹牧工具柜的电子签封里。任何一套系统单独拿出来,都只能证明一小段动作。合在一起,它们说明有人看见罗定川入场后的重量,计算了唯一一组等重、等力矩的钨板,再让不知用途的维护工程师把它们取出。
“她会说工作站被别人用了。”邵临说。
“当然可以。”
“你不觉得这是借口?”
“在证据没有排除以前,它就是一种可能。”
邵临看着她。“你总替嫌疑人找可能。”
“我替报告找边界。”
同一个下午,虚假故障的来源被定位。
“角位回零迟滞”并不是传感器自己生成的诊断词。K-0的故障字典里没有这七个字。标准术语是“角部载荷通道零点恢复超差”。前一个说法只出现在一份早年的内部讲义中。
讲义题为《多点载荷系统的动态基准与角位补偿》,主讲人也是韩叙宁。
她习惯把回程误差称作“回零迟滞”。乔澄记得这个词。十五年前,她们在九号冷舱的内部会上争论过一次。乔澄认为“迟滞”会让人误以为设备只是反应得慢,韩叙宁认为现场人员更容易理解。
十五年后,同一个词把罗定川带进K-0。
网络取证显示,虚假警报来自主任控制区的维护网口。更准确地说,来自那台工作站十八点五十一分写入的一项本地定时任务。二十点三十八分二十一秒,任务自行把警报发送到K-0。那时工作站屏幕已经锁定,韩叙宁正在大厅舞台上接受直播前采访。
“她有不在场证明。”控制系统负责人说。
“证明二十点三十八分她不在电脑前。”邵临说。
“如果任务是十八点五十一分写的,门禁显示她十八点四十八分已经离开。”
“门禁显示的是刷卡,不是人。”乔澄说。
他们回看录像。
十八点四十八分,韩叙宁从主任控制区出来,手里拿着演讲稿。她在走廊拐角停下,同一名礼宾人员说话。十八点五十分,礼宾人员带她进入没有网络终端的化妆间。十八点五十一分,她正在镜前佩戴领夹话筒,正面与镜中画面都能看见双手。
定时任务的建立时间不对。
取证人员重新检查,发现十八点五十一分不是用户点击“新建任务”的时间,而是控制区工作站把任务同步给本地调度服务的时间。任务包本身在十八点四十七分已经生成,并设定延迟四分钟安装。韩叙宁离开后,机器按队列完成了剩余动作。
共享账户可以遮住一个名字。
本地工作站、门禁和录像仍然留下了动作发生的地点与顺序。
晚上,邵临申请搜查韩叙宁的办公室、车辆和个人工作设备。批准手续还在流转,标准中心的律师已经到了。
韩叙宁在会议室等他们。
她换下了启用仪式那天的灰色西装,穿一件深蓝色工作服。桌上摊着全国冷链设备风险排查图。图上二十多个节点已经被红笔圈出,旁边写着预计停机时长。
邵临把十二块替代钨板的照片放在她面前。
“认识这组编号吗?”
韩叙宁逐一看完。“认识补偿表,不记得每一组结果。”
“表是你写的。”
“七年前,为了减少试验箱现场标定时间。”
“案发当晚,它在你的工作站上算出了罗定川的体重。”
“那台工作站用于活动总控。维护共享账户有权限调用本地程序。”
“十八点二十九到十八点四十八,控制区里只有你。”
“录像只拍走廊。”
她没有说“不是我”。她只指出证据能够证明到哪里。
乔澄听出了那种句式。
十五年前的最终报告也没有写冷舱里绝对无人。它写的是:未发现足以证明人员预先存在的有效载荷。
“角位回零迟滞。”乔澄说。
韩叙宁看向她。
“你还在用这个词。”
“一个术语不属于发明它的人。”
“十二块钨也不属于。”
“对。”韩叙宁说,“所以你们应该找证据,不要找风格。”
她的语气没有挑衅。她甚至说得正确。
乔澄把照片收回来。
“我们会找。”她说。
走出会议室时,邵临问:“你刚才为什么不把时间线全给她看?”
“她比我们更清楚时间线。”
“那你在等什么?”
“等十二块真正的钨。”
替代板证明计算成立。
只有失踪的原板,才能说明计算最终去了哪里。
人员与设备事件对时表(节录) 18:32:14 罗定川通过人员负载门:66.92 kg 18:36:09 主任控制区查询该条记录 18:41:22 BALANCE_SWAP启动 18:41:31 目标质量输入:66.920 kg 18:41:52 组合附件生成 18:43:06 附件写入K0-TI-4471 19:18:00 十二模块移除完成