docs(overhaul): close S4 chunk 2 landing
This commit is contained in:
parent
252886e84f
commit
d8c88adeb0
3 changed files with 109 additions and 26 deletions
|
|
@ -1,11 +1,10 @@
|
|||
# Campaign OVERHAUL v2 — hand-off at S4 chunk 2 owner-authorized repair (2026-09-04)
|
||||
# Campaign OVERHAUL v2 — hand-off after S4 chunk 2 landing (2026-09-04)
|
||||
|
||||
**2026-09-04 owner override:** the §13 stop remains the audit record, but the
|
||||
owner explicitly replied “Ok do fix it.” Packet §14 is now the binding,
|
||||
one-attempt repair contract on clean evidence commit `c4cbc1d0d` in
|
||||
`s4-c2-impl`. The implementation remains UNLANDED; the campaign branch still
|
||||
contains S4-c1 renderer code `766f9e749`. Read packet §§13–14 and this file's
|
||||
§3 before any stale “review then land” instruction below.
|
||||
**2026-09-04 current state:** the §13/§15 stops and packet §16 attempts remain
|
||||
the audit record. Owner-authorized attempt 2 passed both sequential reviews
|
||||
and the complete S4-c2 stack is LANDED on the campaign branch through
|
||||
`252886e84`. Packet §17 and this file's §3 are binding; earlier “review then
|
||||
land” instructions are history only. G3/G4 remain unpassed.
|
||||
|
||||
## 0. Read order
|
||||
|
||||
|
|
@ -44,10 +43,10 @@ contains S4-c1 renderer code `766f9e749`. Read packet §§13–14 and this file'
|
|||
| Item | Value |
|
||||
|---|---|
|
||||
| Worktree | `C:\Users\erikn\source\repos\acdream\.claude\worktrees\peaceful-blackburn-5333f0` |
|
||||
| Branch | `claude/campaign-w-retail-frame-walk`; docs tip = the commit carrying this file, **latest renderer code ON THE BRANCH `766f9e749`** (S4 chunk 1); clean. Chunk 2 code is in `s4-c2-impl` only (§3). |
|
||||
| Branch | `claude/campaign-w-retail-frame-walk`; S4-c2 renderer stack LANDED as `89f1e2676`, `9ccb61a8e`, `0aa166aa0`, `252886e84`; clean before this ledger update. |
|
||||
| Base | `origin/main` `e102fb36` (2026-08-29); ~275 commits ahead; **nothing merges to main before G4** |
|
||||
| Dev pak | `%USERPROFILE%\Documents\Asheron's Call\acdream.pak`, bake recipe 8 |
|
||||
| Release binary | `src\AcDream.App\bin\Release\net10.0\AcDream.App.exe` built at `766f9e749` |
|
||||
| Release binary | `src\AcDream.App\bin\Release\net10.0\AcDream.App.exe` built and graphically gated at `252886e84` |
|
||||
| ACE | `127.0.0.1:9000`, `testaccount` / `testpassword`, character `+Acdream`; was UP from ~08:00 on 2026-09-04 (the owner started it). Check `netstat -an -p UDP \| grep 9000` before assuming. Only the owner starts it. |
|
||||
| Retail client for captures | `C:\Users\erikn\Downloads\acclient.exe` (2013 v11.4186, pairs with `refs/acclient.pdb`); the Turbine folder's exe (2015) does NOT pair |
|
||||
|
||||
|
|
@ -55,8 +54,8 @@ Scratch worktrees (detached):
|
|||
|
||||
| Worktree | At | Purpose |
|
||||
|---|---|---|
|
||||
| `s4-c2-impl` | `c4cbc1d0d` (final fix round) on `cc8e5677a` on `048d5b12f` on `766f9e749`; clean | owner-authorized bounded repair from packet §14; still do not land before dual review PASS |
|
||||
| `s4-c1-impl` | `9ba8f013e` | S4-c1 baseline BINARY, built (Release App + Cli) for the landing soak A/B; keep until S4-c2 lands |
|
||||
| `s4-c2-impl` | `daaeab0ba` on `c4cbc1d0d` / `cc8e5677a` / `048d5b12f`; clean | retained immutable review source for landed attempt 2; both sequential lenses PASS |
|
||||
| `s4-c1-impl` | `9ba8f013e` | retained S4-c1 baseline binary and same-session stationary-soak evidence |
|
||||
| `s2-final-ab` | `78068b2c` | S2-final binary for same-session perf A/B (keep) |
|
||||
| `s3-review-fix` | `6575cfcee` | pre-S4 control build; stalls at the foundry login (#462) — not usable as a control |
|
||||
| `464-ab`, `mouselook-verb` | — | done with; removable |
|
||||
|
|
@ -97,20 +96,16 @@ every deviation gets a register row in the same commit.
|
|||
chamber; the zoomed-out FRONT view from the stairwell (hall arches + sky);
|
||||
#458's far-block admission (AD-118, 0.5 % edge-plane precision).
|
||||
|
||||
## 3. S4 chunk 2 — owner attempt 2/5 ACTIVE, still UNLANDED
|
||||
## 3. S4 chunk 2 — LANDED after owner attempt 2/5
|
||||
|
||||
**Binding current state (supersedes the historical procedure later in this
|
||||
section):** clean unlanded implementation `a094bf2b7` is behaviorally
|
||||
retail-faithful but failed its first review on the evidence/prose findings in
|
||||
packet §15. The owner authorized up to five more attempts. Attempt 1 produced
|
||||
the correct five-file prose diff but its shader freshness gate failed 31/32:
|
||||
the required `mesh_detail.vert` comment changes the manifest source hash, while
|
||||
the contract forbade refreshing that artifact. Packet §16.2 records the stop
|
||||
and is attempt 2/5's binding contract: retain the prose diff, run the shader
|
||||
compiler once, permit only the manifest and paired vertex SPIR-V mechanical
|
||||
closure, prove no shader instruction change, then let the lead amend and run
|
||||
both reviews sequentially. Nothing lands or graphically gates before dual
|
||||
PASS. The campaign renderer remains S4-c1 `766f9e749`; G3/G4 remain unpassed.
|
||||
**Binding current state:** owner-authorized attempt 2 closed the evidence/
|
||||
shader-manifest contract conflict without changing shader instructions.
|
||||
The reviewed implementation is `daaeab0ba`; the complete campaign stack is
|
||||
`89f1e2676` → `9ccb61a8e` → `0aa166aa0` → `252886e84`. Retail/evidence PASS
|
||||
preceded production/gate-honesty PASS. Fresh campaign build, focused, shader,
|
||||
allocation, graphical, and same-session stationary A/B gates pass as recorded
|
||||
below and in packet §17. Three of the five additional attempts remain unused.
|
||||
S4-c2 is closed; next is a fresh S4-c3 deletion contract from landed code.
|
||||
|
||||
**Historical state before the final round (kept for audit; do not execute its
|
||||
landing procedure):**
|
||||
|
|
@ -134,12 +129,28 @@ What `cc8e5677a` did, per the implementer's report (verify each claim against th
|
|||
- Gates the implementer reports: Release 0 warnings; hermetic 6,864/6,864; InstalledDat 255 pass / 10 fail (4 pre-existing + 6 `AlphaFlushCounts_*`) / 1 skip; shaders 32/32; the six focused classes 120/120. Mutation checks with failing text are in the commit body (`git -C <s4-c2-impl> log -1 --format=%B`).
|
||||
- **Lead reproduction on `cc8e5677a` (2026-09-04 12:15):** `dotnet build AcDream.slnx -c Release` → 0 Error(s); hermetic App lane → `Passed! - Failed: 0, Passed: 6864, Skipped: 0, Total: 6864`. The InstalledDat lane, the shader classes and the focused classes were NOT re-run by the lead — the review lens does that.
|
||||
|
||||
**What is left on chunk 2, in order:**
|
||||
**Historical landing procedure (completed; audit only):**
|
||||
|
||||
1. **Review round 1 of `cc8e5677a`** — two lenses (Opus, or the session model if Opus 529s): (a) retail-faithful, narrowed to M1's `CheckAlphaValues`/`SetTranslucencySimple` rule and reachability, M3's row-1 immediate path vs `DrawBuilding` @0x0059f2a0 (`curr_detail_surface` set @0x0059f2eb, cleared @0x0059f345; replay `detailEnabled = 0`), M6's `DrawEnvCell` @0x0059f170 detail rule, the router inputs at all three sites, A1's claim that nothing opaque draws between the deleted drain and the pass-end flush; (b) production/gate-honesty: reproduce every gate line, re-perform ≥3 mutation checks, check every sentence of the commit body and packet §10 against the tests, the immediate-draw paths' allocation, the register rows AP-238/239/240 + AD-120 for accuracy (AP-240's consequence text; AD-120's adaptation is honest), no file outside the allowed set. **The lead verifies every finding at the source before acting.** The prompts for both lenses are in this session's transcript (search `LENS = RETAIL FAITHFULNESS` and `LENS = PRODUCTION SAFETY + GATE HONESTY`) — reuse them narrowed to the round-1 diff.
|
||||
2. PASS → **land** (procedure below). FAIL → **fix round 2 = the LAST** (write it as packet §12; a third round STOPS the chunk and is written up in the ledger).
|
||||
3. **Landing:** cherry-pick `048d5b12f` then `cc8e5677a` onto the campaign branch — the packet conflicts (the worktree's copy has §10 + a "§11 result" paragraph under §10; the campaign's copy has §11/§11.1); resolve by keeping §10 (with its result paragraph) BEFORE §11. Then: Release build 0 warnings; hermetic lane; InstalledDat lane (expect the four known failures + the six `AlphaFlushCounts_*`, nothing else; the six `AlphaFlushSites_*` must PASS there); shader classes; the validation-on self-gate (`route.txt` four poses, then `route-g3b.txt`; one run per background command) diffed against `logs/selfgate-20260903-234934-s4c1-landed-route2` and `logs/selfgate-20260904-062148-g3b-tip-a2` (Facility left-wall mean RGB ≈ (79,20,25) = panels present); a STATIONARY-phase soak A/B against the S4-c1 binary already built in `s4-c1-impl` (`tools/run-connected-r6-soak.ps1 -SkipBuild -PreparedAssetPath "$env:USERPROFILE\Documents\Asheron's Call\acdream.pak"` on the tip, then `-Repository <s4-c1-impl> -SkipBuild`; same Windows session type; judge `stationary` only — #463). Then the §13 S4 row, the digest, and remove `s4-c2-impl`/`s4-c1-impl`.
|
||||
|
||||
**Landing result:** attempt 2 retained the exact prose fixes, refreshed only
|
||||
`shaders.manifest.json`, and proved `mesh_detail.vert.spv` byte-identical
|
||||
(SHA-256 `5346247ab7d606046943e19b28888c814e08dc6cb27cd9750096ac055457eb57`).
|
||||
Lead gates: Release 0W/0E; shader 32/32; affected 37/37; real production
|
||||
allocation 2/2 at 0 B; focused production 239/239. The official no-retry
|
||||
14-assembly lane was 16,734 pass / 1 fail: the unchanged global `Console.Out`
|
||||
capture race in `WalkFrameDriverTests`; its exact theory passed 2/2 isolated.
|
||||
InstalledDat was 255 pass / 10 documented fail / 1 skip. Validation-on routes
|
||||
`logs/selfgate-20260904-115818-s4c2-landed-route` and
|
||||
`logs/selfgate-20260904-120025-s4c2-landed-g3b` pass provisionally; every PNG
|
||||
is listed in packet §17. The first tip soak failed before sampling on known
|
||||
#461/#462; the retry and the S4-c1 control both passed 9/9 with graceful exits.
|
||||
Stationary tip-minus-control averages: CPU p95 −0.01 ms, GPU p95 +0.16 ms,
|
||||
allocation p50 +1.2 KiB, update p95 −0.12 ms, working set −24.6 MiB, private
|
||||
memory −17.7 MiB. G3/G4 remain unpassed.
|
||||
|
||||
**Known residuals that survive chunk 2 (registered, not bugs to chase now):** AP-240 (the CLIP list is fed only by clip-mapped mesh particles — every other clip-mapped subset is alpha-to-coverage opaque), AP-238 (EnvCell one-token-per-cell granularity), AP-239 (the Translucent+ClipMap mask collapse; one real instance), AD-120 (immediate translucent draw at the entity's stream mark rather than in place), AD-119 (portal-depth ColorWrite off vs zero-alpha blend). The `AlphaFlushCounts_*` Facts stay KnownFailure by construction (harness content + per-instance vs per-subset + AP-240); a content-bearing gate would be S5 evidence work only if a slice needs it.
|
||||
|
||||
## 4. After chunk 2
|
||||
|
|
|
|||
|
|
@ -1108,3 +1108,74 @@ the artifact closure and amends the unlanded implementation commit with all
|
|||
fourteen mutation names/first failures. Then review attempt 2 sequentially,
|
||||
retail/evidence first and production/gate second. A finding consumes attempt 2;
|
||||
three further attempts remain.
|
||||
|
||||
## 17. Attempt 2 landing result (2026-09-04)
|
||||
|
||||
Attempt 2 retained the five evidence/comment fixes from §16.1 and refreshed
|
||||
only `src/AcDream.App/Rendering/Shaders/spv/shaders.manifest.json` after the
|
||||
one permitted compiler run. `mesh_detail.vert.spv` remained byte-identical:
|
||||
SHA-256 `5346247ab7d606046943e19b28888c814e08dc6cb27cd9750096ac055457eb57`,
|
||||
Git blob `5ae4f2379167f739f297d2f00189901e29d5e412`. The lead amended the
|
||||
implementation evidence to name all fourteen mutations and their actual first
|
||||
assertions; final reviewed implementation commit: `daaeab0ba`.
|
||||
|
||||
The sequential retail/evidence lens PASSED first. It independently confirmed
|
||||
the paired PDB/executable GUID `{9e847e2f-777c-4bd9-886c-22256bb87f32}` age 1
|
||||
and the required bytes: blend IDs 2/6 at `0x0059C72A`/`0x0059C72F`, alpha-test
|
||||
enable at `0x0059C821`, `GREATER_EQUAL` at `0x0059C838`, and depth-write at
|
||||
`0x0059C866`. Whole-leaf exclusion, `0x08`/`0x09` CLIP, row-3 override false,
|
||||
references/sentinel/detail/ALPHA/rollback/particles/register all passed. The
|
||||
production/gate-honesty lens then PASSED: real production reachability,
|
||||
pipeline state, bounded 3000/4096 scratch, production 0-B pins, register truth,
|
||||
and all fourteen mutations passed. Its fresh gates were Release 0W/0E,
|
||||
shader 32/32, affected 37/37, allocation 2/2, production focused 239/239.
|
||||
|
||||
The stack landed on the campaign branch in order:
|
||||
`89f1e2676` (`048d5b12f`), `9ccb61a8e` (`cc8e5677a`), `0aa166aa0`
|
||||
(`c4cbc1d0d`), and `252886e84` (`daaeab0ba`). All 43 non-packet files at the
|
||||
campaign tip are byte-identical to the reviewed implementation stack.
|
||||
|
||||
Fresh campaign gates:
|
||||
|
||||
- Release build: PASS, zero warnings/errors.
|
||||
- Shader/manifest 32/32; attempt-2 affected 37/37; real allocation 2/2 at
|
||||
0 B; focused production 239/239.
|
||||
- Official no-retry 14-assembly hermetic artifact
|
||||
`%TEMP%\acdream-s4-c2-campaign-252886e84`: 16,734 pass / 1 fail / 0 skip.
|
||||
The sole failure is the unchanged global `Console.Out` capture race in
|
||||
`WalkFrameDriverTests.Collect_WeatherTurnFiredMatchesThePrintedOcLineExactly`;
|
||||
the exact theory passed 2/2 isolated. The isolated pass does not rewrite the
|
||||
original lane verdict.
|
||||
- InstalledDat with explicit installed DAT path: 255 pass / 10 documented
|
||||
fail / 1 skip. The failures are TowerAscent, two #383 sweeps, #458, and six
|
||||
`AlphaFlushCounts_*`; every `AlphaFlushSites_*` row passed.
|
||||
|
||||
Validation-on graphical evidence is provisional until owner review:
|
||||
|
||||
- `logs/selfgate-20260904-115818-s4c2-landed-route`: `00-login.png`,
|
||||
`01-cathedral-stairs.png`, `02-facility-stairs.png`,
|
||||
`03-holtburg-house.png`, `04-holtburg-terrain-leak.png` — PASS. Facility's
|
||||
left-panel crop matches the S4-c1 control; only ordinary time/weather drift.
|
||||
- `logs/selfgate-20260904-120025-s4c2-landed-g3b`:
|
||||
`13-capture-terrace-edge.png`, `14-capture-cathedral-arrival.png`,
|
||||
`15-capture-holtburg-doorway.png`, `16-capture-foundry-deep.png` — PASS.
|
||||
Pose 15 is the intentional #468 outdoor replacement and the camera is close
|
||||
to the translucent self body; owner review remains explicit.
|
||||
|
||||
The first tip soak
|
||||
`logs/connected-r6-soak-20260904-120607.report.json` failed before its first
|
||||
sample on known #462 and then reproduced known #461 during abort/logout; keep
|
||||
it as a failed attempt. The retry
|
||||
`logs/connected-r6-soak-20260904-120756.report.json` passed 9/9 with exit 0
|
||||
and graceful teardown. The clean S4-c1 control at `9ba8f013e`, report
|
||||
`s4-c1-impl/logs/connected-r6-soak-20260904-121735.report.json`, also passed
|
||||
9/9 in the same session. Stationary tip-minus-control averages: CPU p95
|
||||
−0.01 ms, GPU p95 +0.16 ms, allocation p50 +1.2 KiB, update p95 −0.12 ms,
|
||||
working set −24.6 MiB, private memory −17.7 MiB. Per-destination CPU p95 was
|
||||
within ±0.1 ms, GPU p95 within 0.0–+0.4 ms; only Caul/Sawato allocation p50
|
||||
rose materially (+5.6/+5.8 KiB).
|
||||
|
||||
S4-c2 is LANDED and closed. Attempt 1/5 was consumed by the contract conflict;
|
||||
attempt 2/5 passed; three attempts remain unused. G3/G4 remain unpassed. Next:
|
||||
write S4-c3's bounded deletion contract from the landed code, not §4's old
|
||||
guess, and re-check the AP-238/AP-240/`AlphaFlushCounts_*` residuals there.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue