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

晚上九点,沈砚盯着项目群里那条压力测试提醒,等工厂发来最后一组数据。明早的演示只剩这一项没有闭环。

他刚把异常阈值重新标注,群里忽然跳出一条直播链接,发送人是同事小周,后面还跟着一串道歉表情。

沈砚点开链接,会议厅灯光铺满屏幕。程越举着项目奖杯对镜头笑,他却还在等明早演示要用的最后一组数据。

主持人问是谁带队攻克排产难题,程越接过话筒,说自己协调研发、测试和客户,连续熬了几个晚上。

镜头移向侧边,许岚站在他身后,手里端着酒杯,听见那句话时只是抬了抬眼,没有纠正。

沈砚看了一眼电脑右下角的时间,距离宴会开始至少已经过去了一个小时。

他在项目群里问:会场地址没人发给我,今晚到底是什么安排?

程越很快回复:临时通知,可能漏了沈哥,现场人太多,不方便再加座。

下一条紧接着弹出来:沈哥,明早演示的压力曲线还得麻烦你远程修一下,客户会追问。会场没他的座位,明早出了问题却仍要他负责。

沈砚没有回答,重新点开直播。程越已经说到排产模型,说那套方案是他带着团队从零搭起来的。

许岚仍然站在旁边,没有提醒主持人,也没有朝镜头外看一眼。

林乔在群里私发消息问他是不是也收到了直播链接,末尾又删掉了好几句话。

沈砚只回她:先别改数据,原始记录保存好。

他拿起手机,拨通了行政部值班电话。响到第三声时,接电话的是负责会议名单的周姐。

周姐听见他的名字,先沉默了两秒,才问:沈工,你不是自己说今晚要留守工厂吗?

沈砚问她,自己什么时候说过。周姐翻着电脑回答,名单备注是下午五点四十七分更新的。

他让周姐把原始记录转过来,周姐说系统里有修改痕迹,但她不方便直接发私人手机。

沈砚没有追问权限,只说把记录发到项目公共邮箱,并抄送部门负责人。

几分钟后,公共邮箱收到一张名单变更截图,备注栏清楚写着:沈砚主动留守,免参加宴会。

更新时间是下午五点四十七分,操作者账号却不是行政部,而是程越的项目助理账号。

沈砚看着那行字,手指停在屏幕上,没有立即给许岚打电话。

直播里,主持人又问程越,技术团队是否都认可这次方案。

程越笑着说,技术人员更适合留在后台,现场沟通和客户关系还是交给懂业务的人。

沈砚把直播声音关掉,给程越发消息:明早演示的修改项,请全部写进项目群。

程越回:沈哥,都是小事,别把群刷得太正式,影响大家配合。

沈砚继续输入:只接受文字需求,不接受口头转述;涉及数据、口径和责任人的修改必须留痕。

这一次,程越隔了很久才回:你今晚是不是情绪不太好?

沈砚没有接他递来的情绪判断,只把行政截图转进项目群,隐去周姐的私人号码。

他写道:名单记录显示我被安排留守,请确认明早演示由谁负责,以及需要我承担哪些具体任务。

群里安静下来,原本正在刷屏的庆功照片也停了。

林乔发来一个收到,随后补充:我会保留今晚测试环境,不覆盖原始配置。

沈砚回复她:把复现步骤和版本号一并上传,别只发结论。

十分钟后,程越在群里说自己正在接待客户,明早的演示仍按原方案执行。

沈砚问:原方案由谁确认?程越没有回答,只让他先把压力曲线调平。

他把电脑合上一半,第一次没有顺手去接那个远程请求。

晚上十点四十,宴会直播结束,许岚没有发来任何解释,只在项目群里让大家明早八点开会。

沈砚把行政记录、项目群截图和原始测试文件分别存进交接目录,文件名全部加上时间。

他刚关掉办公室的灯,楼下传来汽车驶入的声音。许岚推门进来时,身上还带着宴会厅的香水味。

她没有问名单,也没有看电脑屏幕,第一句话是:你为什么要在群里让程越难堪?

沈砚站在门边,回答:我只要求他把让我负责的事情写清楚。

许岚皱了皱眉,说程越今晚替她挡了很多酒,临时遗漏不是谁故意针对他。

沈砚把手机递过去,屏幕上那句主动留守正停在最上面。许岚看完,却先问他为什么不私下沟通。

沈砚收回手机,说:我已经私下问过,他说是临时通知;现在我只想知道,谁改了名单。

许岚把包放到沙发上,语气沉了下来:你让助理在所有人面前解释,这就是你想要的结果?

沈砚看着她,第一次没有顺着她把问题改成夫妻之间的争执。

他说:明天开始,凡是要我承担的工作,请写在项目群里。至于今晚谁该解释,等记录查清再说。

许岚没有再追问,只说了一句你最近越来越不配合,转身去换衣服。沈砚站在原地,听见浴室门落锁的声音。

第二天早上七点二十,许岚把手机放到餐桌上,屏幕显示一笔刚到账的项目奖金。

她说:三十万,财务昨晚就批了,算是这次项目的特别奖励,也算给你补偿。

沈砚没有碰那部手机,只看见收款备注写着项目贡献奖,收款人是他的名字。

许岚拉开椅子坐下,说宴会座次不值得影响大局,更不值得让夫妻俩在公司里互相较劲。

沈砚问:这笔钱是给我,还是给我闭嘴?

许岚脸色变了,说他不该把所有善意都理解成交易。她还说,项目奖金本来就是团队一起挣的。

沈砚看着到账页面,语气平静:如果是团队奖金,就该按规则公示;如果只给我个人,就别拿它替代解释。

许岚没有回答,只把手机往他面前推了推。

沈砚打开昨晚的直播回放,拖到程越介绍项目的片段,停在奖杯被举起的画面上。

他说:台上介绍的是他带队攻克排产难题,技术部分被说成协助,名单上却写着我主动留守。

许岚说程越只是为了把话讲顺,不可能把每个人的贡献都念一遍。

沈砚问:那为什么不把项目架构师的名字写进介绍?

许岚揉了揉眉心,说他现在抓的是措辞,不是项目结果。沈砚答:措辞决定谁在结果里留下名字。

她沉默片刻,承认昨晚没有及时纠正,但坚持说现场气氛不适合争论。

沈砚问她是否愿意在项目群里补发一段正式说明,注明方案架构、压力测试和风险边界都由谁完成。

许岚立即拒绝:没必要把庆功宴变成责任通告,之后注意一点就行。

沈砚重复:以后注意?

许岚点头,说她会提醒程越,下一次别再漏发通知,也会让财务把奖金发下来。

沈砚看向窗外,楼下的车流已经排成一条缓慢移动的线。

他没有争辩奖金归属,只问:如果下一次还有人把技术结论改成主持人的功劳,你也只说以后注意?

许岚说公司运转不能靠每个人都把委屈摆到台面上,能拿到结果才是最重要的。

沈砚轻轻笑了一声,拿起手机把转账页面关掉。

他说:钱是项目挣的,不是我闭嘴的价。

许岚的手指停在桌面上,像是终于听见了这句话背后的决定。

她问他想要什么,沈砚回答:恢复项目介绍,说明实际负责范围,并把昨晚名单变更的原因写清楚。

许岚摇头,说不可能为了他一个人重发所有材料。她愿意保证,以后重要会议提前通知。

沈砚没有继续请求,只说那就按公司的方式处理。

许岚问他是不是要把家里的争执带到人事部,他说昨晚开始,这件事就不只是家里的争执。

早餐没有人再动。许岚拿起包,说她下午还有客户会,不想再为一场宴会浪费时间。

沈砚等她出门后,才打开电脑里一个没有同步到云端的文件夹。

文件夹里只有两封邮件和一份电子聘用合同,最上面那封来自顾衡所在公司的招聘系统。

邮件时间是十天前,主题写着聘用安排归档回执,附件显示固定年薪一百二十万元,奖金另计。

合同明确写着三十日后入职,职位是技术负责人,负责独立带项目。

顾衡在邮件里只写了一句话:如果你确认,系统会在今天归档,入职日期不会因为你现公司的安排改变。

沈砚回复确认后,系统自动生成了归档回执,时间早于昨晚宴会整整十天。

他没有把这封邮件转给许岚,只把回执下载到私人硬盘,随后关掉窗口。

这不是昨晚临时起意的报复,也不是三十万元到账后突然做出的冲动决定。

两次技术否决被越过、三次风险提示被改成建议,早已让他开始寻找一条能独立负责的出口。

上午九点,部门人事发来消息,让他参加项目协调会。会议通知里,他的姓名被放在协助成员一栏。

沈砚在群里回复:请更正我的职责和发言权限,否则我无法确认技术结论。

程越几乎立刻出现,说大家都知道沈工经验丰富,协助只是行政排序,不必较真。

沈砚问:如果只是排序,为什么昨晚的主持稿也按协助成员介绍?

程越发了一个笑脸,说今天先把客户问题解决,其他事情私下聊。

沈砚没有再回复笑脸,而是把辞职通知书打印出来,签上日期。

人事部收到邮件后打来电话,确认他是否自愿提交,以及是否接受三十日通知期。

沈砚回答:自愿提交,通知期从今天起算,交接内容以书面清单为准。

人事问是否需要先和事业部负责人沟通,他说许岚已经知道他的诉求,但尚未解决。

十分钟后,许岚在办公室门口拦住他,手里还拿着那笔奖金的审批单。

她问他真要因为一次座位和一次介绍离职,沈砚说不是因为座位,而是因为责任被重新分配。

许岚说他可以留下来慢慢调整,没必要把事情做绝。沈砚回答:我只是按流程离开。

她第一次看见人事回执,脸上的怒意短暂地停住,像是没想到他已经把离开写进了公司系统。

沈砚把交接清单递给她,里面列着压力测试原始数据、配置版本和待确认风险。

他说:三十天内我会把能交的全部交清,但不再接受没有记录的临时指令。

许岚没有接那份清单,只问他什么时候开始准备的。沈砚回答:在我两次否决意见被越过之后。

她说这件事可以再谈,沈砚没有反驳,只把清单放在她桌上离开。

当天下午,程越在项目群里发了一段安排:客户验收收尾由我负责,大家放心,我足以完成全部确认。

他还补了一句:沈工按离职流程交接即可,不会影响项目节奏。

沈砚看着那句话,没有回复。林乔在私聊里问他要不要提醒程越旧配置还有风险。

沈砚回她:把数据留好,按书面流程走;谁承诺的结果,谁负责解释。

群里很快又刷出一张客户演示日程表,程越的名字被放在主持和验收负责人一栏。

沈砚关闭聊天窗口,把辞职回执和交接清单放在同一只文件夹里。

沈砚提交辞职后的第三天,客户验收预备会在项目会议室召开。通知里写着核对演示参数,实际到场的人却比名单多了一倍。

许岚坐在主位,程越站在投影幕旁,林乔抱着一沓测试记录,脸色比屏幕上的警告框还白。

沈砚进门时,程越正把一份故障说明推到林乔面前。

程越说:你是最后提交测试数据的人。客户那边要明确结论,你先把原因和责任签了。

林乔低头看着纸,没有拿笔。她说数据是按安排提交的,不能直接写成个人操作失误。

程越回头看见沈砚,语气立刻变得客气:沈工正好来了,交接期间也请帮忙把这件小事处理掉。

沈砚没有接他的称呼,只问林乔:故障发生在什么配置、什么输入、什么时间点?

程越说会后再核对,今天先把责任说明签完,避免客户觉得内部不稳定。

沈砚拉开林乔旁边的椅子坐下,把她手里的纸翻到第二页。

他说:先别让她签。故障原因还没有复现,任何归因都只能算猜测。

许岚抬头提醒他,自己已经进入通知期,不宜继续干预项目决策。

沈砚说:交接职责包括未完成验收,尤其是会影响客户判断的风险。

程越把鼠标放下,问他是不是因为离职,对所有安排都产生了敌意。

沈砚没有看他,只对林乔说:把原始记录打开,从第一次出现异常的输入开始讲。

林乔看了一眼许岚,又看向沈砚,慢慢接上会议室的投影线。

她打开测试日志,说第一次异常发生在昨晚更新后的配置,订单插入量达到当前排产上限的百分之一百一十五。

程越立刻打断:客户今天演示的是标准订单,不需要讨论极端输入。

沈砚问:那为什么故障说明写的是系统在常规负载下失效?

程越没有回答,只让林乔继续说明结论。

林乔手指发抖,点开另一份旧版本记录,说同一输入在旧配置下不会越过产能阈值。

她解释,旧配置会提前触发排产保护,把插单拆成两个批次;更新后的配置为了缩短响应时间,取消了这层延迟判断。

会议室里有人开始翻看资料,原本准备签字的故障说明被推回桌面。

沈砚让林乔把两套配置并排运行,输入完全相同的订单序列。

程越说演示环境没有时间做这种复现,客户也不会关心内部版本差异。

客户代表周总抬手制止他,说如果同一输入在不同配置下结果不同,客户当然需要知道差异。

沈砚接上测试机,把订单数量、批次优先级和设备状态全部锁定。

第一轮运行中,旧配置在临界点弹出保护提示,系统没有继续分配超出能力的订单。

第二轮切换到新配置,屏幕上的产能条迅速变红,排产队列越过了工厂可承受上限。

林乔完整说完复现步骤:先导入基准订单,再插入高优先级订单,最后关闭延迟保护并提交。

她说到最后一个步骤时没有停顿,也没有再看许岚的脸色。

沈砚问她,今晚提交的压力测试数据是否包含关闭延迟保护这一项。

林乔回答包含,原始记录里还标注了建议回退,但后来上传的汇总表删掉了那行。

程越说汇总表只保留客户需要看的内容,删除内部建议是为了避免误解。

沈砚问:谁批准删掉的?程越回答没有必要把每个修改都追溯到个人。

客户代表周总翻开手里的验收材料,皱眉说报告中写的是全部关键场景已通过。

他把其中一页转向许岚,问这份通过确认是谁签的。

许岚接过文件,先看了一眼页脚,又把纸递给沈砚。

页脚的确认人一栏写着沈砚,旁边是他的姓名缩写和项目确认日期。

沈砚盯着那行字,问周总:这份确认是什么时候发给你们的?

周总回答,是昨晚十一点零六分,发件人邮箱显示项目公共账号,附件名称却写着沈砚确认版。

沈砚看向程越,程越立即说那是团队统一整理的验收材料,名字只是沿用模板。

沈砚没有追问模板,而是问许岚:你看过这份通过确认吗?

许岚说昨晚宴会后一直在处理客户消息,没有逐页检查。

沈砚让周总把邮件原件和附件版本号发给会议纪要邮箱,并要求暂停任何最终验收签字。

程越说这样会让客户误以为项目没有准备好,沈砚回答:客户已经看见报告与事实不一致。

周总看着复现结果,撤回了刚才对林乔的责任判断。

他说:她提交的数据至少能复现问题,现在需要解释的是,为什么内部报告把未通过写成了通过。

林乔终于抬起头,把那份故障说明推回程越面前。

她说:我可以签我负责的测试记录,但不能签一份把删改后的结论写成个人失误的说明。

程越脸色发沉,问她是不是有人提前教过这套说法。

沈砚说:她只是在陈述自己实际做过的步骤,别把事实变成态度问题。

许岚让会议暂停十分钟,试图把客户和内部人员分开沟通。

周总没有离席,只说客户需要听完整解释,尤其是那份署着沈砚姓名的通过确认。

沈砚把手里的材料放回桌面,说自己没有在昨晚十一点零六分确认过这份报告。

许岚看了他一眼,第一次没有立即替程越解释,只问项目公共邮箱的发送权限归谁管理。

程越没有回答,会议室里只剩投影机风扇持续运转的声音。

沈砚将复现结果、两套配置差异和邮件原件请求写进会议纪要,要求所有在场人员确认收到。

客户代表点头同意,并宣布最终验收暂缓,待双方提交同条件的完整说明。

林乔合上测试记录,手指仍在发抖,却第一次没有把故障说明收回自己怀里。

沈砚看着那份写着自己姓名的确认文件,知道离职交接已经不再只是整理资料。

他的名字被放进“全部通过”的确认栏,林乔险些替未通过的测试签下个人失误。验收暂停了,可发给客户的结论是谁改的,仍没有答案。

会议暂停的十分钟里,程越把投影切回熟悉的演示首页,试图让屏幕上的红色警告消失。

周总没有离开座位,只让助理把会议室的门打开,通知双方技术人员一起见证下一轮演示。

沈砚把复现数据复制到一台隔离电脑,要求所有外接脚本断开,只保留客户提供的真实订单。

程越说这样会拖慢流程,周总回答:如果流程经不起真实订单,拖慢的只是发现问题,不是问题本身。

许岚看了沈砚一眼,说先按照客户要求做一次,别让内部争议继续影响会议节奏。

沈砚没有回应她,只把订单批次、设备状态和优先级写在白板上。

他对林乔说:你负责读原始日志,我只记录观察到的结果,不替任何人解释原因。

林乔点头,把昨晚保存的环境快照重新导入隔离服务器。

程越站在操作台前,熟练地点击菜单,先打开标准订单,再调用排产模板。

前两步和原定路线完全一致,屏幕上的产能条保持在绿色区域。

周总让助理临时插入一笔加急订单,订单数量不大,只改变了交付时间和设备优先级。

程越的手指停在鼠标上,问为什么不按预设脚本演示。周总说真实工厂不会等他准备好。

他仍然点击了确认,系统短暂卡顿后跳回首页。订单没有进入队列,刚才填写的设备条件也全部消失。

程越说是缓存问题,重新打开演示页面,要求大家再给他一分钟。

沈砚看向白板,说刚才的插单请求没有被系统拒绝,而是被重新初始化了。

周总问这两种结果有什么区别,沈砚回答:拒绝会留下原因,初始化会让操作者误以为订单从未存在。

程越说客户没有必要关注页面跳转,核心结果仍然可以展示。

周总示意他继续,随后又临时增加两笔不同设备的订单。

程越这次直接切回首页,重新选择排产模板,嘴里不断说着系统正在刷新。

沈砚没有阻止,只把每次切回首页的时间记在白板右侧。

第三次跳转后,程越打开了一个隐藏菜单,手动选择了快速展示模式。

林乔看见那个选项,低声说:这个模式会关闭约束校验。

会议室里立刻安静下来。程越说这是为了避免演示被后台计算拖慢,并不代表正式环境也这样运行。

沈砚问:谁决定在客户见证的演示里关闭约束校验?

程越说这是临时优化,大家都知道演示只看界面流畅,不看极限负载。

周总拿过鼠标,让程越不要再切换页面,要求把刚才的设置记录下来。

沈砚打开配置审计页面,发现快速展示模式的开启时间是昨晚十点五十八分。

开启账号不是公共测试账号,而是程越的个人操作账号。

程越说他只是按照现场要求协助调试,真正批准的人不是他。

许岚皱眉问:现场谁提出要关掉校验?程越看向她,没有马上作答。刚才她还要求别让内部争议影响会议,如今她也在客户面前等着这个回答。