docs(overhaul): close S5 c4 and narrow ordered sidecars

This commit is contained in:
Erik 2026-09-05 02:12:19 +02:00
parent 03a108ffa5
commit d43f6809b4
3 changed files with 117 additions and 45 deletions

View file

@ -39,49 +39,49 @@ 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).
## #471 — Production walk-ordered building detail is classified but never rendered
## #471 — Production walk-ordered building detail was classified but never rendered
**Status:** OPEN — confirmed 2026-09-04 by the S5-c4 production audit;
Campaign OVERHAUL v2 S5-c4 scope.
**Status:** DONE — fixed by Campaign OVERHAUL v2 S5-c4 at `03a108ffa`
(2026-09-05).
**Evidence/mechanism:** the production path is
**Prior mechanism:** the production path was
`RetailPViewRenderer.DrawWalkDrivenStatics``WalkFrameDriver.Replay`
`PrepareOrderedStream``DrawOrderedRange`. Detail-category commands are
uploaded and deliberately force solo merge runs, but
`WbDrawDispatcher.OrderedStream.cs` issues only the base-pipeline indirect draw.
Its file header still says the detail overlay was deferred. The classic
`SubmitRhi` path does perform the second detail replay. Consequently opaque and
ClipMap building shells drawn through the mandatory production walk omit their
detail material even while the setting and category texture are live. The
existing ordered submitter test proves only three base draws and therefore
does not detect the omission.
uploaded and deliberately forced solo merge runs, but the old
`WbDrawDispatcher.OrderedStream.cs` issued only the base-pipeline indirect draw.
Its file header said the detail overlay was deferred. The classic `SubmitRhi`
path instead performed a second detail replay. Consequently opaque and ClipMap
building shells drawn through the mandatory production walk omitted their
detail material even while the setting and category texture were live. The old
ordered submitter test proved only three base draws and did not detect the
omission.
**Bounded repair:** S5-c4 packet §22 replaces all base-plus-overlay detail with
retail's exact one-pass combined fragment. Arm that combine on the existing
walk-ordered solo base run and retain its original order, blend/depth/cull,
geometry, transform/sidecars, selected GfxObj, setting, sampler, and mip chain.
Do not add an overlay replay or a compensating terrain flush. Prove an ordered
ordinary → opaque-detail → ClipMap-detail → ordinary transcript, exact one draw
per source subset, setting/unavailable-category off rows, nonzero shared
transform prefix, and a pixel mutation that removes only the ordered arm.
**Resolution:** S5-c4 replaces the base-plus-overlay approximation with retail's
exact one-pass material and arms it on the existing ordered source draw. The
ordinary -> opaque-detail -> ClipMap-detail -> ordinary production transcript
proves one physical draw per subset, exact material state, unchanged order and
terrain flushes, neutral adjacent state, and both atmospheric receiver states.
Retail/material review pass 3/10 and production pass 5/10 are clean. The lead
recipe-10 graphical route captured 13/13 intact frames at
`logs/selfgate-20260905-020703-s5c4-onepass-detail` (provisional until owner
inspection).
## #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`.
**Status:** OPEN — NARROWED 2026-09-05 by S5-c4; Campaign OVERHAUL v2
renderer-solid/G4 scope. The residual 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.
indirect command's `BaseInstance` by that arena prefix. S5-c4 now correctly
selects the frame-aware ordinary/atmospheric ordered pipeline and binds the
active receiver resources, closing that half. It also publishes the prefix as
push `TextureIndexB`. The remaining ordinary `mesh_modern.vert` path still
indexes locally based alpha, selection-lighting, light-set, indoor, and detail
sidecars with the absolute `gl_BaseInstance + gl_InstanceID`; unlike
`mesh_atmospheric`, it does not subtract `TextureIndexB`. A nonzero shadow
prefix can therefore still read past those local arrays.
**Gate observation:** the S5-c3 run at
`logs/selfgate-20260904-223345-s5c3-building-degrade` was launched with the
@ -94,15 +94,15 @@ 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.
**Bounded next step before G4:** add a production-path command-recording and
offscreen-pixel proof with a deliberately nonzero transform-arena prefix and
distinct alpha/selection/light/indoor/detail sidecars. Repair only the ordinary
shader index split: preserve the absolute index for the shared transform array,
but subtract `TextureIndexB` for every locally based sidecar, matching the
already-correct atmospheric shader. Sabotage each index domain independently
and preserve active/inactive receiver selection/binding. Repeat a pinned-camera
retail/off -> High -> retail/off graphical A/B without movement or resize. This
can share #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

View file

@ -692,8 +692,8 @@ Update immediately when a slice changes state. Chat is not the ledger.
| 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 §§1416. 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 | **LANDED + REVIEW-CLOSED 2026-09-04** at `c673f767e` (reviewed scratch `01e5a15d0`; packet §§1721). | **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-c4 | **IMPLEMENTED; RETAIL PASS 3/10 PASS, FULL PRODUCTION PASS 4/10 FAIL; FIX ROUND 3 CONTRACTED 2026-09-05** in packet §25. Scratch stack `91fb80de6` -> `70751ef0e` -> `472dc4fb7` remains unlanded. | G4 UNPASSED | Fix round 2 correctly adds depth-write-ON siblings for all five alpha-tested blend families; clean hermetic 16,964/16,964 and InstalledDat 469/10/1. The retail lens found no issue. The full production lens found one P2: the classic/private detail-off arm changed from the prior unconditional AlphaBlend/coalesced run to raw blend-family pipelines and split runs. §25 restores only that frozen path, keeps detail-active exact material state, and preserves c4's valid receiver-half narrowing of #470. Narrow production pass 5/10 follows; nothing lands or launches yet. |
| S5 | IN FLIGHT — c1c3 landed/review-closed/provisionally self-gated; c4 fix round 3 contracted; c5, #469/#470 disposition, closeout, and G4 remain | G4 | Packet §§7 and 1225 are binding. Next: implement S5-c4 fix round 3 on `472dc4fb7`, narrow production review, integrate and self-gate c4; never merge main before G4. |
| S5-c4 | **LANDED + REVIEW-CLOSED 2026-09-05; LEAD GRAPHICAL GATE PROVISIONAL PASS.** Campaign stack `75664805f` -> `15ed57a1e` -> `d5cfd1c91` -> `03a108ffa`; reviewed scratch tip `db8136448`; packet §§2226. | G4 UNPASSED | Retail/material pass 3/10 PASS. Full production pass 4/10 found one classic/private detail-off regression; fix round 3 restored the prior AlphaBlend/coalescing path, and narrow production pass 5/10 PASS reproduced all three mutations. Fresh campaign Release 0W/0E, App 245/245, Content 71/71; scratch hermetic 16,971/16,971 and InstalledDat 469/10/1 with both manifests 32/32. Full recipe-10 bake: 2,237,865 keys, zero failures, SHA `4E0FA6C5…29B59B`. Gate `logs/selfgate-20260905-020703-s5c4-onepass-detail`: 13/13 PNGs, exit 0, graceful, no client left; visual PASS provisional. #471 DONE; #470 narrowed to local-sidecar indexing. |
| S5 | IN FLIGHT — c1c4 landed/review-closed/provisionally self-gated; #470, #469, c5, closeout, and G4 remain | G4 | Packet §§7 and 1226 are binding. Next: repair #470's remaining ordered local-sidecar index under a bounded contract and pinned graphical A/B; then #469, c5 cleanup, closeout, and G4. Never merge main before G4. |
---

View file

@ -1,7 +1,7 @@
# Campaign OVERHAUL v2 — S5 consumers, material, and closeout packet
**Status:** S5-c1 through S5-c3 LANDED + REVIEW-CLOSED with lead graphical
gates PROVISIONAL PASS; S5-c4 is contracted under §22.
**Status:** S5-c1 through S5-c4 LANDED + REVIEW-CLOSED with lead graphical
gates PROVISIONAL PASS; #470, #469, S5-c5, closeout, and G4 remain.
**Branch:** `claude/campaign-w-retail-frame-walk`.
**Gate:** G4 remains unpassed. Nothing merges to `main` before G4.
@ -2244,3 +2244,75 @@ gate-honesty pass 5/10 over this finding and its non-change boundary; no new
retail lens is required. A PASS unlocks landing the complete c4 stack and its
lead graphical gate. A FAIL receives another bounded contract within the
owner-authorized ten-pass limit. Nothing lands or launches before that result.
## 26. S5-c4 landing, review closeout, and lead graphical gate — 2026-09-05
S5-c4 is **LANDED + REVIEW-CLOSED**. The reviewed scratch stack maps to the
campaign branch as follows:
1. one-pass detail material `91fb80de6` -> `75664805f`;
2. resolved SetSurface material state `70751ef0e` -> `15ed57a1e`;
3. alpha-tested blended depth-write variants `472dc4fb7` -> `d5cfd1c91`; and
4. classic/private detail-off restoration `db8136448` -> `03a108ffa`.
Retail/material pass 3/10 returned PASS after independently checking the named
decomp, paired executable/PDB bytes, all five blend families, Clip references,
Translucent override, fog, depth-write rule, real descriptors, register truth,
and three mutations. Full production pass 4/10 found only §25's reachable
classic/private detail-off regression. Fix round 3 changed exactly one
production method plus its real-path transcript tests. Narrow production pass
5/10 reproduced all three mutations and returned PASS with no finding. C4's
frame-aware ordered receiver selection/binding is retained; #470 is narrowed,
not closed, because the ordinary shader's local-sidecar index is still wrong.
The campaign `src`/`tests` tree at `03a108ffa` is byte-identical to reviewed
scratch `db8136448`. Fresh campaign verification passed: Release solution build
0 warnings / 0 errors; focused App material/ordered/EnvCell/shader suite
245/245; focused Content extraction/serialization/package suite 71/71. The
authoritative scratch artifacts remain exact, clean `db8136448`: hermetic
16,971/16,971 with manifest 32/32; InstalledDat 469 pass / the unchanged ten
accepted failures / one accepted skip with manifest 32/32.
Because the existing self-gate package was recipe 8, the lead did not launch
against stale prepared content or overwrite it. A separate full recipe-10 bake
from the campaign Release binary completed in 30.8 seconds with zero failures:
2,237,865 keys, 786,891 physical blobs, 597,482,264 bytes, SHA-256
`4E0FA6C589ECE12E13099A56385077964961EC52F888BC9161C6F5D34829B59B`.
It is
`artifacts/s5-c4-recipe10-full-20260905/acdream.pak`; header format 2 / recipe
10, TOC count 2,237,865. The gate session points only at this separate package.
The lead graphical gate is **PROVISIONAL PASS pending owner inspection**.
Before launch, ACE was listening on UDP 9000 as `ACE.Server.exe` PID 13340;
neither acdream nor retail client was running; the campaign worktree was clean;
and the Release build above was green. Exactly one Release client ran
`tools/overhaul-selfgate/route-g3.txt` with Building Detail Textures enabled
and the High atmospheric pack. It exited 0 through the route's own
`close-client`, logged `graceful logout confirmed`, and left no client process.
The log contains no fatal, unhandled, device-lost, or validation failure.
Evidence root:
`logs/selfgate-20260905-020703-s5c4-onepass-detail`.
All 13 requested 1024x768 PNGs were produced:
1. `artifacts/screenshots/00-login.png`;
2. `artifacts/screenshots/01-cathedral-stairs.png`;
3. `artifacts/screenshots/02-facility-stairs.png`;
4. `artifacts/screenshots/03-holtburg-house.png`;
5. `artifacts/screenshots/04-holtburg-terrain-leak.png`;
6. `artifacts/screenshots/05-cathedral-south-0106.png`;
7. `artifacts/screenshots/06-cathedral-south-0104.png`;
8. `artifacts/screenshots/07-cathedral-stairs-0107.png`;
9. `artifacts/screenshots/08-cathedral-stairs-0112.png`;
10. `artifacts/screenshots/09-cathedral-terrace-edge.png`;
11. `artifacts/screenshots/10-facility-015E.png`;
12. `artifacts/screenshots/11-facility-015F.png`; and
13. `artifacts/screenshots/12-nanto-falls.png`.
Lead inspection finds detailed cathedral, Facility, Holtburg, terrain, and
waterfall surfaces present; the player and expected shells/slabs/props remain
whole; and no new double-draw ghost, alpha/depth inversion, stale detail arm,
terrain bleed, or missing waterfall is visible. The separate known #469
lighting transition and #470 local-sidecar defect remain G4 blockers and are
not waived by this scope gate. #471 is closed by the ordered one-pass arm.
Nothing has merged to `main`.