docs: accept #309 as a standing divergence rather than a planned fix (AP-136)
User decision 2026-08-06. #309 moves from OPEN to DEFERRED/ACCEPTED, and AP-136 becomes its permanent record rather than a staging note. No code changes. No new register row was filed: AP-136 already carries the full retail mechanism (SetPositionInternal 0x00515BD0 -> store_position 0x00515CE2 -> GotoLostCell 0x00515CF2, removed only by InitObjCell 0x00508260 -> reenter_visibility 0x00516250), the exact divergence, and the observable. Filing a second row would have duplicated it. WHY DEFERRED, recorded so a successor does not silently re-litigate it. The retail-faithful end state is a park that SURVIVES cancellation. That was implemented and reverted this round, because it costs (a) reversing a deliberate shipped invariant — NewerPositionPickupAndParentEachCancelExactLostOperation asserts that a newer Position cancels the park — and (b) GameRuntime teardown convergence (stage 10), where surviving parks never converge on shutdown. The observable requires a remote to teleport into a non-resident landblock AND then stop moving; ACE stops broadcasting for a stationary entity, while the ordinary 5-10 Hz case is superseded within ~150 ms. Revisit if teardown convergence is done for another reason, or if the observable is reported in ordinary play. CAUGHT WHILE RECORDING IT: deferring the fix does NOT cancel AP-136's six-step connected check. That check validates the SHIPPED rollback path (#312 / restorableOnCancel, which sits in SubmitPreparedPlacementCore — the shared core behind every production placement), not the deferred fix. It still needs running with ACDREAM_PROBE_PARK=1, and therefore must run BEFORE C5c's probe strip retires that flag. Both documents now say so; without that note the strip would have silently removed the instrumentation a still-owed gate depends on. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
73cdb95c7b
commit
43cfdc4a40
2 changed files with 33 additions and 8 deletions
|
|
@ -589,13 +589,38 @@ the delta-review round on the same route's remediation. Evidence:
|
|||
|
||||
## #309 — Cancelled lost-cell park re-shows the entity where retail would keep it hidden
|
||||
|
||||
**Status:** OPEN — but **largely superseded by #312** (closed `b1f914d5`,
|
||||
2026-08-04). #312 made a cancelled park restore the presentation half as well
|
||||
as the Runtime half, which is the behaviour #309's connected check was written
|
||||
to probe. What remains genuinely open here is the narrower retail-faithfulness
|
||||
question: retail's `GotoLostCell` keeps a lost-cell object HIDDEN until
|
||||
`reenter_visibility` fires on cell arrival, whereas acdream re-shows it on the
|
||||
cancel. Re-scope before running; the original six-step gate is now partly
|
||||
**Status:** **DEFERRED as an ACCEPTED DIVERGENCE — user decision 2026-08-06.**
|
||||
The standing record is register row **AP-136**, which already carries the
|
||||
retail mechanism, the exact divergence, and the observable; this issue is no
|
||||
longer a planned fix and does not block the placement-cutover campaign or C5c.
|
||||
|
||||
Decision and its reasoning, so a successor does not silently re-litigate it:
|
||||
the retail-faithful end state is a park that SURVIVES cancellation, and that
|
||||
was implemented and reverted this round. Landing it costs (a) reversing a
|
||||
deliberate shipped invariant — `NewerPositionPickupAndParentEachCancelExactLostOperation`
|
||||
asserts that a newer Position cancels the park — and (b) `GameRuntime`
|
||||
teardown convergence (stage 10), where surviving parks never converge on
|
||||
shutdown. Weighed against an observable that requires a remote to teleport
|
||||
into a non-resident landblock **and then stop moving** (ACE stops
|
||||
broadcasting for a stationary entity; the ordinary 5–10 Hz case is
|
||||
superseded within ~150 ms), the cost is not currently worth paying. Revisit
|
||||
if the teardown-convergence work is done for another reason, or if the
|
||||
observable is reported in ordinary play.
|
||||
|
||||
**This deferral does NOT cancel the six-step connected check.** That check
|
||||
validates the SHIPPED rollback behaviour (#312 / AP-136's `restorableOnCancel`
|
||||
path, which sits in `SubmitPreparedPlacementCore` — the shared core behind
|
||||
every production placement), not the deferred fix. It still needs running with
|
||||
`ACDREAM_PROBE_PARK=1`, and therefore must run **before** the C5c probe strip
|
||||
retires that flag.
|
||||
|
||||
Prior status, retained for context: **largely superseded by #312** (closed
|
||||
`b1f914d5`, 2026-08-04). #312 made a cancelled park restore the presentation
|
||||
half as well as the Runtime half, which is the behaviour #309's connected check
|
||||
was written to probe. What remained genuinely open was the narrower
|
||||
retail-faithfulness question: retail's `GotoLostCell` keeps a lost-cell object
|
||||
HIDDEN until `reenter_visibility` fires on cell arrival, whereas acdream
|
||||
re-shows it on the cancel. Re-scope before running; the original six-step gate is now partly
|
||||
redundant.
|
||||
**Severity:** MEDIUM
|
||||
**Filed:** 2026-08-04
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue