打开网易新闻 查看精彩图片

检票口的灯闪了两次。许砚把刚领到的离婚证塞进背包,手机随即亮起,是唐小满发来的一张演示确认单。

确认单最下方印着他的电子签名。上方写的却是昨晚才替换的新版本,异常工况测试一栏空着,结论栏已经勾选“可以演示”。

唐小满又发来一句:“许工,这份单子不是你签的,对吗?顾总让我把它放进交付包。”

许砚停在闸机前,把图片放大,记下单号和生成时间。确认单生成于今天下午四点十七分,那时他正在民政局排队。

沈知意的电话紧跟着打进来。三小时前,他们在离婚证上各自签了名。她看见他拖着行李,也只问过一句晚上住哪里。

如今他站在检票口,她先追问的,却是那份确认单。

“你怎么还不处理?”她的声音压得很低,背景里有人讨论演示流程,“小满说你对确认单有意见。”

“把我的签名撤掉,保留这份单子的原件。”许砚看着不断缩短的检票队伍,“没做过的测试,不能写我确认通过。”

“你先回公司再说。”沈知意顿了一下,“明天客户就到,顾衡在会议室等你。有什么误会,当面讲清楚。”

广播第二次催检。许砚说:“我不会回去。你让管理员保存版本记录,别让任何人覆盖。”他收起手机,刷票走过闸机。

沈知意又打来一次,他没有接。站台上风很大,他找到车厢,把行李推进架子,才给唐小满回消息:“别删聊天记录,也别替任何人补签。”

他打开公司系统。离职手续办结后,他的项目权限还剩只读,这是交接时约好的期限。风险清单、冻结版本的测试报告和今晚的确认单,仍在同一个目录。

七天前,他带着接替人员跑完最后一轮测试。仓库里货位被占用时,调度器应先暂停派单,再提示人工处理。那一版通过了测试,也被标成演示冻结版。

今晚确认单对应的版本多了一个改动:停机保护前的检测被跳过了。许砚没有权限查看改动内容,只能看见版本号和那处未完成的测试栏。

他将只读页面和确认单一并保存,给系统管理员发去单号:“有人把我的电子签名放在新版本下。请锁定原始记录,保留上传人与修改历史。”

管理员很快回复:“收到。记录已锁定,后续修改会另存新版本。”

车门尚未关闭,项目群里跳出顾衡的消息:“许砚,明天的演示出了问题谁负责?你总不能交接完就不认自己的设计。”

群里有接替人员,有测试组,也有沈知意。顾衡当着这些人问他出了问题谁负责。

许砚盯着输入框,想起项目成果发布会的座位表:那次要上台讲设计,却没有他的名字。

沈知意说两人的关系还不宜公开。顾衡在台上讲解他的设计,许砚手里却是她交来的接送宾客的车钥匙。

三十一天前,许砚提交离婚申请,也递交了书面离职通知。从那以后,他没有再替别人改过一次会议发言稿。

他在群里发出确认单截图,标明生成时间和版本号:“我未签署这份确认单,也未测试今晚的新版本。冻结版的报告及风险清单在系统原目录。”

顾衡立刻回了个问号:“项目出了城,你倒是很会挑时间发声明。”

许砚继续发:“请保留确认单原件、上传记录和版本修改记录。明天如按新版本演示,应先完成异常工况测试,并明确由谁批准使用。”

消息发送后,群里安静了几秒。系统管理员随后回复:“相关记录已锁定。原件可供复核。”

顾衡撤回了一条消息,改为私聊许砚:“你以为发几句话就能把责任甩干净?一千二百万元的采购意向,你赔得起吗?”

许砚回了一句:“客户尚未验收。这是采购意向,不是到账收入。”他没有继续争论,退出私聊,把管理员的回复留在群里。

唐小满发来语音,压着哭腔:“顾总让我别再查了。他说现场有他盯着,可设备现在还连着新版本。”

“告诉值班测试员,异常工况没测完就不要放进演示流程。”许砚说,“你说不出口,就把我在群里的消息转给他。”

语音发出去时,列车缓缓驶出站台。窗外熟悉的楼群向后退,手机上的工作群却仍在不断亮起。

有人问确认单能不能重新出一份,有人问旧版本是否还能切回。许砚只回答自己核验过的部分:冻结版的位置、报告编号、交接人员姓名。

沈知意终于在群里说:“先查清记录,演示安排我来定。”这句话后面没有提他的签名,也没有要求顾衡停用新版本。

许砚看着那行字,没有替她补上结论。过去三年,只要他不说话,别人就会把这份沉默当成同意;今晚群里已经留下了他的异议。

列车驶入隧道,信号断了片刻。重新连接时,唐小满发来一张现场照片:样机的机械臂停在货架前,警示灯把整排货位照成红色。

照片下面只有一句话:“许工,刚才按演示脚本试跑,停机了。”

第二天早上,沈知意走进会议室时,桌上已经摆着昨夜试跑的故障报告。顾衡站在投影前,说问题出在许砚留下的调度逻辑。

她先问人事:“许砚今天几点来?”人事把离职流程页面转给她,状态一栏清清楚楚写着“已正式离岗”。

申请日期是三十一天前,最后工作日是昨天。沈知意看了两遍,才想起自己曾收到过流程提醒,当时只让林妍按正常手续办理。

“你去找一下他。”她对林妍说完,又补上一句,“我去测试间。”

测试间没人见过许砚。值班员说,昨晚样机停机后,顾衡要求他们先查原负责人的设计;冻结版报告在系统里,但顾衡还没让切换验证。

沈知意从测试间回到研发区,经过两间会议室和茶水间。她给许砚拨工作号码,听到的是停机提示。

林妍在楼梯口追上她:“人事确认了,他所有设备都已经归还。离职交接上周就结束了,接替人也签收了。”

“他从来没跟我说清楚。”沈知意说。话出口,她想起许砚曾把离职通知放在餐桌上,她那晚正在改客户演示日程,只说过一句“照流程办”。

许砚的工位在靠窗的角落。桌面擦得很干净,显示器已经搬走,抽屉敞着,里面只剩一枚备用螺丝。

信封压在一张借用设备清单上。清单上的测试终端、工牌和钥匙逐项结清,接收人签名齐全;信封上写着“辞职信”,收件人是她。

沈知意站着读完。信里列了交接日期、资料位置和接替人员,最后一句写:“请按岗位职责处理后续项目事务,不再将离岗后的应急支持列为我的工作安排。”

林妍看见她把纸折起又展平。会议室里顾衡还在催复盘时间,客户代表则问,明天能否如期看正式演示。

沈知意拿出私人手机。她原本想说,回来一趟就好;又想到许砚的工位、归还清单和已经结束的劳动关系,话到嘴边成了拨号声。

电话接通时,许砚正站在新住处的门口。凌晨下车后,他把行李箱推上楼,睡了两个小时,门边的纸箱还没有拆开。

“你在哪里?”沈知意问。

“住处。”他把钥匙放在鞋柜上,“昨晚的样机停机,我看到了照片。现在设备停用了吗?”

沈知意转头问林妍。林妍立即给测试间打电话,得到答复:“试跑停了,设备断电封存。没人受伤。”

她把结果告诉许砚,又说:“下午回来参加复盘。我可以让司机去车站接你。”

许砚看着地上的行李箱。箱子侧袋里还装着昨晚的车票,他原本打算今天去见两名约好的同行,看看工作室能用的地方。

“这次离开,不是等你来接。”他说,“我会参加技术复盘,但只参加远程会议。中午十二点前,留四十分钟给我。”

沈知意握紧手机:“客户明天就要验收,你知道这件事有多急。”

“那就先别拿没测完的版本去验收。”许砚说,“我能说明交接前做过什么,交接后谁改了什么,请让有权限的人现场打开记录。”

“顾衡说改动只是提速。”

“让测试数据说。”许砚听见她那边有人敲门,“会议里要有测试员、接替人和纪要员。未经他们核实的结论,不要替我写。”

沈知意原本要反驳,抬眼却看见信旁那张结清清单。她曾经习惯把一切排进他的日程,此刻连要求他坐在哪间会议室都没有依据。

“十一点开始。”她说,“林妍发会议链接。”

挂断电话后,林妍问:“要不要把顾总昨晚那份归责纪要先撤下?”

“先标待核实,停止外发。”沈知意把辞职信放回信封,“叫测试组带着冻结版报告来,不要只带顾衡做的演示文件。”

林妍回到工位查会议名单,才发现许砚的离职申请、交接日程和冻结版风险清单,过去一个月都在她维护的日程系统里。

她曾把这些提醒归进普通流程,从未问过沈知意是否看过。

许砚收到会议链接,没有立刻点开。他从箱里拿出充电器,把电脑放到空桌上,桌腿少了一颗螺丝,屏幕轻轻晃动。

唐小满发来消息:“顾总说执行账号是我的,复盘时我该怎么说?”

许砚没有让她替自己辩解,只回:“把你昨晚收到的指令和实际操作分开说。每一条都能在系统里查到。”

她回了一个“好”,隔了片刻又说:“我怕他们说,是我把设备弄停的。”

许砚看着那句消息,打开交接清单。上周签收时,唐小满还是跟在测试员身后记参数的人;昨晚她第一次被安排独自守着演示样机。

他把冻结版报告编号发给她:“复盘时我会在场。先把屏幕打开,别替任何人的决定猜理由。”

窗外是他还不熟悉的街道。楼下早餐店收摊,行李箱仍立在门边;十一点的会议提醒弹出时,他已经把旧版报告和昨夜的确认单并排放在桌上。

十一点,许砚进入会议。屏幕里是他坐过三年的会议室,桌边多了一名纪要员;唐小满坐在最远处,手里攥着笔。

顾衡先开口:“故障报告大家都看了。许砚离职前交的核心逻辑,在现场触发了停机。现在关键是怎么尽快修。”

许砚看向会议名单:“测试员到了吗?请共享设备记录。我只用四十分钟,先确认两次试跑用的是什么版本。”

值班测试员周程接过鼠标。沈知意点头:“按记录来。”

屏幕上显示昨夜的运行时间和版本号。纪要员读出确认单编号,正是许砚在群里提出异议的那一份。

许砚说:“请打开上周交接清单,找到冻结版报告对应的安装包。先用同一套演示脚本跑一遍,不改工况。”

顾衡皱眉:“客户要看的是提速效果。回头跑旧版,能说明什么?”

“能说明停机是不是交接前就存在。”周程看着屏幕说。他昨晚在群里附和过顾衡,此刻还是把安装包编号念了出来。

测试间的镜头对准样机。货位被占用后,冻结版暂停派单,屏幕弹出人工处理提示。机械臂停在安全位置,等待下一条指令。

纪要员把结果记下。周程重新载入昨夜的新版本,仍用刚才那套脚本。

样机开始运行。货位占用提示出现后,派单队列继续向前滚动;机械臂接近货架,保护装置随即切断动作,红灯亮起。

唐小满抬头看向屏幕。昨夜她只看到停机,现在看见了停机之前那几秒里,原本该暂停的队列一直没有暂停。

许砚没有替系统解释:“请打开两个版本的差异,以及新版本测试记录。”

周程切到版本页面。冻结版的检测步骤还在;昨夜的新版本把那一步设为跳过。对应测试任务的状态是“未执行”,确认单却写着“通过”。

顾衡说:“我让他们先测正常路线。异常占用是极端情况,不该拿这个否定整个版本。”

“现场脚本就有占用货位。”周程把脚本翻到第三页,“这是客户指定的工况,交接清单也列了。昨晚我以为许砚已经签过确认单,所以同意试跑。”

他转向纪要员:“我昨夜口头说故障可能来自原设计,请把这句从归责结论里撤掉。刚才同一工况下,冻结版通过了。”

纪要员停笔,问沈知意:“是否记录为经现场复现,现有证据不支持将故障归于许砚交接前的版本?”

“照实记。”沈知意说。她看向许砚,“冻结版的检测和停机处理,是你设计的?”

“我和测试组一起做的。”许砚把周程的名字点出来,“报告里有每个人的记录。今晚这项改动,不在我的交接范围内。”

周程低声说:“检测步骤最早是许砚提出来的。发布会讲这个功能的时候,我也在场。”他没有再往下说,会议室里的人都听懂了。

沈知意看向顾衡:“是谁批准跳过检测,并让新版本进入演示试跑?”

顾衡把笔往桌上一放:“审批先别急着定性。系统操作记录在那里,执行账号是唐小满的。她昨晚自己上传的包,总不能每一步都说是我按的。”

唐小满的脸一下白了。她确实登录过系统,也按要求上传了安装包。屏幕上的账号名清楚得像一枚印章。

许砚看了眼时间,还剩十二分钟。“请把上传记录旁边的任务指令打开。谁操作、谁下令、谁批准使用,系统里是不同字段。”

顾衡说:“她是成年人,接了任务就该核对。”

“该核对。”唐小满终于开口,声音发颤,“所以我昨晚问过异常工况要不要测。顾总回我,先按新版本出确认单,测试等演示后补。”

她把手机放到桌上,却没有推给任何人:“消息还在。我上传了包,也应该为没坚持停下试跑承担责任。但确认单上的许工签名,不是我加的。”

会议室静了片刻。林妍起身拉上门,提醒纪要员把唐小满的话逐项记录,随后请管理员调取任务指令和确认单上传历史。

管理员在线回复,锁定的原始记录可以查看,导出需要几分钟。沈知意让会议继续,却不再催许砚留下。

许砚对着镜头说:“我的版本已经复现,交接日期也在清单上。唐小满的操作需要查,顾衡的指令也一样。别把执行账号直接写成批准人。”

纪要员把共享文档展示出来,删去昨夜“原负责人设计缺陷”的表述,改为“故障发生于交接后的新版本,批准链待查”。

周程确认后,在自己的发言旁签了名。

顾衡盯着那行字,没再要求许砚远程修复。沈知意把样机继续封存,通知客户正式演示延期,并约定等版本记录核实后说明原因。

四十分钟到时,许砚合上桌边的报告。他对周程说:“旧版测试资料都在原目录,后续复测你们能自己做。”

周程点头。唐小满还坐在原位,等管理员导出记录。许砚没有退出会议,向她示意把刚才那条指令的时间也记下来。

她低头翻到消息,报出昨晚六点三十二分。纪要员写下时间,管理员随即在共享屏幕上调出了同一分钟发出的任务单。

任务单停在共享屏幕上。创建时间是昨晚六点三十二分,执行人写着唐小满,任务内容只有一句:“按提速版准备试跑。”

许砚让管理员展开关联字段。指令来自顾衡的账号,后面还有一项“节点批准”,只显示总裁办公室的流程编号,没有显示批准意见。

顾衡伸手要拿鼠标:“这是内部排期,不是技术审批。小满上传版本之前,自己也有义务检查。”

沈知意拦住他:“先让管理员把记录导完。”她看了眼墙上的钟,许砚约定的四十分钟已经过去。

许砚也看见了时间。他对唐小满说:“后面的事,你可以自己决定要不要继续说。我能陪你核对记录,不能替你作证。”

唐小满盯着任务单。她昨晚确实按了上传键,停机后又是她第一个给许砚发照片。顾衡让她赶工的话,她已经当众说过;

但任务单上的执行人仍是她,完整聊天还在她的手机里。

“我愿意把消息给管理员。”她把手机递给林妍,“但我想先确认,原件会保存,不会只截一句话放进纪要。”

林妍接过手机,请管理员按时间导出完整对话。沈知意让纪要员注明唐小满提供资料的范围,暂不把她写成故障责任人。

许砚等管理员核对完发送时间,才退出会议。唐小满私信他:“许工,下午客户也要来,我还能找你吗?”

他回:“可以。我只能说明自己做过的部分。你要说的话,先按时间写下来;不想当场说,也可以交原始记录。”

下午两点,客户代表提前到了。昨夜的停机视频已经传到对方技术组,他们要求参与责任说明,决定是否继续当天的验收安排。

会议室的投影仍停在顾衡准备的主讲页。第一页写着“顾衡团队完成调度方案”,后面接的是提速版的预期效果,没有一页提到异常工况。

沈知意进门时,林妍把上午修订的纪要和管理员导出的记录递给她。批准字段的流程详情仍未展开,需要由她本人登录查看。

客户代表梁工没有坐下就先问:“我们要看实际跑过的版本。今天谁能讲清设计边界,谁来讲。”

顾衡向前一步:“产品方案由我统筹,技术细节我们的人可以补充。”

梁工把停机画面放到桌上:“昨晚我问过保护动作,收到的答复是原设计缺陷。上午你们又说旧版通过了同一工况。先把这两句话对上。”

沈知意请林妍撤下顾衡的主讲页,换成版本记录和测试结果。投影黑了一瞬,顾衡站在屏幕旁,手里的激光笔没有了落点。

“方案的检测和保护逻辑由许砚牵头设计,测试组共同验证。”沈知意对梁工说,“他已正式离职,今天同意远程回答与原版本有关的技术问题。”

屏幕上出现许砚的新住处。他仍坐在那张会晃的桌前,背景里是没拆开的纸箱。梁工看着他,问的却是顾衡:“上次发布会,他在哪里?”

顾衡没答。沈知意说:“那次我没有安排他上台。这是我的安排。”

梁工把问题转回技术:“旧版遇到被占用的货位,暂停派单后由谁恢复?人工确认会不会造成整条线堵塞?”

许砚调出旧版流程图,指着旁路队列说:“当前任务停在安全位,其他不经过该货位的任务仍能运行。恢复要由现场值守员确认货位状态。”

梁工追问了两处边界条件。许砚没有替新版本给出保证,只用已完成的测试记录回答,哪一项没测过就直接指出来。

客户技术员照着他的说明,在系统里找到冻结版的测试编号。周程补充了现场复现结果,屏幕上有时间、有工况,也有参与测试的人名。

顾衡听到梁工问提速目标,重新走到桌边:“新版本是为采购规模准备的。旧版虽然稳,效率达不到他们最初的设想。”

许砚说:“提速目标可以继续测。跳过检测后能快多少、风险增加多少,目前没有完整数据。我不能为没做过的测试给结论。”

沈知意把旧版流程图的署名页留在屏幕上,请林妍把顾衡那份主讲材料移出共享文件。许砚看见自己的名字出现在客户面前,却没有继续替会议主持。

梁工问:“既然你最了解原方案,能否暂时回来负责整改?我们需要一个能回答问题的人。”

沈知意也看向许砚:“如果你愿意,项目负责人位置可以给你。合同可以重新谈。”

“旧版的问题,我今天已经回答。”许砚把光标停在交接清单上,“后续版本由在岗团队负责。我可以按独立技术人员的方式接受具体委托,不接这个职位。”

梁工点头,转向周程:“那你们要给我一名实际负责测试的人。下次会议,他必须能直接说话。”

周程应下。唐小满坐在他旁边,原本写好的时间线压在手掌下面。她听见顾衡低声说了一句“年轻人容易记错”,笔尖停在纸上。

客户随后要求核对新版本的指令链。林妍请唐小满说明昨晚的操作,唐小满打开麦克风又关上,盯着屏幕许久没有出声。

“不方便当场说,可以由管理员展示记录。”沈知意说。她没有替唐小满回答,却也没有把问题从会议议程里拿掉。

休会十分钟后,唐小满给许砚发来消息:“我怕他们说我指认领导,以后没有地方用我。”

许砚回拨语音,先问她:“你同意我把我们核过的时间线放到共享屏幕吗?姓名和聊天原件都会出现。”

唐小满听完,说:“同意。我自己读。你帮我看着,别让我把操作时间说错。”

会议恢复时,许砚共享那张时间线。六点三十二分收到任务,六点四十一分询问异常工况测试,六点四十四分收到顾衡“先出确认单,测试后补”的回复。

唐小满照着原始消息读完,又把自己六点五十八分上传安装包、七点零六分开始试跑的记录念出来。读到停机时间时,她的手仍在抖。

许砚只补了一句:“每个时间都有系统记录对应。她上传了包,这项操作不能抹掉;要求跳过测试的指令,也不能记到她名下。”

梁工请管理员把任务单、聊天记录和版本上传记录放在同一屏。唐小满没有再关麦,逐一确认哪一步是她做的,哪一句是她收到的要求。

指令和操作都摆在了客户面前;任务单关联的“节点批准”仍未展开,那里只有一个总裁办公室的流程编号。