plan.md 3.0 KB

地图机车模型四项评估计划

执行方式:在当前会话直接完成用户已确认的四项评估;不创建分支,不交付生产实现。本文件是研究与隔离试验计划,不是地图全量切换实施计划。

Goal: 确定现有 OSRM v5.27.1 是否足以承载当前配送机车规则,以及借鉴 Valhalla 的最小范围和明确限制。

Architecture: 以已部署机车 Lua 的文件指纹和固定上游提交为基线;使用合成小路网及临时 OSRM 容器验证规则。测试候选只在临时目录生成,不覆盖地图仓库或服务器正式文件。

Tech Stack: Python 标准库、SSH、OSRM v5.27.1 Docker、OSM XML 夹具、Lua API v4。

Spec: osm-requirements-assessment.md。用户于 2026-10-12 同意执行其中基线核对、规则对照、小样本验证和最终结论四项工作。

约束

  • 不修改生产 Lua、foodie 业务源码、App 或数据库;不重建台湾全境路网、不部署 Valhalla、不切换线上流量。
  • 临时容器只绑定服务器回环地址,限 CPU/内存,测试结束停止;不操作既有服务容器生命周期。
  • 不读取或记录数据库密码、地图管理令牌等凭据。SSH 使用既有登录配置,不把私钥纳入文件。
  • 固定 Valhalla 源码提交和 OSRM 镜像版本;候选参数仅是可行性探针,不是运营批准参数。
  • 仅验证技术规则和合成样本,不宣称台湾全境合法通行、两段式转弯、真实 ETA 或生产 P99 已达标。

核验重点

  1. 本地 master、双车型分支、部署源文件及容器内文件是否一致。
  2. 机车禁行优先于路线偏好,不以“降低优先级”替代禁止通行。
  3. 路线权重与行驶时间分别设置,软偏好不直接把 ETA 放大。
  4. 单行、车型转向限制、吸附失败和不可达应保持明确语义。
  5. 动态时间限制、交通、坡度/密度与两段式转弯不能仅凭 Lua 名称或常量复制就认定支持。

任务与文件

  • 基线及规则评估:记录于 model-evaluation.md,包含固定版本、文件哈希、规则对照和结论。
  • 可复现小样本:evaluation/run_model_probe.py,生成隔离夹具和一次性候选 Lua,执行真实 OSRM 请求。
  • 机器证据:evaluation/model-probe-results.json,由脚本生成,包含验证结果、来源哈希及清理结果,不含凭据。
  • 状态追踪:tasks.md,只标记本次四项评估,不把评估通过当作生产实现完成。

执行顺序:先固定来源和部署指纹,再对照规则,随后运行隔离试验,最后依据实际结果写出结论和未验证项。脚本命令为:

& 'C:/Users/99029/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/python.exe' specs/032-self-hosted-map-integration/evaluation/run_model_probe.py

验收:四项均有可审计证据;失败样本明确分类;原有生产文件指纹和服务容器保持不变;不自动提交或推送。