第一百〇八章 邓工
项磊的消息在陆衍放下手机后不到两分钟就来了。
「陆哥,有个情况,邓工说他们的代码不对第三方开放。」
他重新拿起手机。「方总的签字不够用?」
「他说即使有方总签字,他本人也要单独批。这个人在 BasePlatform 待了十八年,泉华元老,方总说不好推。」
「这个人叫什么全名?」
「邓明海。」
「他现在管哪个团队?」
「就是 BasePlatform 整个组,七八个人,他一个人说了算。`common/` 里的东西全部是他们写的,从 1994 年就在了,这些年也没怎么换人。」
陆衍把手机放下,在椅背上靠了一下。
十八年。这种人保护自己的代码跟保护自己是一回事。代码就是他本身,外来人来查,本能排斥。
他给项磊回了一条:「帮我问一下,邓工什么时候有时间,我想直接跟他谈。」
「你要找他谈?不走行政流程?」
「行政流程走了他也不会开心,开了权限也会有别的地方卡。跟他谈比较直接。」
项磊沉默了一会儿,回:「我帮你问,但这个人不太好约,他平时基本不接外部会议。」

「说我只想了解一下那段代码的历史背景,来学东西的,了解当年的设计。」
邓明海答应见了,但条件是视频十五分钟,没有其他人旁听。
时间约的是第三天上午十点。
前一天晚上,陆衍把 `common/err_handle.h` 相关的所有资料翻了一遍:函数签名、调用点、BasePlatform 回复的那封邮件、1997 年的文件头备注。
豆包帮他整理了一份简短的背景提问框架:第一,`ERR_HANDLER` 最初设计时的预期使用场景是什么;第二,`set_system_fault` 在 G1 旁路路径里是否有独立测试;第三,BasePlatform 是否知道这条调用链三十年里从未被实际触发过。
只是个框架,他不打算拿着问题单跟邓明海走流程。
十点整,视频接通。
对方的背景是一面放着旧书和挂件的墙,没有公司背景板,看起来更像在家工作。
「邓工好,我是陆衍,云帆的。」
「嗯,」对方声音平,不热络也不冷淡,「项磊说你想了解 `common/` 那块。」
「对,是关于 `ERR_HANDLER` 的调用路径。」他没有客套,直接进入,「我们在给泉华做 G1 的代码注释,旁路逻辑里有调用这个宏,豆包展开之后发现是调用 `set_system_fault`,但这个函数的定义文件在 `common/` 里,不在合同约定的五个模块范围里。」
「注释是给 G1 的,」邓明海说,「G1 里调用我们的东西,按说标一下路径就行,用不着我开权限。」
语气不算强硬,但边界很清楚。

「标路径是够的,」他回,「但我查了三次历史激活记录,旁路触发了三次,每次都是正常路径退出,从来没有走到 `ERR_HANDLER`。这个入口,三十年没有运行过。」
「你们要看的,是它有没有用,还是看实现?」
「都不是。我想知道它当年设计时在保护什么,两件事之间是什么关系——旁路是传感器那层,`ERR_HANDLER` 是什么层?」
电话那头停了一下。
「1997 年的文件头备注我看过了,」他补了一句,「`Platform Infrastructure Layer v1.2`。这是你们写的。」
「我知道这个,」邓明海说,「你们要看 `set_system_fault` 的实现?」
「想理解这条链路的设计意图,审计到不了这里。三十年了,那段旁路代码从来没有在真实设备里走到 `ERR_HANDLER`,三次激活记录都是正常路径退出。我只是想知道:当年设计这个入口的时候,预期它在什么场景下会被触发?」
电话那头停了一下。
「激活记录你们查了?」
「查了,三次,都是正常退出,没有触发 ERR_HANDLER。」
又是一段沉默,比刚才长一点。
「`ERR_HANDLER` 那个入口,」邓明海开口,「是 1996 年加的,当时的场景是:如果旁路逻辑在执行中遇到意外状态,比如内存异常、调用栈溢出这类底层问题,走正常路径出不去的时候,才会触发这个。」
「跟传感器异常是两回事,这个针对的是代码运行层面出了问题。」

「对,那是保护代码运行的,不是保护传感器状态的。」
这段话在脑子里过了一遍。
这个设计意图,和他们之前推断的不一样。他们一直认为 `ERR_HANDLER` 是旁路执行结果异常时的兜底,但实际上是运行环境本身出问题时的保护机制。两件事,覆盖的场景不同。说白了:设备出问题有别的路,这个入口专门等着代码本身快撑不住的那一刻。
「这条解释,之前从来没有写在任何文档里。」他说。
「没有,」邓明海说,「当时文档不是重点,能跑就行。」
没有立刻说下一个问题,让这句话留在那里停了几秒。
「邓工,这条设计意图,如果能让我们写进注释报告里,对泉华意义很大。三十年前的设计决策,记录下来,让下一个看这段代码的人知道它在保护什么。」
邓明海没有立刻说话。
「那打算怎么写?」
「原话。我们的报告里,这一条会注明来源:BasePlatform 技术负责人 2026 年访谈记录。」
「访谈记录,」对方重复了一遍,语气里有什么东西松了一点,「好,我可以给你开访问权限,但我要先看一下你们最终写的注释内容,有问题我会告诉你。」
「可以,我们发审阅版本给你。」
视频挂掉是十点十九分,比约定的十五分钟多了四分钟。

他给项磊发了一条:「权限这边谈好了,邓工会走审批,你跟方总说一下,让方总那边的签字配合一下,两边同时走。」
然后给麦景行:「邓工那边要开了,你准备接收权限,到了马上开始第一项。」
麦景行回:「怎么搞定的?」
「讲了那段代码是什么意思,他很久没有人跟他聊这些了。」
手机放回桌上,刚准备去倒水,消息又振动了。
还是麦景行。
「陆哥,权限下来我马上进去看了一下。`set_system_fault` 这个函数,文件头是 1996 年,但 git log 上最后一次提交是——」停顿了一两秒,「上个月。」
「修改了什么?」
「还没看清楚,diff 进去了,我先截图发你。」
图片发过来。他放大看了一眼。
`set_system_fault`,注释里多了一行。原来的代码是空的。新加的那行是:`// TODO: verify isolation context before fault propagation`。
三十年的老代码,有人上个月加了一个 TODO,然后就这么放在那。