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

离下班还有二十分钟,林砚把私人姓名章放在桌上,翻开本人交接确认栏。印泥盒刚推到纸边,周岚就伸手压住了那一页。

她把离职文件抽到一份新合同下面,合同封面写着年薪六十万元,旁边还有一行“项目奖金按贡献另议”。林砚原来的年薪是三十万元。

周岚说:“这个待遇是董事长亲自批的。你先看看,今晚就能生效。”

桌角还放着一张奖金通知。林砚认得签批处沈曼的字。十二万元的核定额被一改再改,最后只到账三千八百元;

如今批下翻倍年薪的,还是沈曼。这张通知还留在人事室,等他签收。

他没有碰合同封面,先翻到了附件最后一页。那里写着,自下一阶段起,他作为项目终身响应人,负责接任期间的故障处理、客户沟通和上线结果。

没有截止日期。

“设备和文档的签收单呢?”林砚问。

周岚把合同往前推了推:“待遇已经破例。责任条款也要一起签,这是公司的条件。”

“我问的是交接签收。”林砚把附件摊平,指住“终身响应”四个字,“我离职以后,谁能结束这项责任?”

周岚没答。她从文件夹里找出一张清单,清单上列着两台测试机、管理员权限、故障记录和恢复步骤,接收人一栏是方驰,签名已经写好。

林砚逐项核对。他让周岚打开归档目录,看见故障记录的版本号,又拿起那两台机器的封存回执,确认序列号与清单一致。

只有恢复步骤的签收状态仍显示“待确认”。

“方驰签的是资料接收,不是内容验收。”周岚解释,“他说要等下周上线以后才能确认。”

“资料今天交给他,他今天签收。能不能用,按版本和测试结果判断。”林砚把清单推回去,“不能把下周的结果写成我今天没交东西。”

周岚看了一眼墙上的钟。她负责办理离职,也负责把人留住;这两件事被沈曼装进同一个文件夹,交到了她手里。

她拨通方驰的内线,问他是否收到恢复步骤。听筒里传来一句清楚的“收到了”,随后方驰又说,签字得等林砚把上线责任也接回去。

周岚把电话放下,没再替他转述后半句。她在清单旁写明资料已入库、接收人已领取、内容尚待验收,并签了经办人的名字和时间。

林砚要了一份复印件。周岚盖上人事收件章,递给他时,手指在纸角停了一下:“这只能证明你交过资料。”

“够了。”林砚把回执放进自己的文件袋,“内容怎么验,客户可以看,接任人也可以照着做。”

他找笔时翻开文件袋,八张奖金通知露出一角。

最上面是十二万元的核定额,下面依次改成十万、八万、六万、四万、两万五、一万五、八千,最后落到三千八。

第一次调成十万,他带着项目记录去找沈曼,逐条争过核定依据。沈曼说:“先把交付做好,数字还能谈。”

往后每换一张通知,数额就再少一截,沈曼的说法也跟着换。

最后一张通知送到他工位时,他只问财务哪天到账。三千八入账那晚,他提交了书面离职通知,三十天交接期从第二天算起。

周岚看见那些纸,低声说:“奖金的事,我知道你有意见。新合同一年多三十万,足够把差额补回来。”

“少发的奖金是十一万六千二。留任工资,不能拿来冲这笔账。”

林砚把通知收好,“你说一年多三十万,可这份合同要我负责到哪一年?没有终点的责任,也算在这三十万里?”

周岚翻到附件首页,像是想找一个期限。林砚看着她的手指沿条款往下移,停在“持续响应”处,再没有能接下去的日期。

门外忽然有人敲门。一个女声说:“我是客户运营的许澜。负责人名单上写着林砚,我们要当面确认下周上线安排。”

周岚抬头看向林砚。林砚拿起交接回执,没有拿留任合同,走到门边打开了门。

许澜身后还站着一名客户工程师。她把手机上的参会名单转给林砚看:“方驰说你仍是上线负责人,只是内部岗位换了称呼。是这样吗?”

名单的提交时间是今天下午,晚于他的交接资料入库时间。林砚记下这处时间差,说:“我的任职到今天结束。方案是谁提交的,我需要看原件。”

许澜没有让他在走廊里解释。她指向隔壁的交付会议室:“方驰已经在里面。你来把名字和方案对上,我把客户的问题当面问清。”

周岚抱着那份未签的新合同跟了两步,又回身拿上离职文件。林砚的姓名章仍放在桌上,盖印那一栏空着,签收回执却已经到了他手里。

隔壁会议室的屏幕亮着,方驰站在投影前,赵诚坐在操作台旁。许澜一进门,方驰就迎上来:“人我已经叫到了,内部岗位调整而已,不影响下周上线。”

林砚把参会名单放到桌上。名单不仅写着他的名字,还标着“现场总负责人”,联系人号码仍是他的私人手机。

“这个名单是你提交的?”许澜问方驰。

方驰承认了,却抢在林砚开口前说:“林砚熟悉系统,客户有问题找他最快。我们公司内部谁任什么职,不会影响支持。”

“我今天办完离职。”林砚把交接回执给许澜看,“以后是否提供支持,要由我决定,不能靠一张名单替我决定。”

许澜收下回执,没有立刻表态。她让客户工程师连接投影,把他们收到的两份方案并排打开,左边是上周归档版,右边是方驰今天下午提交的版本。

两份方案封面都写着林砚的姓名和同一版本号。正文却不一样:旧版要求切换前完成回滚演练,确认异常时能恢复;新版把演练改成了“上线后观察”。

许澜指着那一行:“我需要知道,修改后由谁验证过?我昨天问的也是这个问题,得到的答复是负责人已经确认。”

方驰说:“流程简化了,核心功能没动。验证报告等明天的例会一起交,林砚可以先把原则跟您说明白。”

林砚没有接“原则”两个字。他问:“修改记录在哪里?用的是哪组异常数据?回滚路径是谁跑通的?”

方驰的目光从屏幕转向赵诚:“记录在测试库里,他做的。小赵,把结果调出来。”

赵诚刚打开电脑,又下意识合上了。他看见方驰盯着自己,声音放得很低:“我只跑了正常订单。我没拿到取消回滚演练后的异常用例。”

方驰说:“你负责执行,就说执行结果。别把自己的工作漏项推到方案上。”

赵诚的手停在电脑盖上。他贷款刚办下来,家里人还等着他转正后的补贴;上周林砚问过他要不要一起找新工作,他说自己走不了。

林砚没有替赵诚答话,只把旧版方案翻到签收页:“我交出去的恢复步骤写在这里。谁决定删去演练,谁提供改动后的验证记录。”

许澜看向方驰:“如果没有记录,就不能把‘负责人已确认’写进对客户的结论。”

方驰拿出手机,想给沈曼发消息。客户工程师先将两份文件的属性信息投到了屏幕上:旧版归档于上周五,今天的文件则在下午四点修改过正文。

“署名没变,内容变了。”工程师说,“我们收到的是改动后的文件,附件里却没有新的验证记录。”

方驰解释说,沿用署名是为了让客户认出熟悉的联系人。他说这话时避开了林砚,转向许澜保证公司会对上线负责。

“公司负责,我可以找公司。”许澜说,“名单写的是林砚个人负责,我得问他是否同意。供应商内部怎么安排,是你们的事;交给我们的方案是谁验证的,是我们的事。”

她把原先拟好的会议结论打开,当场删掉“林砚确认下周上线条件成立”这一句。会议纪要还没发送,删除记录在屏幕上所有人都看得见。

方驰伸手示意她等等:“如果现在改掉,客户那边会以为项目有重大问题。让林砚先把文件补看一遍,我们今晚出确认邮件。”

“看文件不等于验证。”林砚说,“我能指出该测什么,但不能在一份今天才改过的方案上补签过去的测试。”

赵诚抬起头。他原本以为林砚会直接说方案不能用,那样最后还是执行人背漏测的责任;现在桌上缺的是修改决定和对应记录。

许澜问:“旧版有没有现成的测试条件?我们现在能否判断两套步骤的差别?”

林砚指向测试机:“有上周封存的工况快照,交接包里也有恢复步骤。只在测试环境操作,不碰正在生产的线。赵诚熟悉执行界面,可以由他来跑。”

方驰立即说:“十分钟里复现不了生产事故。测试机也不等于现场。”

“所以先看它能证明什么。”许澜把笔搁下,“如果连已知异常条件都过不了,下周的扩厂切换更不能凭口头保证。”

客户工程师查看了两台测试机的标识,确认其中一台正是交接清单上的机器。赵诚打开归档目录,旧版恢复步骤与刚才签收的版本号相同。

方驰绕到赵诚身边,低声催:“先跑新版的正常路径。”赵诚没按键。他抬头问许澜:“您要看的异常条件是什么?我按客户要求设。”

许澜说出上月停产抢修时的场景:一批指令已写入设备,回执却因网络短断延迟到达。若系统重发同一批指令,设备可能再执行一次。

上月那晚,林砚和许澜在机房等到天亮,才找到延迟回执与重复写入之间的关系。交接包里的恢复步骤,就是拿那次故障记录做的基线。

林砚让客户工程师核对快照时间。工程师确认数据来自上周封存的测试环境,异常脚本也是客户留存的那份,没有临时改成对任何一方有利的条件。

方驰还想说先等沈曼到场。许澜摇头:“我们问的是技术条件,谁到了也不能替机器作答。请把两套方案分别跑出来。”

赵诚这才把电脑完全打开。他的账号有执行权限,没有修改脚本的权限;客户工程师在旁边核对脚本编号,并记录每次运行前的初始状态。

林砚把椅子往后退了一步,站到赵诚身后。他没有接鼠标,也没有用自己的权限登录,只在赵诚找到“回滚前状态”那一页时点了点屏幕。

“照交接包做。”他说,“哪一步与你手里的文件不一样,就停下来问,不用替任何人猜。”

赵诚先把两台机器恢复到同一个快照。会议室安静下来,方驰的手机在桌面震了一次,屏幕上亮出沈曼的名字。

赵诚把异常脚本载入第一台测试机,选了旧版方案。客户工程师站在他右侧,对照屏幕上的回执编号和设备执行次数。

网络短断后,回执晚到了十七秒。旧版步骤让赵诚先冻结重试通道,再核对已执行指令;一条迟到的回执被对上原编号,没有生成第二次写入。

赵诚按照交接包恢复通道,系统从封存的状态继续处理,未完成的指令才进入队列。工程师看完日志,说:“旧版在这个条件下可以恢复。”

方驰说:“这是他原来写的步骤,当然熟。换了人操作未必一样。”

赵诚松开鼠标,转过身:“刚才每一步是我按的。林砚只提醒我遇到不一致就停,步骤和检查点都在交接包里。”

林砚没有借这句话替自己辩解。他请工程师确认第一台的结果已保存,再让赵诚把第二台恢复到同一个初始快照。

新版方案少了冻结重试通道那一步,直接把待处理队列接到扩厂接口。赵诚照文件操作,手指在“继续切换”上停了片刻,看向许澜。

许澜说:“按供应商今天提交给我们的步骤走。若有危险,测试环境会停在隔离接口,不会连到生产线。”

赵诚按下去。延迟回执刚到,重试队列已经把同一编号送出第二次;测试设备的执行计数从一跳到二,屏幕上随即出现一条冲突告警。

工程师没有只看告警。他把两个编号、写入时间和设备回报逐项核对,确认它们来自同一批指令,也确认第二次执行是新版步骤放开重试后产生的。

方驰走到屏幕前:“测试环境的接口节奏和现场不同,这个结果不能直接说明下周会出事。”

“不能推断一定出事。”工程师说,“但它说明你们今天提交的步骤,在已知异常条件下挡不住重复执行。这个条件来自客户上月的记录,不是刚编的。”

方驰又提议改一下脚本重跑。许澜拒绝了:“要改可以留作后续验证。今天先把原样结果保存,谁也不要动这两次运行记录。”

赵诚把键盘推到桌面中央,给工程师看自己的操作日志。他指出新版文件里确实没有冻结重试的指令,也没有告知执行人何时核对迟到的回执。

林砚问方驰:“回滚演练为什么从上线前移到了上线后?这是下午四点修改的,修改依据在哪里?”

方驰望了一眼许澜,才说沈曼要求保住原定的对外日期,演练可以等扩厂接口接通后再补。他说这只是内部排期调整,客户没必要过问每个环节。

许澜把笔记本合上:“我们要扩的是正在运行的生产线。演练放在哪天,决定我们那天能不能恢复生产,我必须过问。”

她当场拨给客户现场调度,让对方保留现有生产配置,暂停尚未开始的扩厂切换。电话那头复述了“暂停扩厂切换”,确认现有产线继续运行。

方驰的手机又响了。这次他接通,还没说完“客户要求”,会议室门就被推开。沈曼从走廊进来,目光先落在屏幕上的告警,再落在林砚身上。

“我给你的待遇,周岚说清楚了吗?”沈曼问,“项目正到关键处,你现在走,谁来接这个烂摊子?”

林砚说:“资料和设备已经签收。新版方案是今天下午改的,我没有验证,也没有授权继续用我的署名。”

沈曼转向赵诚:“执行人是你,测试怎么做出这个结果的?下周切换出了问题,你也得负责。”

赵诚脸色发白,手却没从操作日志上移开:“我按提交给客户的新版步骤跑的。脚本是客户封存的,我没有权限改。旧版也是我跑的,两次记录都在这里。”

沈曼要他先把日志发给自己。许澜抬手拦住:“客户工程师已经保存了副本。现场判断由我们作出,今天暂停切换的决定也由我们作出。”

会议室里安静了一瞬。沈曼看向屏幕,原本准备好的上线日期还在新版方案封面上,旁边是重复执行的两条记录。

林砚的交接已有签收回执,离职文件上的本人确认栏却还空着。

她压低声音对林砚说:“钱可以再谈,人今天不能走。”