在键盘上,没有敲下去。
“不是那个意思。”林序合上笔记本,拇指夹在纸页中间。“命名管道的尾部编号是4th。前三个数据输出管道按顺序——1st是技术分析链路,2nd是制度合规链路,3rd是资源约束链路。全在运行。4th的状态是‘等待客户端连接’。”
他逐一扫过屏幕上那几个拒绝记录,然后把笔记本重新翻开。“它在找第四个输出通道。前三个都被制度堵死了。”
周启明从终端前转过身,看着顾远。“系统内部有一条独立的进程间通信链路,名字是pipe_4th。创建时间?”
顾远查询命名管道的创建记录。创建于今天凌晨三点十四分,与“认知对齐初始化”进程启动同步。进程启动时做的第一件事不是读取数据,不是建立分析模型,不是调取历史预测结果——它先开辟了这条通信管道,然后进入等待状态。管道状态栏的日志里只有一行记录,反复写入,从三点十四分一直写到刚才,写了几千次:
等待客户端连接。
“它等了快九个小时。”顾远说。
陈路皱了一下眉。“等什么?”
“一个接收端。系统内部的另一个进程。”顾远一行行往下翻进程树。符合pipe_4th连接条件的进程类型只有一个——一个被标记为“第四解释框架初始化模块”的空白进程槽位。版本号:0.0。状态:未开发。创建者一栏写着项目原始架构文档的编号。文档日期比顾远加入项目组还早两年。
伊琳把椅子往后推了一点。椅脚在地面刮出一声沉闷的摩擦。“不是没启动。是从来没被写过。”
“它是一个空槽。”顾远说。他停了一下,像是要把这句话重新组装一遍。“有人在系统设计的最初阶段,在架构图里画了一个方框,标上‘4th if’,然后留了一条虚线连接到主控进程。二十年没有人往里写代码。系统知道那个槽位存在,但连接不过去。”
伊琳看着屏幕上的管道日志。“它在等一个不存在的东西回应它。”
周启明从公文包里翻出一份打印件。封面标注的日期在项目启动之前,纸张边缘已经发黄,装订线上有锈迹。他翻到最后几页——附录c,系统内部进程通信架构图。他看了一眼,然后从笔记本上撕下一张纸,按记忆画出附录c的拓扑结构:主控进程,数据分析管道,输出调度器,制度合规过滤层,资源约束评估模块,盲区标记模块。画完他停了一下。笔尖悬在纸的右下角,然后圈了一个方形框。框与主控进程之间有一条虚线,线上标注五个字符:4th if。方形框内他用铅笔写了一个字。字迹力道比平时轻,不像他的字:
“待。”
顾远从他手里接过那张纸。纸的边缘撕得不齐,折痕处有手指压过的灰印。
“4th if。第四个解释框架。”他说。
林序念了一遍白板上那个字:“待。”
他没有看任何人。他看着那个孤悬在拓扑图外的方形框。
伊琳站起来走近白板。她比周启明矮半个头,抬手时手腕擦过白板下沿的粉笔槽,蹭了一线白灰。“谁画的?”
周启明把打印件翻到扉页。第一研究组组员名单:顾远,周启明,陶远。“附录c那一页不是我画的,也不是顾远。”
他敲了敲白板。
“陶远。在v1审查结束后说‘对得起技术’,然后不再参与后续讨论的人。”
这个名字在备用机房里的分量和严工那封断电前的邮件差不多——都已经退出了,但每一件事都还在指向他们。
顾远从终端上调出陶远的离职记录。gcs待定期开始后第十一天申请调离,调至资产管理处下属设备登记组。调离后从未登录系统管理账号,没有邮件记录,没有数据查询记录,没有门禁记录。只在三周前有过一次——门禁卡在程久来访的同一天被刷过一次。刷开了一扇门。
“哪个房间?”伊琳问。
顾远把门禁记录展开。设备间。那间屋子存放的是已注销但尚未物理销毁的设备序列号清单,以及最后一版外部接收端的硬件资产分布图。陶远当天进门后,在室内停留了十四分钟,没有开启任何终端设备,没有带走任何东西,没有在系统里留下查询记录。
“他查了一份纸质清单,”周启明说,“然后走了。”
伊琳看着他。“他知道4th if是什么。”
林序在认知困境文档中打开新的一节。他先在页眉写下编号:第三十二节。然后依次写下四个时间戳:十二点零二分五十九秒,四楼会议室ups被强制关机;十二点零三分零一秒,系统最后一次尝试连接pipe_4th;十二点零三分,备用机房灯闪;三点十