第四天傍晚,卫越发来消息:「框架写好了,你来看一下。」
不是「跑通了」,是「你来看」——这两种说法的意思不一样。陆衍把手边的东西放下,打开视频。
卫越屏幕共享出来,是一段代码逻辑和旁边的注释。注释写得很仔细,比他平时的风格要细,陆衍扫了一遍,看出来这是给自己以外的人看的。
「你这个注释是留给我看的,」陆衍说。
「嗯,」卫越说,「有一段逻辑我自己觉得有点绕,想让你确认一下我理解没错。」
绑定逻辑本身不复杂:系统先检测主件,读取许可编号,然后在同批文件里检索对应附件,把两份文件的字段映射到同一个核验框架下。
卫越绕的地方是这一步:如果附件里的「许可品类」不在主件的「批准范围」里,怎么定性。
「这不是缺字段,」卫越说,「是两份文件说的不一样。」
「对,」陆衍说,「性质不一样,要单独分一个类。」
「叫什么。」
陆衍想了一下,「跨文件矛盾,高置信度,主附件信息不一致。主件说有的,附件说没有,或者反过来。」
卫越在屏幕上标注了这个分类,「好,那我去跑周梁那批。」
结果十五分钟后发过来,是一份PDF预览截图。
陆衍看了一遍,在「跨文件矛盾」这一行停下来:

许可范围不一致(主附件) 主件批准范围:复配乳化剂、面团改良剂、食品防腐剂(三类) 附件·许可品类第4项:功能性蛋白粉(未见于主件批准范围)
一行,高置信度,红色标注。
其他类别:三条中置信度,两条格式一致性提示,和上次试跑结果基本一致,多了这一行。
陆衍把截图存下来,「这条你确定不是字段映射的问题,不是别名?」
「确认过了,」卫越说,「附件用的就是主件的批准类型编码,第4项不在里面,不是名称差异。」
陆衍打给周梁。
电话接了,那边有一点背景噪声,周梁在外面,「你打来,是跑好了?」
「跑好了,」陆衍说,「我发你。但我先说一下,结果里多了一条,是跨文件绑定检测出来的,比上次试跑多了一类。」
「哪条,」周梁问。
「附件里有一个品类,功能性蛋白粉,没有出现在主件批准范围里。两份文件对不上,我们标的是高置信度,」陆衍停了一下,「你做尽调的时候,有没有单独核查过主附件的一致性。」
那边安静了一两秒。
「没有,」周梁说,「我看许可证,通常是看主件,附件确认一下有没有,不会逐条比对。」
「然后,」陆衍说,「这条是真实问题吗,你有没有其他渠道知道这个品类的情况。」

「我去查一下,」周梁说,「你稍等我一下。」
陆衍等着,听见那边键盘的声音。
大约四五分钟后,周梁回来了,「这条是真的,功能性蛋白粉他们在卖,但这个品类在主件里没有,我当时没有发现。」
他停了一下,「我当时漏掉了。」
这句话说得平,没有情绪,但陆衍听出来里面不只是陈述,还有一种确认——不是他找到了一个帮他发现问题的工具,而是他刚刚确认了自己确实有过一个盲区。
「许可证里这类不一致不少见,」陆衍说,「主件审批和附件品类扩展不同步,做调整时容易出现。」
「你现在把完整报告发我,」周梁说,「我要拿去看看。」
报告发出去后,陆衍坐着想了一会儿。
这条矛盾如果不做跨文件绑定,不会出现在报告里,单文件扫描看不到主附件之间的关联。这也是他上次告诉周梁工具有缺口的原因——不是出于谨慎,是因为他知道这类结构问题只有在文件放在一起对照时才能检测到。
他打开本子,写下一行:
跨文件绑定:食品安全生产许可证(主件+附件)——已实现。
然后在下面写:
下一行业有没有类似结构?
这个问题他现在没有答案,要等下一行业的文件样本来了再看。

卫越那边发来消息:「周梁那批跑完了,我在想下一家行业别名表要不要先建起来。你有新客户的行业吗。」
「有两个方向,」陆衍说,「一个是PE那边可能的新案子,一个是律所里可能有工程类合规;工程类没做过,我不知道它的文件结构。」
「工程类有没有类似绑定关系,」卫越说,「建议先拿样本来问,别猜。」
「对,」陆衍说,「先拿样本。」
他把这一行加进本子:
跨文件这件事不是一个功能,是一种思路。每进一个行业,都要先问一遍:这行里有没有跨文件的绑定结构。
第二天上午,周梁发来消息,说功能性蛋白粉那条他们要做进一步核查,需要联系对方的质量管理部门,原本计划这周完成的材料整理要往后推半周。
消息最后加了一句:「那条是在关键时间节点上发现的,值了。」
陆衍看到这句,把手机放下,没有回复什么特别的话,只发了一个「了解,有进展随时告知」。
他打开本子,看着最后那行字,又往后翻了几页——都是空白的。
下午江远洲发来消息,说下周四下午他们有一个项目讨论会,邀请陆衍参加,地点在耀之资本的办公室,徐汇滨江那边。
陆衍确认了时间,存进日历,在本子上写了一行:
耀之资本讨论会——周四下午,带覆盖说明文档。

然后他想了一下,把「覆盖说明文档」几个字画了一道圈。
上次和江远洲谈的时候,对方问的是「工具报告能不能作为投资决策的依据」,陆衍当时的回答是工具出证据,性质判断在你们。江远洲接受了,但那是两人谈,讨论会上会有别的人,他们不一定接受同一个答案。
覆盖说明文档是现有的报告附件,里面写了工具检测哪些、不检测哪些,以及报告性质的说明。陆衍觉得这份文件在讨论会上可能用得到。
他把文件找出来,逐段看了一遍,调整了两个地方的措辞——不是改意思,是让读起来更清楚。
卫越下午发来消息,说他在梳理食品添加剂这批文件的处理流程时,发现了另一个问题:工具在处理「双证合一」结构时(即一个企业同时持有食品生产许可证和有机产品认证,两张证之间有覆盖重叠的字段),目前是按两份独立文件处理的,没有识别重叠关系。
「这个不属于矛盾,是关联,」卫越在消息里写,「但如果不标注出来,用的人不知道这两张证要对着看。」
陆衍看完这条,回复:「先记下来,不加进当前版本。下一个客户有这个结构再说。」
「好,」卫越说,「那我记个待议。」
「好,」陆衍说。
他回完,在本子上加了一行:
证间关联——待议,有样本再看。
本子现在有三行新内容:跨文件绑定已实现,证间关联待议,讨论会覆盖说明备好。陆衍把这三行并排看了一会儿,觉得这一周的进展比上周清楚。
事情在往前走,走的速度不算快,但方向稳。