尤里每天早上做的第一件事是检查档案室的锁。
检查的方法是:右手食指和中指并拢,沿锁芯外圈的金属边缘顺时针滑动一圈,触感应该是连续的、光滑的、没有任何中断或者异常的凸起。这是他在到任帕斯提尔书记官的第一年就建立的习惯——习惯意味着某种无意识的重复,而尤里的每一个“习惯”都是有意识的、经过设计的、被纳入了一套完整的操作系统之中的程序。他检查锁芯不是因为他每天都检查所以今天也检查。他检查锁芯是因为锁芯是档案室安全的第一道——也是唯一一道——物理防线,而物理防线的状态需要每二十四小时被确认一次。就是这样,没有多余的环节。
今天早上他的食指在锁芯外圈的七点钟方向碰到了一个不应该存在的东西——一道极其细微的、大概只有一根头发丝宽度的新划痕。新的,昨天没有。他的指尖对这个锁芯的每一处都有记忆——十年的每日触摸足以让人的皮肤建立一套比任何仪器都精密的基准数据库——而这道划痕不属于那套基准。它是新的。它是在过去二十四小时之内出现的。它的深度和方向暗示着某种工具——不是钥匙,钥匙的划痕是垂直于锁芯平面的,而这道划痕是斜的,大约三十度角——被插入锁芯后以一种不完全正确的角度旋转了。
有人动过这把锁。
尤里的嘴角维持着那个他已经维持了十年的、恒温恒湿的微笑。微笑没有因为这道划痕而发生任何变化。他的心率也没有。他的呼吸也没有。在帕斯提尔的书记官系统中——一个由尤里独自运行、独自维护、独自升级的系统——“有人动过档案室的锁”这个事件属于“已预设应对方案”的类别。预设。他在上任的第一年就为这个场景准备了应对方案。不是因为他预见到了里奥——那时候里奥还在王都的勇者局训练场上练习他从来用不好的剑术——而是因为尤里为所有场景都准备了应对方案。所有场景。包括“勇者查看档案”、“勇者带走档案”、“勇者在档案中发现矛盾”、“勇者不查看档案但向其他人询问档案中的数据”、“勇者伪造查看档案的行为实际上在查看其他东西”。每一个场景都有对应的评估等级和响应协议。这不是偏执。这是专业。
他用钥匙打开了锁。走进档案室。空气中的气味和昨天一样——纸张、墨水、木头、以及一种只有长期密封的空间才会产生的、像是时间本身的体味的微酸。他的目光在进门后的前三秒内完成了对整个房间的扫描——不是随意地看了一圈,是按照一个固定的序列检查了十七个预设的观测点:桌面(文件的位置和角度)、椅子(是否被移动过,通过椅子腿和地面灰尘之间的接触痕迹判断)、文件柜(三个抽屉的锁扣状态)、窗户(关闭且窗闩在位)、地面(脚印——有,不止一组,但这是正常的因为里奥在几天前合法地来过这里查阅过档案)、桌上的文件摞(位置——偏移了。不多。大约两毫米。但偏移了)。
两毫米。
尤里在心里把这个数字记录在了他脑中那本永远不会被写下来的账目上。两毫米的偏移意味着:有人在他不在场的时候翻阅了桌上的文件,翻完之后试图放回原处但精度不够。里奥来查档的时候尤里全程在场——那次的文件位置在里奥离开后被尤里重新校准过,校准的精度是零偏移。所以这两毫米不是那一次的。是另一次。一次尤里不在场的、未经许可的访问。
结合锁芯上的新划痕。里奥——或者其他人,但概率最高的是里奥——在过去二十四小时内用某种非标准工具打开了档案室的锁,进来翻阅了文件,然后离开了。
尤里坐下来。打开他的文件夹。取出笔。细长的手指握住笔杆的方式和他握住世界上所有其他东西的方式一样——精准、经济、指尖的茧和笔杆的木质表面之间是一种经过了成千上万个小时书写所打磨出来的完美配合。他没有立刻开始工作。他先倒了一杯水。喝了一口。水是凉的。他不喜欢凉水但他也不特别喜欢温水或者热水——温度对他来说和很多其他东西一样属于“不影响效率的变量”,可以被忽略。
然后他开始了他真正的工作。
书记官的工作有两层。记录村务、管理档案、协助勇者是表层。是他每天八小时中的六小时在做的事情。剩下的两小时——有时候是在档案室、有时候是在他自己的住所、有时候是在从档案室走到住所的路上用脑子完成的——是他真正的工作:维护。
维护什么?维护一套帕斯提尔真实运转所需要的、但不能出现在任何官方记录中的数字系统。
这套系统的规模不大——总共涉及四类数据:讨伐记录、物资清单、季度报告和人口登记。四类数据各有一套“官方版本“和一套“实际版本”。官方版本是给王都看的——数字工整、逻辑自洽、经得起标准审计。实际版本只存在于尤里的脑子里——不写下来。永远不写下来。写下来就是证据。不写下来它就只是一个人的记忆。而记忆——在法律意义上——不是东西。你不能传唤一个人的记忆。你不能在审判中出示一段没有物理载体的数字。
尤里用十年的时间把这套双轨系统打磨到了一种他自己都觉得近乎优美的程度。每一个官方数字都和其他官方数字严丝合缝。讨伐三只C级魔物→消耗箭矢若干、药品若干→对应补给申请中的箭矢和药品数量→对应季度报告中的“讨伐任务正常执行“。链条是完整的。每一环扣着下一环。你可以从任何一个入口进去,沿着任何一个方向走,走到终点出来的时候手里的数字和你进去时的数字是一致的。
但——尤里在里奥到来之前从未意识到的一个“但”——这套系统的设计有一个预设前提:审计者会沿着链条走。也就是说他会从讨伐记录开始、看到消耗数据、然后看到补给申请、然后看到季度报告。链条内部是自洽的。系统的鲁棒性建立在“审计路径是线性的“这个假设上。
里奥没有沿着链条走。
里奥跳出了链条。他去问了赫尔加。
这个动作——从档案室的纸面数据跳到仓库管理员的口头回答——不在尤里预设的审计路径中。它是一个侧面攻击。它绕开了尤里精心构造的数字城墙,从一个没有城墙的方向走了进来。赫尔加说了“和以前一样”——尤里知道她说了什么因为赫尔加在当天晚上就告诉了他——而“和以前一样”这五个字和讨伐记录中“最后一季度翻三倍”之间的矛盾是一个尤里此前没有预见到需要修补的漏洞。
不是他没有想到补给和讨伐之间的对应关系——他当然想到了,十年前就想到了,讨伐记录中的消耗量和补给清单中的申请量之间的一致性是他最早建立的校验规则之一。但他校验的是纸面数据之间的一致性。他没有校验纸面数据和“赫尔加嘴里说出来的数字“之间的一致性。因为在他的系统设计中,赫尔加的嘴不是一个数据接口。赫尔加的嘴是一个人的嘴。人的嘴不受他的系统管理。
这是一个架构缺陷。尤里不喜欢架构缺陷。架构缺陷意味着系统的底层设计中有一个他当初没有考虑到的盲区,而这种盲区——和表层的数字错误不同——不能通过简单的修补来消除。它需要重构。
所以今晚——在这个里奥未经许可进入过档案室之后的、所有数据的可信度都需要被重新评估的夜晚——尤里要做的事情不是修补一个数字。是重新审视整套系统中所有“纸面数字”和“口头数字”之间的接口,找出所有可能被一个“不沿着链条走“的审计者利用的不一致性,然后——在里奥下一次提出查阅申请之前——把它们全部修补完。
他从讨伐记录开始。取出最后一个季度的文件。翻到他自己的字迹——那些代替前任写下的、模仿了前任书写风格但笔画连接方式和前任不同的字迹。他当时的模仿已经是他能做到的最好了——他花了整整一个下午练习前任的运笔习惯——但“讨”和“伐”的连笔他始终学不会。有些东西——有些属于一个人的、从手指到纸面的不可复制的东西——是模仿不了的。他当时认为这个瑕疵不会被发现因为没有人会把两份报告放在一起逐字对比笔画连接方式。
也许里奥做了。
也许没有。两毫米的偏移不能告诉他里奥到底看了什么、看到了什么程度、得出了什么结论。但尤里的系统不需要确定的答案。它只需要对最坏情况做出准备。最坏情况是:里奥已经发现了笔迹差异。在这个前提下,尤里需要做什么?
什么都不做。
这是反直觉的——但也是正确的。如果里奥已经发现了笔迹差异,任何试图修改或者销毁最后那份报告的行为都会制造新的痕迹,而新的痕迹比旧的漏洞更危险。旧漏洞的存在可以被解释(“前任在最后几个月健康状况不佳,委托我代笔”),但旧漏洞被修改的行为没有任何无辜的解释。所以——留着。让它在那里。如果被问起,准备好解释。解释的措辞他已经在心里草拟了三个版本,分别对应“被直接质问“、“被间接暗示”和“被以友好的方式好奇地询问”三种场景。
笔迹的问题放一边。现在处理补给漏洞。
窗外的天光已经在他处理笔迹问题的预案时完全消失了——档案室唯一的那扇小窗从灰色变成深蓝色再变成和室内的墙壁几乎无法区分的黑色,而尤里在这个变化过程中没有移动过——他坐在同一把椅子上,在同一盏灯的同一个光圈范围内,只有他的手指和他的眼睛在工作,身体的其余部分保持着一种节约到了极致的静止。灯油在过去——他不看时间但根据灯油液面的下降幅度判断大约过了两个小时,灯芯在燃烧中发出了一种持续的、极其微弱的嘶嘶声,那种声音在白天被其他噪音覆盖了但在夜间的档案室里它是唯一的底噪,像是这个房间在呼吸。空气中的气味从白天的“纸张和墨水和木头”变成了夜间的版本——多了一层灯油燃烧产生的微苦,少了一层从门缝渗入的外部空气的流通感,整个房间变成了一个密封的、只有他和纸张和灯火共存的容器。
尤里从文件柜中取出了过去五年的物资清单原件和讨伐记录原件——不是他给里奥看的那些经过筛选的版本,是全部的原件。他把两套文件并排铺在桌面上。然后他开始逐季度地交叉核对:讨伐数量×平均单位消耗量→理论补给需求量→实际补给申请量→实际到货量。每一组数字都在他脑中的系统里被检验、被计算、被标注为“一致”或者“需要调整”。
他发现了三处不一致。
三处。在十年的数据中。这个数量对大部分人来说也许微不足道,但对尤里来说——对一个把系统的完美性视为个人尊严的人来说——三处不一致就是三处侮辱。它们是怎么产生的?他回溯了每一处的成因:第一处是两年前的一次马库斯临时涨价导致的单位成本变化,他在讨伐记录中调整了消耗量但忘了同步修改物资清单中的对应条目;第二处是前任生病那个月的讨伐次数减少但他在补齐讨伐记录时使用了正常月份的基准而非实际值;第三处——第三处就是里奥发现的那个:最后一个季度讨伐量翻三倍但补给没有相应增加。
第三处不是他的失误。是他和赫尔加之间的接口问题。讨伐数据是他的管辖范围。补给数据是赫尔加的管辖范围。两套数据各自在各自的管辖者手中是自洽的——尤里的讨伐数字在讨伐记录内部没有矛盾,赫尔加的补给数字在物资清单内部也没有矛盾——但两套数据放在一起就出现了裂缝。一条只有同时翻开两份文件才能看到的裂缝。
尤里用了三个小时修补。方法不是改动讨伐数据——那些数据里奥可能已经看过了,改动会被发现。方法是在物资清单中追加一份“应急补给申报记录”——一份日期标注在最后一个季度的、以“魔物活动突增导致装备加速损耗”为由的追加补给申请。这份记录的格式、用纸、墨水和其他记录完全一致——因为它使用的就是和其他记录同一批的纸张和墨水,尤里在十年前就储备了足够多的空白官方用纸和同一批次的墨水用于这种需要“追溯性创建”的场合。日期由他手写——他的字迹在这些文件中出现是完全正常的因为物资清单的填写人本来就是他。
三个小时后。三处不一致变成了零处。系统恢复了完整性。当然不是真的完整——真的完整已经不可能了,因为里奥已经看到了裂缝,而看到了的东西不能被从一个人的记忆中删除——但在纸面上。在任何人今后再次打开这些文件时能够看到的范围内。至少表面完整。
修补完的尤里直起身来,脊椎发出了一声他不喜欢的、干燥的咔哒——这是连续坐了五个小时没有改变姿势的脊椎对它的使用者发出的投诉。他站了起来。腿部的血液循环在恢复的过程中制造了一阵针刺般的麻痹感,从膝盖开始向下蔓延到脚趾。他等那阵麻痹过去——大约十五秒——然后开始收拾。手指——那双细长的、指尖有茧的手指——在五个小时的连续书写和翻阅之后处于一种微微僵硬的状态,握笔的拇指和食指之间的虎口位置有一个浅浅的、被笔杆持续压迫留下的红印。他活动了几下手指。关节在灯光照不到的地方发出了几声和脊椎同样性质的细碎声响。椅子被推回桌子下面,椅子腿和地面灰尘之间的接触痕迹被他用鞋底轻轻地、均匀地抹平了。他最后扫视了一遍档案室——十七个观测点,全部归位。
然后他从文件夹的内袋中取出了一张纸。
不是官方文件。是一张他自己的、不属于任何系统的纸。对折过很多次。边缘已经起毛了。他把它展开铺在桌上。上面是他的字迹——不是他在公文中使用的、整齐而没有个人特征的字迹,而是一种更小的、更紧的、属于他私人的字迹。纸上的内容是一个列表。列表的每一行格式相同:一个序号、一个日期、一个简短的状态描述。
4.第四任到达后第15天。常规。
5.第五任到达后第8天。常规。
6.第六任到达后第30天。异常——提前查阅档案。已应对。
7.第七任到达后第22天。常规。注:情绪波动。
七行。七任勇者。每一任一行。最后一行的日期是两年前的。
尤里拿起笔。在第七行下面写下了第八行:
8.第八任到达后第42天。尚可控。注:非线性审计路径。已补。
他看着这行字。“尚可控”三个字在灯光下很清晰。他的嘴角维持着微笑。但那个微笑——如果有人在这一刻足够近地看着他的脸——在嘴角和眼角之间的那段距离上有一条极其细微的裂缝,那条裂缝不是笑纹也不是皱纹,而是一种只有在金属被反复弯折到即将断裂之前才会出现的、材料内部的疲劳痕迹。
他把纸重新对折。放回文件夹内袋。
他在记数。和前任在墙上的刻痕一样。
不同的是前任数的是自己被困的日子。
尤里数的是他困住别人的日子。
灯灭了。档案室归于黑暗。尤里走出去。锁好门。食指和中指沿锁芯外圈顺时针滑了一圈——光滑的、连续的、没有异常。他明天早上会再检查一次。后天也会。每一天都会。
帕斯提尔在夜色中安静地呼吸着。尤里走回住所的路上脚下的石板路在月光中呈现出一种白天从未有过的颜色——一种被月光洗去了所有暖色之后剩下的、接近银灰色的冷调,每一块石板的接缝在这种光线下变成了一条条黑色的细线,整条主道看起来像是一张被裁剪过但没有拼好的、灰白色的纸。夜风从村子东侧的方向吹来,带着田地里的泥土气味和远处森林的湿润。他经过了月之隙——二楼尽头的窗户是暗的,里奥的房间没有灯光,窗帘拉着但拉得不完全,有一条缝,缝里什么都看不到,只有比黑暗稍浅一点的黑暗——然后经过了神殿——门关着,门缝里漏出一线微弱的光,是蜡烛的光不是油灯的光,颜色更黄也更不稳定,露缇亚在祈祷,在这个已经过了午夜的时刻她仍然在祈祷,尤里没有在这个观察上多停留——然后经过了仓库——赫尔加的窗户也是暗的,仓库本身在月光中是一个沉默的、方形的、像是用黑暗浇铸成的立方体——然后到了他自己的门前。他开门。进去。关门。门闩落入卡槽的声音在他的住所里比在档案室走廊里更轻——因为这里的空间更小,声音的回荡距离更短。
他的住所和他的档案室有着同样的气质:整洁、有序、每一件物品都在它被指定的位置上。床单是白色的。枕头是白色的。桌上只有一盏灯和一杯水。没有装饰。没有个人物品。整个房间像是一个尚未入住的酒店房间——或者像一个已经被清理过的、前任住客刚刚退房的房间。
尤里躺下来。闭上眼睛。他的系统在他入睡之前会完成最后一次自检——今天的所有事件被回顾、所有决策被评估、所有未完成的任务被排入明天的队列。自检通过。所有系统正常。
他睡着了。在帕斯提尔的所有人中——在被困的和困人的、在记数的和被记数的、在撒谎的和被谎言包裹的所有人中——尤里也许是唯一一个每天晚上都能准时入睡的人。
不是因为他的良心干净。
是因为他没有良心。
不——这不公平。他有的。良心被装订在他的系统中了。成了系统的一部分。它不再独立运作。它只在系统允许的范围内运作。
和帕斯提尔的一切一样。