docs(p2): fresh-session kickoff prompt — principled P1 membership fix (user-approved)
Appends the copy-paste kickoff prompt for the next session: pursue the principled P1 fix for the cellar-lip cell-resolver ping-pong (demote ResolveCellId / make the swept curr_cell the per-frame membership authority), NOT a stickiness band-aid. Captures the evidence, apparatus, retail anchors, do-not list, and test baseline. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
664101f08f
commit
57435e912b
1 changed files with 67 additions and 3 deletions
|
|
@ -104,8 +104,72 @@ LiveCompare_*` (compare against captured-BUGGY-live positions; need re-baseline)
|
|||
`BSPStepUpTests.D4` (airborne Path 6 sliding-normal persistence — separate). App 177 green.
|
||||
|
||||
## Do NOT
|
||||
- Guess a step-up fix without acdream's corner path trace (the #98 saga burned 10+ guesses).
|
||||
- Guess (the #98 saga burned 10+ speculative fixes) — pin the mechanism with the apparatus first.
|
||||
- Add a `ResolveCellId` stickiness clamp / suppression flag — the user chose the **principled**
|
||||
P1 demotion, not a band-aid (no-workarounds rule).
|
||||
- Flip `Apparatus_Grounded_50cmOffCenter` to `Assert.True(blocked)` — it blocks via a
|
||||
synthetic-floor artifact, not a faithful door block.
|
||||
- Re-investigate B1 (the near-miss gate) or the slide_sphere head-near-miss path — both
|
||||
shipped + verified.
|
||||
- Re-investigate B1 (`abbd761`) or slide_sphere (`0935a31`) — both shipped + verified + correct.
|
||||
|
||||
## FRESH-SESSION KICKOFF PROMPT (copy-paste) — user-approved 2026-06-04: principled P1 membership fix
|
||||
|
||||
```
|
||||
Continue the VERBATIM retail spatial-pipeline port for acdream. Branch claude/thirsty-goldberg-51bb9b
|
||||
(do NOT branch/worktree; do NOT push without asking; NEVER git stash/gc). PowerShell on Windows;
|
||||
launch logs are UTF-16.
|
||||
|
||||
STATE: M1.5 (Indoor world feels right). P2 COLLISION = DONE + shipped: B1 near-miss gate (abbd761) +
|
||||
slide_sphere head-near-miss (0935a31). Generic step-up climbs; the closed cottage door BLOCKS (no
|
||||
walkthrough); step-up AT THE CELLAR LIP works (220 successful candidate-landings on the cottage floor).
|
||||
The remaining intermittent CELLAR-ASCENT WEDGE is RE-DIAGNOSED (live acdream + retail cdb traces) to a
|
||||
MEMBERSHIP cell-resolver ping-pong — NOT collision. The user APPROVED the PRINCIPLED P1 fix (demote
|
||||
ResolveCellId / swept curr_cell as per-frame authority), NOT a stickiness band-aid.
|
||||
|
||||
READ FIRST (in order):
|
||||
1. docs/research/2026-06-04-p2-cellar-corner-stepup-handoff.md — RE-DIAGNOSIS banner + full evidence.
|
||||
2. memory/project_p2_door_stepup_findings.md — RE-DIAGNOSIS 2026-06-04 entry + shipped fixes + do-not.
|
||||
3. memory/project_retail_membership_criterion.md — P1 membership context (swept curr_cell pick).
|
||||
4. docs/superpowers/specs/2026-06-03-verbatim-spatial-pipeline-port-master-plan.md — §A membership
|
||||
A1–A9, §1 KEEP/REPLACE/DELETE (ResolveCellId -> spawn/teleport seed; per-frame from swept curr_cell),
|
||||
parked (a)–(d).
|
||||
|
||||
THE FINDING (evidence): at the Holtburg cottage cellar-top lip (3-cell junction), acdream step-up
|
||||
SUCCEEDS — lands CheckPos on the cottage floor (Z=94.0, normal (0,0,1)) 220/518 times, matching retail.
|
||||
But committed CurPos never advances (stays on the ramp ~(…,9.70,93.41)); every success is REVERTED
|
||||
because the cell PING-PONGS every tick (0xA9B40175<->0174<->0171, [cell-transit] reason=resolver) -> the
|
||||
floor-landing is validated against the wrong cell + rejected. Retail (cdb) is smooth: step_up + contact
|
||||
plane transitions ramp N.z=0.78 -> flat floor N.z=1.0 (76 landings), no cell ping-pong. This CONTRADICTS
|
||||
P1's claim that ResolveCellId was demoted out of the per-frame path.
|
||||
|
||||
THE JOB (evidence-first; do NOT guess):
|
||||
1. PIN the exact code path producing the per-frame [cell-transit] reason=resolver ping-pong at the lip
|
||||
(is it PhysicsEngine.ResolveCellId despite P1's demotion claim, the swept advance, or
|
||||
PlayerMovementController.UpdateCellId/UpdatePlayerCurrCell?), and CONFIRM the resolver flip CAUSES the
|
||||
step-up commit-rejection (re-validation against the flipped cell) vs being a symptom.
|
||||
2. PORT THE PRINCIPLED P1 FIX: make the swept curr_cell (find_cell_list pick over the uniform candidate
|
||||
set) the per-frame membership authority at this junction; demote ResolveCellId to spawn/teleport seed.
|
||||
Retail anchors: A1 CObjCell::find_cell_list 0x52b4e0 pc:308742; A8 change_cell/SetPositionInternal
|
||||
0x513390/0x515330; A7 transitional_insert/validate_transition/check_other_cells. The cell must NOT
|
||||
flip out from under a committed step-up. NO stickiness band-aid.
|
||||
3. RED->GREEN: deterministic test for the lip junction (cell stable after step-up) + keep B1/B2/B3/door
|
||||
tests green. USER VISUAL GATE: cellar ascent clean (no wedge); door still blocks; generic step-up climbs.
|
||||
|
||||
APPARATUS (in the worktree):
|
||||
- acdream captures: acdream-corner-capture.jsonl (lip wedge: step-up-works + cell ping-pong),
|
||||
cellar-up-capture-v2.jsonl, cellar-up-capture.jsonl (JSON Lines, ACDREAM_CAPTURE_RESOLVE, IsPlayer).
|
||||
- Retail cdb: cellar-corner-retail.log + tools/cdb/cellar-corner-escape.cdb. Decode: parse_corner_log.py
|
||||
/ tools/cdb/decode_retail_hex.py.
|
||||
- Probes: ACDREAM_PROBE_CELL=1 ([cell-transit]), ACDREAM_DUMP_STEPUP=1 (stepup:), ACDREAM_PROBE_RESOLVE=1
|
||||
([resolve]), ACDREAM_CAPTURE_RESOLVE=<path>. Live launch per CLAUDE.md "Running the client".
|
||||
- cdb on retail at the lip (break CObjCell::find_cell_list / change_cell / SetPositionInternal) if the
|
||||
decomp is ambiguous. PDB matches; tools/cdb/. Lower the trace threshold (~3000) so it auto-detaches in
|
||||
one wedge.
|
||||
|
||||
DO NOT: re-investigate B1/slide_sphere (shipped, correct); add a ResolveCellId stickiness/suppression
|
||||
band-aid (user chose principled); flip Apparatus_Grounded_50cmOffCenter to Assert.True(blocked)
|
||||
(synthetic-floor artifact); guess.
|
||||
|
||||
TEST BASELINE: Core 1310 pass / 4 fail / 1 skip (the 4: Apparatus_Grounded_50cmOffCenter [synthetic-floor
|
||||
artifact], 2x DoorBugTrajectoryReplay LiveCompare_* [captured-buggy-live, re-baseline], BSPStepUpTests.D4
|
||||
[airborne Path 6, separate]); App 177 green. Branch HEAD: 664101f (+ this commit).
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue