第二天上午九点,打印店维修员抱着工具箱走进事务所。
他姓乔,五十岁上下,进门先看了一眼贴在机器上的封条。
“打印机坏了,怎么还贴证物封条?”
“不是证物。”陆观说,“只是防止维修前继续进纸。”
“那我能拆吗?”
“记录以后拆。”
乔师傅看向林雪。
林雪正在填写设备检查授权:“只检查本机队列、缓存和滚轮,不连接其他电脑,不打开文档正文。”
“修个打印机还有保密协议?”
“侦探社。”
“行。”乔师傅签完字,“我只想知道它为什么卡纸,不想知道你们查谁。”
“查我们自己。”陆观说。
乔师傅抬头看了两人一眼,眼神流露出震惊、疑惑、不解,最后释然,低头打开工具箱。
封条拆除时间是9:07。
打印机没有立刻通电。乔师傅先取出纸盒,检查滚轮和出纸口。托盘右侧有轻微偏斜,此前卡纸残留的一小片纸屑还卡在传感器旁边。
“这台机子卡纸以后,保护状态不会自动清。”他说,“断电也不一定。新任务进来以后,它会先问要不要继续。前天晚上,你们是不是直接按了确认?”
陆观想起前天晚上亮过的屏幕。两份文件吐出来以前,他把“是否继续未完成任务”当成了前一天的卡纸提醒。
“按过。”
“你当时没看清提示?”林雪问。
“看见了。我以为是前一天卡纸留下的续打提示。”
“所以没有确认任务编号?”
“没有。”
“两行也能看。”
乔师傅拿螺丝刀的手停住:“要不你们先聊?”
“继续修。”林雪说。
陆观把那次操作写进设备记录,没有用“顺手”两个字减轻责任。
乔师傅接上独立检测电源,进入维护菜单。
缓存里有两个任务。
第一个编号尾数732,创建于前天15:42,来源是陆观手机的本地打印服务。18:05入队,状态为续打后完成。
第二个编号尾数804,创建于18:06,来源是事务所云端打印服务,状态为已完成。
“我没点过打印。”陆观说。
“手机装的打印插件开了自动预览。”乔师傅指着任务信息,“你修改文档以后点过分享或者打印预览?”
陆观回想实验室课间。
他为了确认删掉一条以后页码会不会错位,确实点开过系统分享菜单。打印图标排在第一行,他碰到以后立即返回,以为任务没有提交。
“误触。”他说。
“本地没网,插件先把任务存在手机里。回来连上同一网络,任务推给打印机。”
“15:42创建,为什么18:12才打?”
“机器之前卡过纸,保护状态没清。你的本地任务先入队,屏幕弹出续打提示。你按下确认以后,它先跑这个任务,再处理后到的云端任务。”
乔师傅导出不含正文的任务日志。创建时间、发送时间、设备来源与实际完成时间各自分开。
陆观沿着任务日志的时间栏往下看。第一份文件不是从云端来的。
它由陆观手机直接送进本地队列,所以平台版本树里找不到。
在他的记录里,打印机没有凭空记住不存在的文件。
它只是记住了一项使用者以为已经取消的任务。
“纸张为什么一份卷得更厉害?”林雪问。
乔师傅把两张同批纸分别放在托盘上:“旧任务启动时机器刚预热,出纸口温度高,托盘又歪,第一张在右边多停了几秒。第二个任务运行时温度稳定,所以平一点。”
他又让机器空走一页。
新纸出来后,右下角出现与少页版相同的轻微弯曲。把托盘扶正,第二页便恢复正常。
“这是现场复现。”陆观在记录里写下条件,“同批纸、同一滚轮、偏斜托盘、冷机预热。”
林雪补了一句:“只能解释卷曲,不用卷曲反推打印时间。时间以任务日志为准。”
乔师傅听见,笑了一声:“你们修机器还是审我?”
“审机器。”陆观说。
“机器不会撒谎。”
“机器会把人误触当命令。”
乔师傅点点头:“这个确实。”
10:10,两个打印任务的来源已经对上。
墙上旧版是林雪前天早晨打印。
少页版是陆观下午误触预览后留在本地的离线任务。
合并版是两台手机联网后由云端生成的新任务。
陆观把三项排除结果写进记录:没有第三账号,没有远程控制,门锁记录也没有夜间进入。
为了确认不是维护菜单把两项任务错误拼在一起,乔师傅没有立刻清缓存。
他先用一份不含任何案件内容的测试文档重复流程。
陆观让手机断网,在本地删除测试文档第二段,点开打印预览后立即退出。打印插件仍生成一个等待任务。随后林雪在另一台设备新增第三段,两台设备依次联网,云端产生合并版。
本小章还未完,请点击下一页继续阅读后面精彩内容!打印机里再次出现两个编号。
本地任务在前,云端任务在后。
乔师傅拔掉电源,重新接通。屏幕弹出“是否继续未完成任务”。这一次陆观没有直接按确认,而是把提示拍下来。
选择继续以后,机器先打印缺少第二段的本地版,再打印同时包含第一段与第三段的云端版。
打印顺序与前天晚上一致。
林雪把两份测试纸摆到原文件旁边:“机制能够重复。”
“也排除了只发生一次的系统错误。”陆观说。
乔师傅指着屏幕:“严格说,不能排除软件还有别的问题。只能证明你们看到的现象,用现有功能就能做出来。”
陆观看了他一眼:“乔师傅,你很适合当证人。”
“我修机器见过太多人。”他把测试任务删除,“打印错了都说机器自己改。最后十个里有九个是点错,剩下一个是拿错纸。”
“还有一个呢?”林雪问。
“十个里面已经十个了。”
乔师傅笑起来。
林雪没笑,只在维修记录旁补上“替代解释已完成复现,设备其他故障不作超范围判断”。
陆观则把自己前天晚上按过一次确认键写进操作链。
陆观看着那一行。如果他省掉这一项,打印机就会像一个突然醒来的第三个人。
把它写进去以后,机器只剩一块没有清空的缓存。
乔师傅更换进纸轮旁边的磨损垫片,扶正托盘,又清空所有已完成任务。他建议这台机器再出现两次相同故障就换,不要为了省耗材反复维修。
林雪问了维修价格和新机价格。
两者相差十一倍。
“继续用。”她说。
“我建议写进守则,”陆观说,“公共设备连续故障达到三次必须更换。”
“设备采购不属于共同生活规则。”
“它已经制造一次家庭矛盾。”
乔师傅收工具的动作慢了半拍,竖起耳朵。
林雪看向陆观:“谁和你是家庭?”
“事务所家庭。”
“没有这种组织形式。”
“那就是同居——”
“闭嘴。”
乔师傅把最后一把螺丝刀塞进工具箱,主动表示发票稍后发电子版,不需要留在这里看两人打情骂俏。
10:45,维修师傅离开。
陆观撕掉设备封条,把检查日志、维修回执和三份文件来源表放在一起。
林雪没有立即归档。
她取出昨天那两张修改确认单,放到来源表上面。
“技术问题结束。”她说。
“关系问题呢?”
“什么关系?”
“共同规则的修改关系。”
“已经各自承担。”
“还差一句。”
“你想听道歉?”
“不一定。”
林雪坐回自己的位置,先把陆观删除条款的确认单推给他。
“你删重复内容的理由成立。”
“然后?”
“先删后说不成立。”
“我同意。”
她又拿起自己的那张。
“把你列为第一联系人,理由成立。”
“然后?”
“没有先问,不成立。”
陆观没有笑。
陆观认识她以来,林雪很少把一句话说到这个程度。她更习惯修改流程,让新的做法证明旧的有问题。
“下次我先问。”她说。
陆观把两张确认单并在一起:“我也先说。”
林雪拿起订书机。
按下以前,她看见陆观盯着金属开口。
“怎么?”
“确认里面没有掉进去别的订书钉。”
“上次是你掉的。”
“所以这次先检查。”
订书机里只有一排正常钉。林雪把两张纸订好,放入普通管理档案,没有送进案件柜。
11:30,两人开始整理第十二版。
重大危险共同决策。
涉及对方身份和私人选择的修改先取得确认。
能问先问,问不到且出现明确异常,再启动风险核验。
职业邀请共同核验,个人决定。
系统相关规则仍然没有落纸,只由两个人记住。
林雪删掉三个重复句,又把陆观写得过于宽泛的“任何私人路线完全自主”改回有边界的版本。
陆观逐条确认,没有再在离线状态直接删。
13:40,文档只剩最后一栏。
【私人安排】
下面一片空白。
陆观把光标点进去:“写什么?”
“没有内容。”
“没有内容为什么留标题?”
“以后可能用到。”
“什么以后?”
林雪把电脑转回自己那边:“等用到再说。”
她点击保存。
第十二版最后留下一整条空白。
谁也没有把它删掉。