4.9 KiB
4.9 KiB
大交通车票说明匹配与候选提示
Scope / 用户意图
- 修复车票说明在车次后紧接时刻时,空格归一化把
C91 12:52连为C9112:52而误判零候选的问题。 - 供应商和车票说明共同匹配同一候选;唯一时继续,多条时停止并展示有限候选,帮助用户补充车次或时刻。
- 不改变省略车票说明时既有的首条候选规则,不扩大到自动选任意车次,不执行真实 ERP 写入、重试任务、重启或部署。
- 前一任务的安排记录功能已完成,本次保留其未提交代码与验证记录。
Worktree gate
- Mode: Feature;单线程,无子 Agent。
- Branch: main
- Worktree: /Users/andy/IdeaProjects/LWLT-AIBOT
- Base commit:
364ef4ae30 - Existing changes: 前一已完成任务
20260916-arrangement-ledger-01a0858b的控制面、测试、平台删除提示、任务/证据记录;既有.idea/与清单所引用的dist/ltjt-order-assistant-0.5.185.zip。全部已知,保留既有内容。 - Other worktrees: 无。
- Overlap result: Clear。插件与相关测试无既有改动;平台仅递增最低插件版本,避开前一任务的删除提示。
Plan
- 为说明匹配保留原字符数字边界,同时兼容空格、括号、大小写和全角输入;新增/变更共用同一规则。
- 零候选给出明确资源检索提示;多候选只展示有限供应商/说明,保留原生唯一性与写入前阻断。
- 补充业务回归(路线、车次、时刻、不同供应商、C91/C911、车辆数字边界、重复候选和旧省略行为)。
- 同步扩展版本、平台最低版本、mapping、测试及发布 ZIP/清单;执行仓库要求的验证,逐文件核对发布包。
Progress / Validation
- 修复前已使用当前函数复现:
拉邦-万荣 C91为零候选,带完整时刻为一条;仅路线在多车次数据下保持多候选阻断。 - 已完成:说明检索继续忽略空格、括号、大小写及全角差异,数字边界通过归一化字符到原标签位置的映射检查;车次后的空格/括号与时间分隔保持有效,连续更长数字仍拒绝匹配。共用的用车类型筛选也完成数字边界回归。
- 大交通新增与变更在供应商和说明的同一条候选上筛选。仅路线且唯一允许;仅路线/车次且多条,或不同供应商/不同目的地不满足条件时均不选择、不修改表单;填写说明不会退回首条,未填说明的旧行为保留。
- 路由失败区分零匹配、候选未加载和多匹配。多匹配仅返回最多 5 条已匹配的供应商/说明,每字段最多 120 字符并移除控制字符,不返回内部 ID、整行原始元组或价格列。仅失败歧义才添加该候选证据,已有成功回执与安排记录未改变。
- 扩展
0.5.186、MAIN-world 版本、平台最低版本、mapping 与固定版本测试同步;旧0.5.185包和清单按原字节归档,新 ZIP 的 20 个文件逐字节匹配源文件。Skill、输入模板和 DOCX 契约未修改。 - 定向回归 31/31(本次新增 6 项覆盖新增/变更、时刻邻接、全角/括号/空白、C91/C911、不同供应商/目的地、路线唯一/歧义、重复候选、诊断边界和既有原生联动);控制面 266/266;类型检查与构建通过;
git diff --check通过。 - 初次完整回归中遗漏的旧版本正则断言已同步修正。原工作区整洁检查仍有 2 项既有
.idea/、.DS_Store、旧证据日志失败;普通 sandbox 下两项临时 HTTP 服务器监听被 EPERM 阻断。未删除/移动这些用户工作区文件,未修改检查规则。 - 在当前源码、任务文件和清单交付物的临时干净副本中,以允许 localhost 测试监听的环境完成
test:legacy417/417、check:repo10/10。副本不含.env,测试未连接真实 ERP。临时日志只保留在系统临时目录。 - 完成单线程最终只读差异审查;未创建子 Agent。保留前一任务的所有控制面实现和平台删除提示。
- 验证证据:本地验证记录(仓库路径
archive/evidence/2026-09-16/transport-description-match-01a0858b/)。 - 未提交/推送、未部署/重启、未重载实际插件、未自动重试任务、未访问或写入真实 ERP。本修复无需新数据库迁移;使用新功能需同步更新插件和平台静态资源并刷新已有页面。
Promotion Candidates
- 将车票说明数字边界修复与有限候选提示纳入下次 canonical 集成快照,标明合成验证与真实 ERP 待验收的边界。现有输入契约(说明选填,提供后供应商 AND 说明唯一匹配)保持。
- 后续截图诊断必须逐条核对目的地,不能将“万象”与“万荣”视为同一线路;是否输入充分要以当前 matcher 与实际候选共同验证,避免把实现缺陷解释成用户信息不够。