8.9 KiB
8.9 KiB
EM Planner Execution Progress
Current State
- Current stage: 3 — OSQP contracts and native loading
- Stage status: Completed
- Current branch:
trajplanner - Last checkpoint commit:
39c1708(last Stage 3 functional commit; this file is the Stage 3 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. |
| 3 | 2026-08-03-em-planner-osqp-backend-implementation.md |
Task 1 — Solver-Neutral Sparse QP Contracts | 104081e |
RED: optimization failed with missing SparseTripletBuilder; GREEN: PASS optimization covered deterministic CSC canonicalization, duplicate summation, zero dropping, upper-triangular Hessians, QP validation, and defensive copies. |
| 3 | 2026-08-03-em-planner-osqp-backend-implementation.md |
Task 2 — Reproducible OSQP 1.0.0 Native Package | 2abb465 |
RED: the planned package script was absent; GREEN: the fixed-tag build printed OSQP v1.0.0 win-x64 package ready. The package contains the pinned DLL, license files, version/build flags, and lowercase SHA-256 manifest; dumpbin verified x64 and the four required exports. |
| 3 | 2026-08-03-em-planner-osqp-backend-implementation.md |
Task 3 — Absolute-Path Native Loader and ABI Structures | 39c1708 |
RED: osqp-loader failed with missing OsqpNativeLoader; GREEN: PASS osqp-loader verified missing/corrupt DLL diagnostics, real 1.0.0 loading from a copied plugin directory, and one stable handle across 16 parallel first-use calls. |
Current Verification
- Commands:
powershell -ExecutionPolicy Bypass -File ClumsyPilot/ThirdParty/OSQP/build-win-x64.ps1dumpbin /headers ClumsyPilot/ThirdParty/OSQP/win-x64/osqp.dlldumpbin /exports ClumsyPilot/ThirdParty/OSQP/win-x64/osqp.dlldotnet run --no-build --project ClumsyPilot/tests/EMPlannerVerificationHost/EMPlannerVerificationHost.csproj -- optimizationdotnet run --no-build --project ClumsyPilot/tests/EMPlannerVerificationHost/EMPlannerVerificationHost.csproj -- osqp-loaderdotnet run --no-build --project ClumsyPilot/tests/EMPlannerVerificationHost/EMPlannerVerificationHost.csproj -- all-foundationdotnet build ClumsyPilot/ClumsyPilot.csproj --no-restoregit diff --check
- Result: The pinned OSQP package built from tag
v1.0.0with 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, andosqp_cleanupare exported; and the recomputed SHA-256 exactly matchesSHA256SUMS.optimizationandosqp-loaderpass. The latter uses copied plugin directories to prove missing/corrupt native libraries return structured diagnostics withoutBadImageFormatExceptionescaping, the real library reports1.0.0, and 16 concurrent first loads share one handle.all-foundationprintsPASS foundation,PASS segmentation,PASS frenet, andPASS corridor.git diff --checkhas no whitespace diagnostics, and the staging area was empty before this checkpoint update. - Normal-project baseline:
dotnet build ClumsyPilot/ClumsyPilot.csproj --no-restoreexits 1 only for the legacyauto_avoidance/MultiWheelAutoAvoidance.csmissingNetTopologySuite(3) andOpenCvSharp(1) references, plus that legacy file's duplicate-using warning. There are no EM Planner errors. - Verified commits:
104081e,2abb465, and39c1708
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.csprojremains preserved. Do not clean, rewrite, or stage it. - The normal
ClumsyPilot.csprojbuild remains blocked by legacyauto_avoidance/MultiWheelAutoAvoidance.csreferences toNetTopologySuiteandOpenCvSharp; do not delete or bypass legacy functionality to change this baseline.
Decisions Needed
- None. Stage 3 completed within scope.
Next Stage
- Stage: 4 — OSQP solve lifecycle and status mapping
- Readiness: Ready for Stage 4 entry checks.
- Plan:
docs/superpowers/plans/2026-08-03-em-planner-osqp-backend-implementation.md - Tasks:
- Task 4 — OSQP Solve Lifecycle and Status Mapping
- Task 5 — Backend Completion Gate
- Entry checks:
- Confirm branch
trajplanner, commits through39c1708, and an empty staging area. - Capture
git status --shortbefore editing and preserve every unrelated user change. - Read the two EM Planner design documents, this progress file, and the OSQP implementation plan.
- Run
optimization,osqp-loader, andall-foundationbefore Task 4. - Confirm
CMake, Visual Studio x64 Build Tools, anddumpbinremain available for package checks.
- Confirm branch
- Exit gate:
- Tasks 4 and 5 each have an independent commit and their prescribed RED/GREEN evidence.
- Feasible and infeasible QPs map to planner-neutral statuses; native workspace allocation/release and repeated loading are stable.
- The clean-plugin-directory loader check,
optimization,osqp-loader, andall-foundationpass. git diff --checkis clean; the staging area is empty; a Stage 4 progress checkpoint is committed alone.
Next-Window Prompt
Please continue the ParkingRobot repository EM Planner multi-window implementation.
Working directory: D:\Users\Desktop\项目\prakrobot\ParkingRobot
This window is Stage 4: OSQP solve lifecycle and status mapping. Execute only Task 4 and Task 5 of:
docs/superpowers/plans/2026-08-03-em-planner-osqp-backend-implementation.md
Do not start LS, ST, rolling execution, dynamic obstacles, or any later stage.
Before working, fully read:
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
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.