diff --git a/docs/ISSUES.md b/docs/ISSUES.md index 5b39164b..1d99633e 100644 --- a/docs/ISSUES.md +++ b/docs/ISSUES.md @@ -39,6 +39,45 @@ confirmed closed by the owner, 11 need a focused live gate, and 43 are safe to remain closed. See [`docs/research/2026-08-28-owner-closed-issue-validity-audit.md`](research/2026-08-28-owner-closed-issue-validity-audit.md). +## #470 — Atmospheric ordered world draws use absolute transform indices for local sidecars + +**Status:** OPEN — found 2026-09-04 while auditing the S5-c3 graphical gate; +Campaign OVERHAUL v2 renderer-solid/G4 scope. The defect predates S5-c3 and is +present at least as far back as landed S4-c2 `252886e84`. + +**Evidence/mechanism:** `WbDrawDispatcher.PrepareOrderedStream` writes instance +transforms into the shared directional-shadow transform arena and offsets every +indirect command's `BaseInstance` by that arena prefix. `DrawOrderedRange` +nevertheless selects the ordinary `mesh_modern` pipeline. That shader indexes +the transform, alpha, selection-lighting, and light-set arrays with the same +absolute `gl_BaseInstance + gl_InstanceID`; unlike `mesh_atmospheric`, it does +not subtract push constant `TextureIndexB` for the locally based sidecar arrays. +The classic submit path already selects the atmospheric receiver pipeline and +binds its receiver uniforms correctly. A nonzero shadow prefix therefore makes +the ordered path read past its local sidecars and also bypasses the active +receiver shader contract. + +**Gate observation:** the S5-c3 run at +`logs/selfgate-20260904-223345-s5c3-building-degrade` was launched with the +persisted High atmospheric pack and shows the Holtburg shell intact but the +same-room player and sixteen independently authored EnvCell statics absent. +The older comparison is retail/off at a different framebuffer and unrecorded +camera pose, so that image is not causal proof. Installed DAT and production +code do prove the props are independent of c3: cell `0xA9B4013F` has 16 static +entries (15 Setup-backed and direct GfxObj `0x01000A2F`), while the house shell +is direct GfxObj `0x01000A2B`; ordinary cell records reach +`ClassifyEntityForWalk` without `buildingSelection`. + +**Bounded next step before G4:** first add a production-path command-recording +and offscreen-pixel proof with a deliberately nonzero transform-arena prefix, +distinct alpha/selection/light sidecars, and active/inactive atmospheric +receivers. Then repair ordered drawing to select/bind the same active receiver +contract as the classic path while preserving absolute transform lookup and +local sidecar lookup. Sabotage the receiver selection and the prefix subtraction +independently. Repeat a pinned-camera retail/off -> High -> retail/off graphical +A/B without movement or resize. This can be paired with #469's final graphical +route, but its code contract remains separate. + ## #469 — Atmospheric shadow-gate transition switches the whole outdoor lighting direction abruptly and can darken the world **Status:** OPEN — found 2026-09-04 by the S5-c2 lead graphical gate; Campaign diff --git a/docs/plans/2026-09-01-campaign-overhaul-world-solidity.md b/docs/plans/2026-09-01-campaign-overhaul-world-solidity.md index 0c277bc7..cf75e96e 100644 --- a/docs/plans/2026-09-01-campaign-overhaul-world-solidity.md +++ b/docs/plans/2026-09-01-campaign-overhaul-world-solidity.md @@ -691,8 +691,8 @@ Update immediately when a slice changes state. Chat is not the ledger. | S4-c3b | **LANDED 2026-09-04** — implementation `26e97ba41`, provenance contract `5110bf676`, packet-only correction `3f2f00c9f`; packet §22–§25. Dead classic-group `LocalSortCenters`/`CachedBatch.LocalSortCenter` storage and the alpha camera-parameter/digest chain are deleted. Live per-cell/particle CYpt keys, opaque `SortDistance`, building/private/portal distances, two FIFO lists, all state/barriers, and AP/AD rows remain. | **G3 LEAD SELF-GATE PROVISIONAL PASS; owner acceptance/owner-only rows pending. G4 UNPASSED.** | Retail/deletion lens PASS. Production lens found no code defect and one artifact-provenance omission; packet-only fix round 1 passed its narrow re-review. Fresh campaign: Release 0W/0E; App 132/132; Core 29/29; allocation 2/2 at 0 B; shader 32/32. G3: route 1 13/13, route 2 4/4, route 3 retry 3/3, all exit 0/graceful. The first route-3 attempt stopped before Nanto on registered #462. Exact PNG paths: packet §25. | | S5-c1 | **LANDED 2026-09-04 after the owner-authorized documentation/evidence exception.** Mandatory stop `efb075619` remains in history; final campaign tip `1718832e2`, reviewed scratch tip `b2d56f9e3`. | G4 UNPASSED | Narrow exception re-review PASS. Clean evidence: hermetic 16,760/16,760; inclusive InstalledDat 385 pass / the same documented 10 fail / 1 skip; both exact `d6592d3ac`, `WorktreeDirty=false`, manifests fully verified. Fresh campaign Release 0W/0E, Core 111/111, visibility 38/38, allocation/AP-116 4/4. Lead graphical portal-haze gate PROVISIONAL PASS, exit 0/graceful, 10 PNGs under `logs/selfgate-20260904-171137-s5c1-particle-visibility`; owner inspection pending. | | S5-c2 | **LANDED + REVIEW-CLOSED 2026-09-04; lead graphical gate PROVISIONAL PASS.** Campaign stack `a4de2efc4` -> `048027e71` -> `ef819eedf`; reviewed scratch tip `521f5edda54`; packet §§14–16. The opt-in IA-24 path borrows the exact prior-completed landscape set/flag, selects world casters through S2 CELLARRAY or building `EffectCellId`, selects authored terrain slots, and projects exact active instance runs without rebuilding retained topology. Pack-off remains unchanged. | G4 UNPASSED | Retail/deviation PASS; production's documentation-only fix round 1 narrowly re-reviewed PASS. Fresh campaign Release 0W/0E and affected 137/137. Official evidence: hermetic 16,768/16,768; broader InstalledDat 468 pass / 10 fail / 1 skip; canonical 385 pass / the same 10 fail / 1 skip; manifests and nonpassing identities exact. Valid lead gate `logs/selfgate-20260904-183925-s5c2-candidate-shadow-ab`: seven PNGs, exit 0, graceful logout, no fatal match, no client left. Exact parent `5c106bcdf` A/B at `s5-c2-ab-parent/logs/selfgate-20260904-183815-s5c2-parent-shadow-ab` proves the gate-visible dark lighting switch predates c2; #469/IA-24 carry it for resolution or explicit owner acceptance before G4. Owner PNG inspection pending. | -| S5-c3 | **IMPLEMENTED IN SCRATCH; RETAIL REVIEW PASS 3 PASS; PRODUCTION REVIEW PASS 4 FAIL; FIX ROUND 3 CONTRACTED 2026-09-04.** Packet §17 is the base contract; §§18–20 are bounded repairs. | G4 UNPASSED | Retail arithmetic, typed selection, complete-body gate/order, selected transform/surfaces, Config wiring, census, scope, and allocation paths pass. Production review found that nonzero ladder meshes lack ordinary landblock-lifetime ownership, normal walk frames do not rearm miss requests, and the exactly-once tick proof survives duplicate ticks. §20 bounds those lifecycle repairs and the discriminating order proof; narrow OpenAI production re-review pass 5 precedes landing. | -| S5 | IN FLIGHT — c1 and c2 landed/review-closed/provisionally self-gated; c3 fix round 3 contracted; c4–c5, #469 disposition, closeout, and G4 remain | G4 | Packet §§7 and 12–20 are binding; S5-c3's bounded lifecycle repair is next; never merge main before G4. | +| S5-c3 | **LANDED + REVIEW-CLOSED 2026-09-04** at `c673f767e` (reviewed scratch `01e5a15d0`; packet §§17–21). | **C3 SCOPE SELF-GATE PROVISIONAL PASS; whole-renderer finding #470 OPEN. G4 UNPASSED.** | OpenAI retail pass 3/10 PASS and production narrow re-review pass 5/10 PASS. Fix round 3 added ordinary landblock-lifetime ownership for every unique nonzero ladder GfxObj, rearmed walk-frame miss requests, and made the one-tick-before-BeginFrame proof discriminating. Fresh clean campaign: Release 0W/0E; focused 101/101; hermetic 16,811/16,811; InstalledDat 469 pass / the unchanged documented 10 fail / 1 skip; manifests 30/30. Self-gate `logs/selfgate-20260904-223345-s5c3-building-degrade` produced five PNGs, exited 0/gracefully, and left no client. The selected building shells are complete; the Holtburg frame also exposed pre-existing atmospheric ordered-draw sidecar defect #470, which is not a c3 regression and blocks renderer-solid/G4 until repaired. | +| S5 | IN FLIGHT — c1–c3 landed/review-closed/provisionally self-gated; c4–c5, #469/#470 disposition, closeout, and G4 remain | G4 | Packet §§7 and 12–21 are binding. Next: contract S5-c4's translucent-detail single-stage framebuffer equivalence; never merge main before G4. | --- diff --git a/docs/research/2026-09-01-overhaul/s5-consumers-material-closeout-packet.md b/docs/research/2026-09-01-overhaul/s5-consumers-material-closeout-packet.md index bee9814f..4c9c0af1 100644 --- a/docs/research/2026-09-01-overhaul/s5-consumers-material-closeout-packet.md +++ b/docs/research/2026-09-01-overhaul/s5-consumers-material-closeout-packet.md @@ -1496,3 +1496,68 @@ review pass 5/10 over §20 and the full corrected stack. Its PASS, together with retail pass 3, unlocks lead integration and the clean-HEAD graphical self-gate; any further code finding receives another bounded contract, with a hard stop before review pass 11. + +## 21. S5-c3 review closeout, landing, and lead graphical gate — 2026-09-04 + +OpenAI production narrow re-review pass 5/10 returned **PASS** with no finding. +The reviewer independently reproduced all five §20 mutations, named the first +failed assertion for each, restored all 41 changed paths byte-for-byte, and +re-ran Release plus focused ownership/publication evidence. OpenAI retail pass +3/10 remains the independent paired-executable/PDB verdict for the exact x87 +schedule and building-selection semantics. + +The reviewed scratch implementation is +`01e5a15d0b4efc73882634899bf5af500168fafe`; it landed on the campaign branch as +`c673f767e968a85a898b4a3aebb03781060efe06`. Fix round 3 now: + +- carries every unique nonzero ladder GfxObj as ordinary landblock-lifetime + ownership, distinct from prepared EnvCell ownership, with balanced + publication, replacement, retirement, failure, reset, and revisit edges; +- clears only `_missRequested` at each successful `BeginWalkPartFrame`, after + the double-open guard, so a miss deduplicates within one frame and rearms on + the next; and +- proves one degrade tick per accepted nonzero-area frame, zero on a rejected + zero-area frame, before `BeginFrame`, using nonuniform samples. + +Fresh clean-HEAD campaign evidence at `c673f767e`: + +- Release solution build: 0 warnings / 0 errors; +- exact focused campaign lane: 101/101; +- official hermetic artifact + `artifacts/s5-c3-campaign-hermetic-20260904`: 16,811/16,811, zero fail/skip, + `WorktreeDirty=false`, exact commit/branch, manifest 30/30; +- inclusive InstalledDat artifact + `artifacts/s5-c3-campaign-installed-inclusive-20260904`: 469 pass / the same + documented 10 fail / 1 skip, `WorktreeDirty=false`, exact commit/branch, + manifest 30/30. The nonpassing identities are unchanged: TowerAscent, the + main-game/chat-input and invisible-widget fixture drifts, Oh doorway first- + frame drift, and the six documented AlphaFlushCounts; the sweep look-in gate + remains the one documented skip. + +Before the lead launch, ACE was UP on UDP 9000 as PID 13340 and no acdream or +retail graphical client was running. Exactly one Release self-gate command ran +and closed its own client gracefully: + +`logs/selfgate-20260904-223345-s5c3-building-degrade` + +It produced `00-login.png`, `01-cathedral-stairs.png`, +`02-facility-stairs.png`, `03-holtburg-house.png`, and +`04-holtburg-terrain-leak.png`, exited 0, confirmed graceful logout, logged no +fatal/unhandled/device-lost error, and left no client process. Cathedral, +Facility, Holtburg shell geometry, and the terrace hill are intact. The c3 +selected-building scope is therefore **PROVISIONAL PASS pending owner +inspection**. + +The Holtburg screenshot is not a controlled old/new pixel comparison: the old +frame is retail/off at 1760x990 while this run starts with the persisted High +atmospheric pack at 1024x768, and neither records the exact camera eye. Static +DAT inspection nevertheless disproves a c3 part-zero explanation: cell +`0xA9B4013F`'s 16 props are independent EnvCell statics and ordinary cell +records never receive `buildingSelection`. + +That audit found a separate pre-existing production defect: ordered draws use +an absolute shared-arena transform base with the ordinary shader's locally +based alpha/selection/light sidecars and omit the active atmospheric receiver +pipeline/bindings. It exists at least at S4-c2 `252886e84`, is filed as #470, +and must be repaired before renderer-solid/G4. S5-c4 is next; #469/#470, c5, +the closeout program, and G4 remain. Nothing merges to `main` before G4.