Files
ParkingRobot/docs/superpowers/progress/em-planner-progress.md
T

104 lines
7.9 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.
# EM Planner Execution Progress
## Current State
- Current stage: 2 — Foundation coordinates and corridor
- Stage status: Completed
- Current branch: `trajplanner`
- Last checkpoint commit: `aa62d6b` (last Stage 2 functional commit; this file is the Stage 2 checkpoint)
- Protocol design baseline: `554c84f`
- Implementation-plan baseline: `8dd8ff0`
## Completed Tasks
| Stage | Plan | Tasks | Commits | Verification |
|---:|---|---|---|---|
| 1 | `2026-08-03-em-planner-foundation-implementation.md` | Task 1 — Verification Host and Immutable Contracts | `e12eb31` | RED: `foundation` failed with missing `VehicleMotionState`/`EmTrajectoryPoint`; GREEN: `foundation` printed `PASS foundation` with exit 0. |
| 1 | `2026-08-03-em-planner-foundation-implementation.md` | Task 2 — Configuration, Diagnostics, and Request Validation | `b326431` | RED: `foundation` failed with missing configuration/validation types; GREEN: `foundation` printed `PASS foundation` twice with byte-identical stdout and exit 0. |
| 1 | `2026-08-03-em-planner-foundation-implementation.md` | Task 3 — Direction Segmentation and Exact Boundary Anchors | `e492e16` | RED: `segmentation` failed with missing `ReferencePathSegmenter`; GREEN: `foundation` and `segmentation` each printed their PASS line with exit 0. |
| 2 | `2026-08-03-em-planner-foundation-implementation.md` | Task 4 — Reverse-Safe Frenet Projection and Reconstruction | `06687e2` | RED: `frenet` failed with missing Frenet types including `FrenetProjector`; GREEN: `PASS frenet` with forward/reverse sign, yaw-wrap, bounded U-branch, singular-denominator, and reconstruction checks. |
| 2 | `2026-08-03-em-planner-foundation-implementation.md` | Task 5 — Topology-Preserving Static Corridor | `2d252ff` | RED: `corridor` failed with missing static-corridor types; GREEN: `PASS corridor`, followed by `all-foundation` with all four PASS lines. |
| 2 | `2026-08-03-em-planner-foundation-implementation.md` | Task 6 — Foundation Documentation and Gate | `aa62d6b` | RED: Foundation README was absent; GREEN: README contract scan passed. Placeholder/format scans passed, `all-foundation` passed twice with identical four-line stdout, and the normal-project baseline contained only legacy `auto_avoidance` errors. |
## Current Verification
- Commands:
- `dotnet run --project ClumsyPilot/tests/EMPlannerVerificationHost/EMPlannerVerificationHost.csproj -- foundation`
- `dotnet run --project ClumsyPilot/tests/EMPlannerVerificationHost/EMPlannerVerificationHost.csproj -- segmentation`
- `dotnet run --project ClumsyPilot/tests/EMPlannerVerificationHost/EMPlannerVerificationHost.csproj -- frenet`
- `dotnet run --project ClumsyPilot/tests/EMPlannerVerificationHost/EMPlannerVerificationHost.csproj -- corridor`
- `dotnet run --project ClumsyPilot/tests/EMPlannerVerificationHost/EMPlannerVerificationHost.csproj -- all-foundation` (run twice, stdout compared exactly)
- `git diff --check`
- `rg -n "NotImplementedException|throw new Exception\(\)" ClumsyPilot/ParkrobTrajplanner/EMPlanner ClumsyPilot/tests/EMPlannerVerificationHost`
- `dotnet build ClumsyPilot/ClumsyPilot.csproj --no-restore`
- Result: `foundation`, `segmentation`, `frenet`, and `corridor` pass. `all-foundation` produced exactly `PASS foundation`, `PASS segmentation`, `PASS frenet`, and `PASS corridor` twice with exit 0 and identical stdout. `git diff --check` and the placeholder scan have no diagnostics. The isolated host may display two pre-existing `TireFollowing` obsolete-API warnings during a cold implicit build; warmed direct runs contain only the four PASS lines and no EM Planner warnings or errors. The normal project build exits 1 only for the existing `auto_avoidance/MultiWheelAutoAvoidance.cs` missing `NetTopologySuite` (3) and `OpenCvSharp` (1) references, plus that legacy file's duplicate-using warning; it has no EM Planner errors.
- Verified commit: `aa62d6b`
## Preserved Workspace State
- The workspace continues to contain many unrelated Map, CoarsePath, PathSmoothing, project-file, report, and documentation changes. They belong to the user and remain untouched and unstaged.
- Use explicit file paths for every `git add`; never stage the whole workspace.
- The existing user hunk in `ClumsyPilot/ClumsyPilot.csproj` remains preserved. Do not clean, rewrite, or stage it.
- The normal `ClumsyPilot.csproj` build remains blocked by legacy `auto_avoidance/MultiWheelAutoAvoidance.cs` references to `NetTopologySuite` and `OpenCvSharp`; do not delete or bypass legacy functionality to change this baseline.
## Decisions Needed
- None. Stage 2 completed within scope.
## Next Stage
- Stage: 3 — OSQP contracts and native loading
- Readiness: Ready for Stage 3 entry checks.
- Plan: `docs/superpowers/plans/2026-08-03-em-planner-osqp-backend-implementation.md`
- Tasks:
- Task 1 — Solver-Neutral Sparse QP Contracts
- Task 2 — Reproducible OSQP 1.0.0 Native Package
- Task 3 — Absolute-Path Native Loader and ABI Structures
- Entry checks:
- Confirm branch `trajplanner`, commits through `aa62d6b`, and an empty staging area.
- Capture `git status --short` before editing and preserve every unrelated user change.
- Confirm the Stage 2 checkpoint content and run `all-foundation` before Task 1.
- Read the OSQP implementation plan and verify its required native-build tools/files before modifying code.
- Exit gate:
- Tasks 13 each have an independent commit and their prescribed RED/GREEN evidence.
- The OSQP contract, reproducible package, absolute-path loader, ABI, and failure diagnostics checks pass.
- `all-foundation` remains passing; normal-project baseline remains separately recorded.
- `git diff --check` is clean; the staging area is empty; a Stage 3 progress checkpoint is committed alone.
## Next-Window Prompt
```text
请继续 ParkingRobot 仓库的 EM Planner 多窗口实施。
工作目录:D:\Users\Desktop\项目\prakrobot\ParkingRobot
本窗口是阶段 3:OSQP 契约与原生加载,只执行 `docs/superpowers/plans/2026-08-03-em-planner-osqp-backend-implementation.md` 的 Task 13;不得提前执行阶段 4 或后续阶段。
开始工作前必须完整读取:
1. docs/superpowers/specs/2026-08-03-em-planner-ls-st-design.md
2. docs/superpowers/specs/2026-08-03-em-planner-windowed-execution-design.md
3. docs/superpowers/progress/em-planner-progress.md
4. docs/superpowers/plans/2026-08-03-em-planner-osqp-backend-implementation.md
执行时使用 executing-plans、test-driven-development 和 verification-before-completion 技能,并完整读取对应 SKILL.md。不要使用子代理。
开始前:
- 确认工作目录、分支 `trajplanner`、Stage 12 提交(含 `06687e2`、`2d252ff`、`aa62d6b`)及暂存区为空。
- 保存 `git status --short` 作为结束对照;保留所有既有用户修改,绝不清理、覆盖或顺带提交。
- 核对本进度文件与 Git;若不一致,先诊断并报告。
- 运行 `dotnet run --project ClumsyPilot/tests/EMPlannerVerificationHost/EMPlannerVerificationHost.csproj -- all-foundation`,必须通过后才开始 Task 1。
- 记录正常项目基线:旧 `auto_avoidance/MultiWheelAutoAvoidance.cs` 缺失 `NetTopologySuite`/`OpenCvSharp` 引用仍可存在,不得通过删除旧功能规避。
执行要求:
- 严格逐任务 TDD:RED、最小 GREEN、计划指定验证;每项独立提交,只显式暂存计划范围文件。
- 不修改无关 Map、CoarsePath、PathSmoothing 或旧 auto_avoidance。
- 不实现 LS、ST、滚动执行、动态障碍或阶段 4 OSQP solve lifecycle。
- 完成声明前运行计划指定验证和 `git diff --check`。
阶段结束时:
- 完成 Task 1–3 的独立提交和测试证据;执行 OSQP 阶段出口验证,并确认 `all-foundation` 仍通过。
- 按计划记录正常项目基线;暂存区为空。
- 更新并单独提交 `docs/superpowers/progress/em-planner-progress.md`,将 Stage 3 标为 Completed、Stage 4 标为 Ready。
- 返回提交、证据、遗留问题和 Stage 4 提示词。
```