Files
LWLT-AIBOT/.project-docs/30-worklog/tasks/20260916-transport-description-match-01a0858b.md
T
2026-09-16 11:50:50 +08:00

45 lines
4.9 KiB
Markdown

# 大交通车票说明匹配与候选提示
## Scope / 用户意图
- 修复车票说明在车次后紧接时刻时,空格归一化把 `C91 12:52` 连为 `C9112:52` 而误判零候选的问题。
- 供应商和车票说明共同匹配同一候选;唯一时继续,多条时停止并展示有限候选,帮助用户补充车次或时刻。
- 不改变省略车票说明时既有的首条候选规则,不扩大到自动选任意车次,不执行真实 ERP 写入、重试任务、重启或部署。
- 前一任务的安排记录功能已完成,本次保留其未提交代码与验证记录。
## Worktree gate
- Mode: Feature;单线程,无子 Agent。
- Branch: main
- Worktree: /Users/andy/IdeaProjects/LWLT-AIBOT
- Base commit: 364ef4ae304630f2fa028db52170a9cb38a3fbd3
- Existing changes: 前一已完成任务 `20260916-arrangement-ledger-01a0858b` 的控制面、测试、平台删除提示、任务/证据记录;既有 `.idea/` 与清单所引用的 `dist/ltjt-order-assistant-0.5.185.zip`。全部已知,保留既有内容。
- Other worktrees: 无。
- Overlap result: Clear。插件与相关测试无既有改动;平台仅递增最低插件版本,避开前一任务的删除提示。
## Plan
1. 为说明匹配保留原字符数字边界,同时兼容空格、括号、大小写和全角输入;新增/变更共用同一规则。
2. 零候选给出明确资源检索提示;多候选只展示有限供应商/说明,保留原生唯一性与写入前阻断。
3. 补充业务回归(路线、车次、时刻、不同供应商、C91/C911、车辆数字边界、重复候选和旧省略行为)。
4. 同步扩展版本、平台最低版本、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:legacy` 417/417、`check:repo` 10/10。副本不含 `.env`,测试未连接真实 ERP。临时日志只保留在系统临时目录。
- 完成单线程最终只读差异审查;未创建子 Agent。保留前一任务的所有控制面实现和平台删除提示。
- 验证证据:[本地验证记录](../../../archive/evidence/2026-09-16/transport-description-match-01a0858b/README.md)(仓库路径 `archive/evidence/2026-09-16/transport-description-match-01a0858b/`)。
- 未提交/推送、未部署/重启、未重载实际插件、未自动重试任务、未访问或写入真实 ERP。本修复无需新数据库迁移;使用新功能需同步更新插件和平台静态资源并刷新已有页面。
## Promotion Candidates
- 将车票说明数字边界修复与有限候选提示纳入下次 canonical 集成快照,标明合成验证与真实 ERP 待验收的边界。现有输入契约(说明选填,提供后供应商 AND 说明唯一匹配)保持。
- 后续截图诊断必须逐条核对目的地,不能将“万象”与“万荣”视为同一线路;是否输入充分要以当前 matcher 与实际候选共同验证,避免把实现缺陷解释成用户信息不够。