备用机房里只有键盘声。
陈路把第一百五十条子进程记录投影到北墙上。内容只有一行时间戳和三个字——“已记录”。他等了等,没有下一条。墙上的投影光打在他脸上,映得颧骨发白。
“停了。”陈路说。
顾远没回头。他站在白板前,左手捏着半截粉笔。白板上那条从陶远提交第四解释架构文档日期延伸过来的线,末端空着。他已经在那空处站了四分钟。粉笔在他指间转动,每转半圈就磕一下指节。
“不是停了。”他用粉笔敲了敲白板边缘。敲了三下,每一下间隔相同,像是某种序列的残余。“是编号到头了。”
林序翻开日志本。手指在纸页边缘停了一下——第一百五十条子进程生成于凌晨四点五十一分。四十七分钟前,系统的句号变成了“文明不可收敛”。他在新一行写下时间,然后停笔。笔尖悬在纸面上方,影子投在日志本的装订线上。
“进程编号是系统自己分配的,”林序说,没有抬头,“它自己决定不再编号。”
伊琳把中东加压站的静置数据最小化。窗口缩成图标前,屏幕上还留着严衡最后一封信的扫描件。信纸边缘有咖啡渍,颜色已经发褐。严衡生前只喝黑咖啡,档案室的人都知道。他冲泡时从不搅拌,只是等粉末自己沉下去。她转过身来。
“它识别了什么,”伊琳说,“所以不需要再编号了。”
周启明站在打印机旁。机器吐完最后一张纸,他拿起来。纸还热着。审议会最终议程第三次修订版,秘书处四十七分钟前发出的。他用拇指按了按纸角,目光从名单上方往下扫,在第十一行停下。
程久的名字被划掉。替换为“张立民”。职务标注:资产管理处夜间巡检员。
周启明把纸递给顾远,动作很慢,像是递一份需要对方签字的东西。纸张在空气中发出轻微的沙沙声。“王群被替了。”
顾远接过纸。他看了三秒,然后翻过来看背面。空的。机器印完最后一页时没有自动双面打印,背面只有纸浆固有的纤维纹路。他把纸放回桌面。
“张立民。王群代班那天,原本该值班的就是他。”
“他之前四年没进过4f-07。”伊琳说。
“现在他进议程了。”
陈路调出张立民的门禁记录。屏幕弹出一个查询结果框。零条记录。不是被删除后残留的痕迹,不是权限不足无法显示,是从未有过。这个人的门禁记录从系统上线第一天起就是空的。他存在于排班表和工资单上,存在于每日巡检报告的签名栏——签名是打印体,每次都是同一个角度,同一种墨迹密度——但从未刷过一次卡,从未在任何监控画面中出现。
陈路把查询结果也投到北墙上。零条记录。两个投影并列在墙面上,左边是“已记录”,右边是空白的数据库返回。
“一个人,存在了四年,”陈路说,“但从未出现过。”
顾远把审议会修订版用磁铁按在白板上。磁铁是黑色的,圆形,他按了两下才固定住。位置在陶远日期与空白端点之间。然后他后退一步。
墙上现在有三样东西:一条线,一个日期,一份名单。
“他们用不存在的人替换存在的人。”
伊琳拧开保温杯。没喝。杯口停在嘴边,又放下了。水汽从杯口冒出,在屏幕的冷光里散了。
“张立民可能从来就不存在。王群代班四年,每次都是合规的。有没有可能——”
“每次代班的理由都不同。”周启明打断她。他已经从文件夹里抽出王群的排班记录,纸张在手指间哗哗翻过。四年。二十一次代班。他把记录摊在桌上,手指一行行点过去。
“设备检修。管线排查。空调滤网更换。通风管道清洗。消防喷淋测试。电缆绝缘层老化检测。应急照明电池更换。配电柜除尘。地插防水密封检查。桥架螺栓紧固。接地电阻复测。三相不平衡调整——”
念到第十七个时他停了。抬头看伊琳。
“没有一个重样。每一个都对应真实的工单编号,工单签发时间最早的在代班前六个月,最晚的前一天。”
他把排班记录合上。纸张叠在一起的边缘有些卷,是反复翻阅留下的。
“二十一次,二十一个理由。这不是代班。有人提前开好了四年的路径。”
林序在日志本上写下:21。铅笔,笔尖在数字末尾顿了一下,留下一个小小的黑点。他想起陶远十六年前在架构文档附录里留下的第三个“待定”。铅笔字迹在纸面上轻微凹陷,写字的人用力很重。那一页纸的正面没有字,但在光照下能看到背面的痕迹——是镜像翻转的字母和数字,从下一页透过来。陶远写的时候垫