Files
LWLT-AIBOT/archive/evidence/2026-09-19/product-name-normalization-01a0b77e
2026-09-19 11:06:02 +08:00
..
2026-09-19 11:06:02 +08:00

产品名称格式匹配修复:本地验证

日期:2026-09-19。此记录为只读历史证据,不是当前业务规则,也不代表生产 ERP 已执行成功。

结论与范围

  • 独立团单个下单的输入名称与 ERP 候选均经 NFKC、去空白处理后比较;保留其他标点与业务限定词,精确优先、唯一包含兜底。
  • 归一后同名的多个候选阻断,即使其中一条原始拼写完全相同;零匹配和多匹配提供独立中文原因。
  • 选中候选后,原生 GetProduct 联动与拦截的 DoInfoJH 载荷均保留 ERP 原始名称。
  • 初始校验/查询失败时,表单、产品联动与提交均未执行;返回初始候选计数,并将依赖阶段标记为跳过。
  • Program keyword 保留原始括号与内部空白;name 保持既有格式/别名归一化。无新增数据库迁移,Skill 与运营输入模板未修改。

验证

检查 结果
新增公共预检入口合成回归 8 项通过:双向括号/空白、原名联动和载荷、精确优先、唯一包含、归一碰撞、多候选、零候选/限定词、HTTP/客户失败与联动不完整
Program 解析器回归 30 项通过,包含新增原文 keyword 保留测试
node --run check:repo 10/10 通过
node --run check 通过
node --run test:control-plane 273/273 通过
node --run test:legacy 431/431 通过
node --run build 通过
git diff --check 通过
插件 0.5.188 ZIP 20 个文件与当前发布源码集合及字节全等,清单 SHA-256 核验通过
旧插件 0.5.187 归档前 20 个文件与旧源码全等,归档保留旧清单对应原始字节

完整检查使用当前源码与交付物的临时快照:排除既有未跟踪 .idea/、秘密配置及可重建输出,依赖沿用工作区 node_modules;未读取或复制 .env。原工作区 .idea/ 保持原样。首次 legacy 执行发现两项旧版本正则断言及两项沙箱禁止回环端口监听;同步版本断言后,在允许本机模拟 HTTP 服务的执行环境中完整重跑通过。未跳过失败测试。

合成测试运行真实插件公共预检入口,ERP 查询与原生联动由合成表单/响应提供,保存请求被插件预检拦截,无真实 ERP 请求或写入。用户故障日志的候选名称已经脱敏,因此本次只证明格式兼容修复与边界,不声称已取得线上原始产品名的字符级根因证据。

交付为插件/平台最低版本 0.5.188、Program v1.0.14。部署、服务重启、插件重载与真实 ERP 验收均未执行。