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

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

  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/)。
  • 未提交/推送、未部署/重启、未重载实际插件、未自动重试任务、未访问或写入真实 ERP。本修复无需新数据库迁移;使用新功能需同步更新插件和平台静态资源并刷新已有页面。

Promotion Candidates

  • 将车票说明数字边界修复与有限候选提示纳入下次 canonical 集成快照,标明合成验证与真实 ERP 待验收的边界。现有输入契约(说明选填,提供后供应商 AND 说明唯一匹配)保持。
  • 后续截图诊断必须逐条核对目的地,不能将“万象”与“万荣”视为同一线路;是否输入充分要以当前 matcher 与实际候选共同验证,避免把实现缺陷解释成用户信息不够。