docs: close the placement cutover ledger — #280 user-passed, remaining gates NOT RUN

Campaign closed by user direction after the #280 connected gate passed.

GATE RESULT. #280 user-accepted: "now portal space takes longer but terrain is
complete when I exit" — both halves of the specified criteria, a measurably
longer hold and a complete destination on reveal. Probe evidence: three Portal
reveals plus a Login reveal, every one at radius=12 where pre-fix it was a
hardcoded 1, each portal hold raising the wait cue at ~5.0 s before completing.

An accidental but genuine A/B came out of the same session. An earlier run set
ACDREAM_PROBE_REVEAL_RADIUS=1 — that variable is a radius VALUE, not an on/off
flag — which forced the pre-fix window. The user saw the original defect under
it and not under radius=12. That is the before/after pair the gate asked for,
obtained by mistake. Recorded prominently because the same mistake would
silently reproduce the bug for the next person.

WHAT IS NOT CLAIMED. The ledger closes with most connected gates outstanding
BY USER DIRECTION, not because they were discharged: D-1's two reachability
scenarios, AP-136's six-step park protocol, route-7 thickening (the
remote-teleport probe recorded ZERO lines), the two-client observation, the
nine-stop soak, and the lifecycle/reconnect route. The closeout's section 2.6
is a table of exactly this, and both the campaign plan banner and this commit
say that anyone citing "the campaign passed" must cite it alongside.

THE PROBE FAMILY IS DELIBERATELY NOT STRIPPED. Closing the campaign would
normally retire the six ACDREAM_PROBE_* flags, but their gates were never run,
and stripping now would delete precisely the instrumentation those owed gates
need — the failure the handoff's own rule exists to prevent. Honouring that
rule means not stripping even though the campaign is closing.
ACDREAM_PROBE_REVEAL_RADIUS is also kept despite #280 closing, because AP-149
and #326 are open and would both want the same A/B harness.

#280 is marked CLOSED in ISSUES with its gate evidence, and its residual
AP-149 is restated there: our outer ring accepts terrain-only readiness where
retail's PreFetchCells also requires each landblock's LandBlockInfo and every
building's EnvCells, so distant SCENERY may still fill in after reveal even
though terrain does not. Not folded in — it costs further hold time and is a
game-feel call.

Memory updated with the campaign's closed state and the follow-up order:
#331 first, then AP-152, #330, AD-65.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-08-06 11:05:49 +02:00
parent 1304dafa8b
commit 0d62a5ffeb
3 changed files with 111 additions and 7 deletions

View file

@ -1923,8 +1923,26 @@ it. Do #297 FIRST — #298 depends on it.
entity cell. Spell buffs, recalls, arrows, and combat spell projectiles were entity cell. Spell buffs, recalls, arrows, and combat spell projectiles were
verified in the connected client; focused effect, projectile, and verified in the connected client; focused effect, projectile, and
cell-transition tests cover the race. Landed at `f24532ad`. cell-transition tests cover the race. Landed at `f24532ad`.
- **#280FIXED (2026-08-05), pending the batched C5c connected/visual gate — - **#280CLOSED 2026-08-06, user-accepted at the C5c connected gate —
portal reveal could expose an incompletely streamed distant landscape.** portal reveal could expose an incompletely streamed distant landscape.**
**Gate result:** *"now portal space takes longer but terrain is complete when
I exit"* — both halves of the specified criteria (a measurably longer hold,
and a complete destination on reveal). Probe evidence in
`c5c-gate-after2.log`: three Portal reveals plus a Login reveal, **every one
at `radius=12`** where pre-fix it was a hardcoded `1`, each portal hold
raising the wait cue at ~5.0 s before completing. An accidental but genuine
A/B was obtained in the same session: an earlier run set
`ACDREAM_PROBE_REVEAL_RADIUS=1` — that variable is a radius **value**, not an
on/off flag — which forced the pre-fix window, and the user observed the
original defect under it and not under `radius=12`.
**Fixed across `3aab05b0` (derivation), `73cdb95c` (D-1, an unrecoverable
portal hang found by review), `bcb66ccd` (the atlas-tier seam its fix
depends on).** Residual **AP-149** stays open: our outer ring accepts
terrain-only readiness where retail's `PreFetchCells` also requires each
landblock's `LandBlockInfo` and every building's EnvCells — so distant
*scenery* may still fill in after reveal even though terrain does not.
Deliberately not folded in; it costs further hold time and is a game-feel
call. Historical description follows.
User-observed 2026-08-03: after some recalls, the nearby destination is User-observed 2026-08-03: after some recalls, the nearby destination is
playable but terrain near the far end of the view continues visibly building playable but terrain near the far end of the view continues visibly building
after portal space exits. **Premise correction (the original text named a after portal space exits. **Premise correction (the original text named a

View file

@ -1,5 +1,28 @@
# Placement production cutover — campaign plan (2026-08-02) # Placement production cutover — campaign plan (2026-08-02)
> ## ✅ CAMPAIGN LEDGER CLOSED — 2026-08-06, by user direction
>
> Every slice is landed and dual-reviewed: **C0C4**, **C5a**, **C5b**
> (#275; retired AP-131 + AD-60's legacy half), **#280** (portal destination
> prefetch, user-accepted at its connected gate), **#276's remainder**,
> **AP-22** and **AD-10** (both retired). **#309** was accepted as a standing
> divergence rather than fixed. Final gate: complete Release suite from a
> clean build, **11,196 passed / 4 skipped / 0 failed** — campaign net +90
> from 11,106.
>
> **The ledger closes with connected gates outstanding, by user direction —
> not because they were discharged.** Only #280's reveal gate was run and
> passed. D-1's two reachability scenarios, AP-136's six-step park protocol,
> route-7 thickening, the two-client observation, the nine-stop soak and the
> lifecycle/reconnect route were **NOT RUN**; the probe family is
> **deliberately NOT stripped** for that reason. Anyone citing "the campaign
> passed" must cite §2.6 of the closeout alongside it:
> [`2026-08-06-c5c-closeout-handoff.md`](../research/2026-08-06-c5c-closeout-handoff.md).
>
> Follow-ups generated and filed rather than folded in: **#325**, **#330**,
> **#331**, **#332**, **AP-149**, **AP-152**, **AD-65**, **AD-66**. Start with
> **#331**.
The final leg of the remaining physics-divergence campaign before AP-22 and The final leg of the remaining physics-divergence campaign before AP-22 and
AD-10: route graphical AND headless production placement through the AD-10: route graphical AND headless production placement through the
residence + continuation-executor owner (`38fd4b8d` / `30012361` / residence + continuation-executor owner (`38fd4b8d` / `30012361` /

View file

@ -69,6 +69,50 @@ Net movement across the campaign: 11,106 at `02578441` → **11,196**, +90.
--- ---
## 2.6 Connected gate — #280 USER-PASSED 2026-08-06; the rest NOT RUN
**#280's reveal gate: PASS, user-accepted.** User's words: *"now portal space
takes longer but terrain is complete when I exit."* Both halves are the
criteria the gate specified — a measurably longer hold (the fix doing its job)
and a complete destination on reveal (the acceptance).
Probe evidence, `ACDREAM_PROBE_PARK=1`, retail UI, Release, `ACDREAM_STREAM_RADIUS`
unset (`c5c-gate-after2.log`):
- **Three Portal reveals plus a Login reveal, every one at `radius=12`.**
Pre-#280 this was a hardcoded `1`.
- Each portal hold raised the wait cue at ~5.0 s (`elapsedMs=5031 / 5000 /
5010`) before `materialized → world-visible → complete`.
- Generation 4 revealed cell `0x3032001C` — the same cell as generation 1's
login, i.e. a repeat visit to an already-seen landblock.
- The park path was exercised (95 `[park...]` lines).
**An accidental but genuine A/B.** An earlier run in the same session set
`ACDREAM_PROBE_REVEAL_RADIUS=1`, which is a radius VALUE, not an on/off flag —
so it forced the pre-fix window. The user observed the original defect
(landscape building in the background) with `radius=1` on every probe line, and
did not observe it with `radius=12`. That is the before/after pair the gate
asked for, obtained by accident. **Successors: this probe overrides the radius;
it does not merely enable logging.**
### NOT RUN — do not read this section as gate coverage
| Owed gate | Status |
|---|---|
| D-1's two reachability scenarios (double-recall to the same landblock with a walk between; mid-hold quality-preset drop) | **NOT RUN.** Generation 4's repeat visit is suggestive but is not the demote path D-1 needs. |
| AP-136's six-step park check | **NOT RUN as the six-step protocol.** The probe fired 95 times incidentally; that is not the check. |
| Route-7 thickening | **NOT RUN**`ACDREAM_PROBE_REMOTE_TELEPORT` recorded **0** lines; no remote teleport occurred. |
| Two-client observation | **NOT RUN** |
| Canonical nine-stop soak | **NOT RUN** |
| Lifecycle/reconnect route on the final binary | **NOT RUN** |
| AD-65 / AD-66 local-player visual gate | **NOT RUN** |
The campaign ledger closes with these outstanding **by user direction**, not
because they were discharged. Anyone citing "C5c passed" must cite §2.6's table
alongside it.
---
## 3. WHAT C5C STILL OWES — all of it needs the user ## 3. WHAT C5C STILL OWES — all of it needs the user
Nothing below can be discharged without a live client. The automated half is Nothing below can be discharged without a live client. The automated half is
@ -97,12 +141,31 @@ complete.
### 3.2 Then, and only then ### 3.2 Then, and only then
**The probe strip.** Six flags — `ACDREAM_PROBE_REMOTE_LANDING`, **The probe strip — DEFERRED 2026-08-06, deliberately, and the ledger closes
`ACDREAM_PROBE_REMOTE_SLIDE`, `ACDREAM_PROBE_PARK`, without it.**
`ACDREAM_PROBE_REMOTE_TELEPORT`, `ACDREAM_PROBE_CHILD_CELL`,
`ACDREAM_PROBE_LOCAL_TELEPORT` — plus `ACDREAM_PROBE_REVEAL_RADIUS`. Six flags — `ACDREAM_PROBE_REMOTE_LANDING`, `ACDREAM_PROBE_REMOTE_SLIDE`,
**Strip as a family, and NOT before the gates above have consumed them.** `ACDREAM_PROBE_PARK`, `ACDREAM_PROBE_REMOTE_TELEPORT`,
Stripping first would delete the instrumentation §3.1's items depend on. `ACDREAM_PROBE_CHILD_CELL`, `ACDREAM_PROBE_LOCAL_TELEPORT` — plus
`ACDREAM_PROBE_REVEAL_RADIUS`.
**Not stripped, because §2.6's table says their gates were never run.** Only
#280's reveal gate was discharged. Route-7 thickening recorded zero
remote-teleport lines; AP-136's six-step park protocol was not performed; the
two-client observation, nine-stop soak and lifecycle/reconnect route did not
happen. Stripping the family now would delete exactly the instrumentation
those still-owed gates need, which is the failure this section was written to
prevent — so honouring it means *not* stripping, even though the campaign is
closing.
`ACDREAM_PROBE_REVEAL_RADIUS` is kept too, despite #280 being closed: **AP-149**
(outer ring accepts terrain-only) and **#326** (the missing Viewing Distance
option) are both open and both would want the same A/B harness. Retiring it now
would mean rebuilding it.
**Successor:** strip the family when the §2.6 gates are actually run, not on a
calendar. Note again that `ACDREAM_PROBE_REVEAL_RADIUS` is a radius **value**,
not a boolean — setting it to `1` silently reproduces the pre-#280 defect.
### 3.3 Then close the ledger ### 3.3 Then close the ledger