Files
LWLT-AIBOT/.project-docs/30-worklog/tasks/20260915-roster-template-formulas-01a0858b.md
T
2026-09-15 18:41:57 +08:00

18 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 名单身份证模板公式兼容
- 模式:Feature;仅本任务记录写入项目记忆。
- 用户授权:兼容新提供的南京 21+1 名单工作簿;仅本地解析验证,不创建导入任务、不写 ERP、不部署或重启。
- Worktree:`/Users/andy/IdeaProjects/LWLT-AIBOT`;branch `main`;base `af85ea22ecc71b84613f58c1fdbb2cbd275e00eb`。
- 初始改动:未跟踪 `.idea/`、`dist/ltjt-order-assistant-0.5.185.zip`,保留;无其他 worktree、无重叠源码修改。Overlap:Clear。
- 现状:真实 XLS 转换成功;顶部说明合并单元格的错误值阻断表头发现,性别和出生日期的固定身份证推算公式未被支持。
- 范围:控制面名单归一化器、脱敏单元测试和本任务记录。按需同步活动契约;不改 Chrome 插件或业务写入逻辑。
- 方案:发现表头时不把错误值视为标签;实际名单错误仍阻断。有限匹配同一行身份证模板公式,校验源证件格式、真实日期及缓存结果一致性,再生成 canonical TSV;不运行任意公式、不导出身份证字段。
- 验证计划:合成回归覆盖错误区分、公式引用/缓存/来源、列重排及旧模板;真实 XLS 仅内存转换和程序解析、只输出计数;运行仓库要求的全部检查。
- 结果:归一化器升级 `v1.6.0`;原始 XLS 可识别 22 人,程序解析通过,领队序号 22;源文件未修改,未创建导入任务或执行 ERP 写入。
- 交付同步:Skill/输入契约说明明确公式支持范围;五个 Skill 统一重新打包 `0.5.127`,DOCX `0.5.134` 重建并逐页检查全部 16 页;业务输入版本同步,README 指向唯一发布清单。旧 6 个文件经哈希校验归档。扩展保留 `0.5.185`。
- 最终验证:`check:repo` 10/10;`check`、`build` 通过;控制面 253/253、legacy 411/411;五个 Skill 官方验证与发布包逐文件核对通过。隔离源码副本排除了秘密与原有 IDE/日志残留,最终核对源码字节一致。
- 验证过程修正:同步 DOCX 版本的固定测试断言;合成 XLSX 写入器会删除 XML 不允许的控制字符,改用可保留的制表符验证原值限制。未放松缓存一致性条件。
- 状态:完成本地兼容与验证;运行中的本地服务需用户重启,生产需更新服务端后生效,不需更换插件。
- 证据:[验证记录](../../../archive/evidence/2026-09-15/roster-template-formulas-01a0858b/README.md)。
- Promotion Candidates:仅对白名单内同一行身份证模板验证缓存,不泛化公式执行;标题错误值与实际名单错误分开处理;明确表格解析通过与 ERP 实际导入成功的边界。