名单模板公式兼容验证
本目录记录 2026-09-15 本地验证结论,不是生产运行结果或后续版本规则。
- 归一化器:
ltjt-passenger-roster-workbook-v1.6.0;业务输入契约0.5.134。 - 用户提供的真实 XLS 经过项目隔离转换器、名单归一化器和 Program Parser 完整校验:22 行、13 列、序号 1–22 连续,序号 22 的领队姓名/电话可识别,解析状态
agent_parse_passed。21 行电话为空,沿用现有允许空值的规则。 - 真实附件只在内存和转换器受控临时目录中处理,源文件哈希前后相同;没有持久化旅客明细、调用数据库、创建任务或写入 ERP。程序验证使用合成定位文字,不代表真实 ERP 订单匹配或执行验收。
- 回归:
node --run check、node --run build通过;check:repo10/10,test:control-plane253/253,test:legacy411/411。仓库检查也是 legacy 套件的一部分,不重复计入总数。 - 回归使用
/private/tmp/ltjt-roster-formula-verify-20260915的逐文件一致源码副本,排除.env、IDE 配置、可重建输出和既有日志等残留;保留原工作区既有文件。仅 legacy 的本机 HTTP fixture 使用回环端口权限。 - 新增 8 个专项测试覆盖:说明区/表头/旅客错误值区分,15/18 位身份证模板,列重排/共享公式/1904 日期系统,缓存缺失及不一致,跨行/歧义/非模板/外部引用,来源精度/日期/空白字符,尾部局部数据保留,以及 22 人名单到 Program Parser 的完整路径。
- 五个 Skill 官方
quick_validate.py全部通过;所有.skill重新从活动源构建,逐文件字节一致。Skill 版本0.5.127,扩展版本保持0.5.185。 - 指令表
0.5.134从唯一 Markdown 源及既有布局模板重建,Documents renderer 输出 16 页 PNG 并逐页检查:中文正常、无截断/重叠。当前 DOCX、构建器、源 Markdown 哈希由dist/release-manifest.json定义。 - 最终限制:只支持明确匹配的两种同一行身份证模板;不执行任意公式、不验证身份证真实性或校验码。错误值、来源不合法或缓存不一致继续阻断;身份证不写入 canonical TSV 或 ERP。
旧发布物已校验后归档在 发布归档。