度牒库的门一开,先出来的是冷气,不是灰尘。
凌晨两点十八分,道箓司旧档中枢地下三层。邱夜清把临时特批令拍在门禁玻璃上,红灯跳了两次才变绿。门内是一条长廊,左右各六间恒温库,温度常年十二度。走廊尽头挂着“迁档中心”旧牌,牌角发黑,像被烟燎过。
沈策没往中心机房去,先停在“度牒实体库”门口。他让技术员关掉顶灯,只留侧光。木质档柜在侧光下显出一条条细小擦痕,最中间第三排有一道新划线,长度刚好是一册卷宗的宽度。
“这里最近被抽过。”他说。
邱夜清看了一眼柜签:“第三排是2016年注销批次。”
2016。
正是顾玄照“死亡”和739“迁档”发生的年份。
柜门打开后,编号730到742本该连续。现在731、732、733都在,唯独胆位739只剩一只空套筒,套筒底部压着半张防纸,纸上有一行打印残字:
“迁档目的地:A库-封。”
后面的字被硬刮掉了。
“实体卷宗没了。”邱夜清说。
“不是借阅丢失,是定向抽离。”沈策拿镊子夹起那半张纸,“借阅会留借条,这种只留残标,说明对方不怕我们知道它被拿走,只怕我们知道被拿去哪。”
他转身进电子迁档室。迁档室里有三台老终端,系统还是十年前的灰底界面。技术员入只读介质后,很快调出739全链志。链上有三次关键写入:
1. `2016-09-14 03:11:22`:状态改为“遗失作废”。
2. `2016-09-14 03:17:30`:状态改为“迁档保留”。
3. `2026-03-?? 01:14:00`:附加字段`ghz_alive_flag=1`。
第二次写入秒值,和井中火、停电表、生辰错位主秒值完全同源。
邱夜清盯着那串时间:“03:17:30又出现了。”
“这不是时间,是主键。”沈策说,“谁掌握这串秒值,谁就能在系统里让‘死亡、保留、复活’三种状态互换。”
他继续往下翻签发链。按照制度,度牒迁档必须有三级签核:经办、复核、签发。739的经办和复核都有代号,签发一栏却只剩“甲级权限通过”,签发人字段为空,连哈希都被重写成全零。
“全零不是空值,是清洗值。”技术员低声说,“有人专门把身份位填成了可通过校验的‘空身份’。”
邱夜清问:“能恢复吗?”
“常规恢复不行。”沈策接过终端,“但系统删身份不删路径。我们不找名字,找签发动作留下的旁路痕迹。”
他让技术员调出同秒窗口(03:17:00-03:18:00)所有后台任务。列表拉开,除了739迁档,还有一条短任务:
`task_id: A_SEAL_REWRITE`
`io_port: print_spool_2`
`status: done`
“迁档为什么要走打印端口?”邱夜清问。
“因为旧系统的甲级签发会先打印签章页,再回写电子章。”沈策说,“签发人字段可删,但打印队列常被忽略。”
打印队列缓存在另一台离线机上。技术员挂只读镜像,五分钟后恢复出一份损坏的PS页。页上正文大半不可读,只剩签章区轮廓。沈策把图像拉进增强软件,逐层去噪,终于在印章下缘看见两段断裂字:
“……长联签”
“……第七席”
邱夜清瞳孔一缩:“第七席?”
“席位签发,不是姓名签发。”沈策把图像存档,“我们第13章刚确认司辰体系用席位替人。这里也一样。”
这时,外线把祝衡带了过来。祝衡是早期档案吏,之前在第1章就出现过,后来一直保护性隔离。人一进门就缩着肩,手里死死捏着保温杯。
“我、我只知道那晚有人进过迁档室。”他说话发抖,“没刷常规卡,门是系统自己开的。”
“你见到脸了吗?”邱夜清问。
“没。戴面罩,手套到肘。说话像坏了的收音机。”祝衡咽了口唾沫,“但他写字我看见了,左手写,右手一直压着一册卷宗。”
“卷宗编号?”
“739。”
“写了什么?”
“就一行,‘由遗失改迁档,保留源证。’”祝衡眼神躲闪,“我以为是上面临时指令,不敢问。”
沈策问了最后一个细节:“他走时从哪出去?”
“不是正门。”祝衡指向墙角一块金属格栅,“从维护风道。那条道通A库封存区。”
A库。
正是实体套筒残纸上的“A库-封”。
沈策没有立刻冲风道。他先调取了中枢层面的环境传感志:温湿度、门磁、风压。结果显示2016年9月1403:16到03:19之间,A库风道压差异常升高,像有人临时打开过双向风阀;同一窗口内,迁档室门磁没有异常开关记录。这意味着祝衡说的“系统自己开门”并非错觉,而是有人绕过门禁走了维护风道,并在风压层面留下了可复核痕迹。
“把那三分钟的风压曲线叠到今天的风道开栅动作上。”沈策说。
技术员叠图后抬头:“曲线形状几乎一样,峰值差不到5%。”
邱夜清看着屏幕:“也就是同一套开阀手法,跨了十年还在用。”
“对。”沈策点头,“流程没变,说明核心作手册也没变。我们追的不是一两个人,是一个在长期迭代但不改底层规程的体系。”
邱夜清立即下令封锁A库风道。队伍刚转向,迁档室警报突然响起。不是入侵警报,是“自动归档任务启动”警报。屏幕上跳出倒计时:`ARCHIVE CLEANUP 00:05:00`。
“谁触发的?”邱夜清厉声问。
技术员脸色发白:“远端策略推送,源头在历史库主镜像别名通道。”
又是看不见的手。
清理任务一旦跑完,打印队列和任务旁路会被彻底覆写。沈策没有先断网,而是先拔掉归档机的写缓存电池,再把系统时钟手动回拨三分钟。清理任务校验失败,倒计时停在00:01:12不动。
“先保志,再追人。”他简短说。
技术员趁窗口期做了内存快照。快照里有一段尚未写回磁盘的事务志,字段名是`issuer_uid_mask`。正常情况下,这个字段应保存签发人内部ID的掩码摘要;而739那条事务里,该字段被写成了固定值`FFFF-FFFF-FFFF`,同时触发了一个罕见标记:`identity_redacted_by_policy`。
“这是系统策略抹除,不是人工删库。”技术员抬头,“人工删身份会留下NULL或空串,策略抹除才会写固定掩码和策略标记。”
邱夜清眉头一紧:“也就是说,连删身份这一步都被做进了制度化流程。”
“对。”沈策看着那条标记,“它不是怕追责,而是提前设计了不可追责。签发人从按键那一刻起就被‘合法消失’。”
他让技术员把这段事务志做三份离线封存,一份进刑诉证据链,一份进技术鉴定链,一份单独隔离备份。然后才抬手示意行动组继续推进A库风道追踪。
数据固定后,专案组冲向A库风道。风道入口在地下层尽头,铁栅刚被撬开,内壁有新鲜擦痕和一枚掉落的金属扣。扣子不是席位扣,而是旧式章夹扣,背面刻着“甲-7”。
“甲级第七席。”邱夜清捏着扣子,“和打印缓存里‘第七席’对上了。”
风道尽头连着A库封存区。封存区里堆满未编号铁箱,其中一只箱盖未扣紧。打开后,里面不是739卷宗,而是一叠被切去签名栏的迁档副本。每一份都保留了签发时间和章号,唯独胆份名栏被利落裁掉,边缘切口一致,明显批量处理。
“这不是灭迹,是模板化灭迹。”沈策说。
他把最上面一份副本平铺,发现页脚有肉眼几乎看不见的盲压水印。用侧光一照,水印浮出来:
`A-ROOT-7 / seat-only`
seat-only,席位专用。
“他们把甲级签发做成了‘席位账户’。”沈策声音很平,“账户存在,责任人不存在。”
邱夜清沉着脸:“也就是说,就算抓到执行人,也能说‘我只是代席’。”
“对。这套结构本来就为了防问责。”
技术组这时完成了十二起同源签章案的并表。每起案件都符合三项共同特征:一,关键身份字段在同秒窗口被改写;二,签名栏实体副本被裁切;三,审批链里至少有一个“临时保留”条目且由甲级通道放行。更要命的是,这十二起案子跨越了医疗、宗教、殡运、公安四个系统,按常规不可能由单一部门长期控。
“四系统同源签章,只有两种解释。”邱夜清说,“要么我们抓到的是省级以上联动黑手,要么是借国家级接口外衣做的假中台。”
沈策盯着并表里那条反复出现的秒值,语气冷静:“不管哪种,A-ROOT-7都在中间。它像个‘合法穿透器’,让任何部门都以为自己只批了一小步。”
“那我们先拆哪一层?”
“先拆‘临时保留’。”沈策指着第七起案件附注,“所有签章前都有一条临时保留说明,但说明模板只有三种句式。模板句式是人写的,只要找到模板来源,就能近真正的签发文书系统。”
邱夜清点头:“我让文检组做跨案语料比对。”
凌晨四点,全部证物回到临时指挥车。技术组做了最后一道交叉验证:739迁档签章号与近十年十二起“特殊保留”案件签章号同源,均来自`A-ROOT-7`。其中三起案件里的当事人同样“官方死亡后出现活体流程痕迹”。
739不是孤例。
它只是最早被他看见的一例。
邱夜清把报告递给沈策:“你要的答案,有一半。”
“哪一半?”
“谁签的我们还不知道,但怎么签的知道了。”邱夜清看着他,“甲级签发人不是被‘遗漏’,是被系统性‘抹除’。”
沈策点头,目光落在屏幕那行空白签发栏上。空白本该是“没有人”。可在这条链里,空白恰恰代表“有人,而且一直在”。
他又看了一眼739那只空套筒的照片。实体失踪、电子抹名、策略掩码、席位签发,四层证据像四块拼图,此刻终于扣到同一张底图上:有人在用制度本身做面具。想摘下面具,必须先把制度里的暗门一扇扇拆开。
他关掉屏幕,声音低而稳:
“从现在开始,我们不再找‘某个人’。我们找第七席的入席路径。”
窗外天色将明,档案库的冷气却比夜里更重。
有人在等他们上钩,他们也在等那个人露手。
棋还在走。
无声却很急。
天快亮了。
真快。