| 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. |
- Result: The pinned OSQP package built from tag `v1.0.0` with builtin algebra, shared library, double precision, int32 indices, unpacked settings, and printing/codegen/derivatives disabled. Its DLL is x64; `osqp_version`, `osqp_setup`, `osqp_solve`, and `osqp_cleanup` are exported; and the recomputed SHA-256 exactly matches `SHA256SUMS`. `optimization` and `osqp-loader` pass. The latter uses copied plugin directories to prove missing/corrupt native libraries return structured diagnostics without `BadImageFormatException` escaping, the real library reports `1.0.0`, and 16 concurrent first loads share one handle. `all-foundation` prints `PASS foundation`, `PASS segmentation`, `PASS frenet`, and `PASS corridor`. `git diff --check` has no whitespace diagnostics, and the staging area was empty before this checkpoint update.
- Normal-project baseline: `dotnet build ClumsyPilot/ClumsyPilot.csproj --no-restore` exits 1 only for the legacy `auto_avoidance/MultiWheelAutoAvoidance.cs` missing `NetTopologySuite` (3) and `OpenCvSharp` (1) references, plus that legacy file's duplicate-using warning. There are no EM Planner errors.
- Verified commits: `104081e`, `2abb465`, and `39c1708`
- 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.
- 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.
Use executing-plans, test-driven-development, and verification-before-completion. Do not use subagents.
Before Task 4, confirm branch trajplanner, commits through 39c1708, an empty staging area, and preserve the saved git status --short baseline. Run:
dotnet run --project ClumsyPilot/tests/EMPlannerVerificationHost/EMPlannerVerificationHost.csproj -- optimization
dotnet run --project ClumsyPilot/tests/EMPlannerVerificationHost/EMPlannerVerificationHost.csproj -- osqp-loader
dotnet run --project ClumsyPilot/tests/EMPlannerVerificationHost/EMPlannerVerificationHost.csproj -- all-foundation
Use strict per-task TDD, explicit staging, and an independent commit for each task. Do not modify unrelated Map, CoarsePath, PathSmoothing, or legacy auto_avoidance content. The normal-project build's existing auto_avoidance dependency failure is a recorded baseline, not something to fix or bypass.
Before completion, run the plan verification and git diff --check. Update and separately commit this progress file only after Stage 4 is genuinely complete.