diff --git a/docs/plans/2026-08-02-placement-cutover.md b/docs/plans/2026-08-02-placement-cutover.md index 648d0232..625603dc 100644 --- a/docs/plans/2026-08-02-placement-cutover.md +++ b/docs/plans/2026-08-02-placement-cutover.md @@ -92,10 +92,28 @@ same commit) → docs/handoff commit. No workarounds; no fused slices. direct object-clock bypasses, and containing headless's uncaught prepared-collision `InvalidDataException` — IS the C3 route-1 flip and moves there. No separate C1 commit. -- **C2 — placement allocation budget.** Pool or eliminate the operation/ - projection envelope allocations on the accepted placement path (root - cause, not a raised cap), or obtain explicit user approval for a measured - budget. Re-measure; the regression gate keeps the ceiling. +- **C2 — placement allocation budget — COMPLETE at `63c601ff` + (2026-08-02, dual reviews PASS after two fix rounds).** 2,032 → 944 + B/op via pooled operation envelopes (bounded, reset-at-rent, double- + retire guarded, reset/dispose-cleared, ledger-visible), a cached + collision-callback delegate over an explicit context stack, and a + non-boxing pending-head read; gate tightened to 1,536. The pooling + forced a class-wide staleness rework: captured-token-vs-fresh-lookup at + every reentrancy-spanning frame (26-site audit), hoisted stack locals + for retail's handle_all_collisions bits, token-gated bookkeeping + writes, and a deliberately identity-agnostic settle path (retail's + SetPositionInternal completes unconditionally even for displaced + operations). + **Residual floor (documented at the gate, decision deferred to the C3 + activation gate where the user is in the loop):** ~520 B/op inside + Core's `PhysicsEngine.SetPosition` (transition init / query-footprint + materialization — a potential C2b if C3's connected profile shows it + matters) and ~208 B/op of sorted-tree node per pending receipt. + **Maintenance notes from review (no action):** the no-reentrancy + proofs on the 15 surviving reference-based currency checks are + comment-enforced; `IsCurrent(Operation)` remains available and a new + reentrancy-spanning call site would silently inherit the tautology — + its doc comment warns. - **C3 — spawn-frequency cutover: routes 1 + 8.** Flip graphical AND headless initial Create/login registration to `RegisterEntityWithInitialResidence` + executor + placement receipts