docs(overhaul): accept exterior repair and diagnose portal reveal cycle #474

This commit is contained in:
Erik 2026-09-05 09:05:58 +02:00
parent 41ca024515
commit 3a9d5b01a8
4 changed files with 184 additions and 8 deletions

View file

@ -39,10 +39,30 @@ confirmed closed by the owner, 11 need a focused live gate, and 43 are safe to
remain closed. See remain closed. See
[`docs/research/2026-08-28-owner-closed-issue-validity-audit.md`](research/2026-08-28-owner-closed-issue-validity-audit.md). [`docs/research/2026-08-28-owner-closed-issue-validity-audit.md`](research/2026-08-28-owner-closed-issue-validity-audit.md).
## #474 — Portal reveal waits on its own destination placement acknowledgement
**Status:** IN-PROGRESS — live circular dependency proven, repair pending,
2026-09-05. Blocks G4.
Owner's repaired-exterior re-gate reaches portal destination30310005 but
never reveals. In the captured heap, center3031FFFF has completed its render
publication and committed the replacement physics engine, but physics
completion waits for restored placement acknowledgements. The global head
is a valid local-player Place into30310014; its graphical sink refuses until
3031FFFF is spatially loaded. That same publication cannot reach spatial
commit before physics completion. 886 destination completions are retained
behind it. Workers are idle and ACE remains responsive. This is not #462's
ready-true/materialized-false login shape.
Exact binary, log, heap fields, source chain and missing composed regression:
`research/2026-09-01-overhaul/474-portal-reveal-diagnosis.md` and S5 packet§46.
Do not force reveal, delete the receipt gate, or assume longer timeouts fix it.
## #473 — Owner gate: exterior buildings have missing roof/wall sections ## #473 — Owner gate: exterior buildings have missing roof/wall sections
**Status:** IN-PROGRESS — code-repaired/review-closed at `bf23673f3`; **Status:** DONE — code-repaired/review-closed at `bf23673f3`; exterior
sampled exterior self-gate provisional PASS, owner re-gate pending, 2026-09-05. repair OWNER-ACCEPTED 2026-09-05 ("Looks good, except world reveal...").
The new portal-reveal failure is #474, not acceptance of full G4.
At clean campaign `02219318a`, Release 0 warnings / 0 errors, the owner At clean campaign `02219318a`, Release 0 warnings / 0 errors, the owner
reports broken exterior buildings in Holtburg and the cathedral, while reports broken exterior buildings in Holtburg and the cathedral, while
@ -73,8 +93,9 @@ manual session `logs/owner-gate-20260905-02219318a/`, PID18836, verified
recipe-10 package. PID18836 has since exited with graceful logout confirmed; recipe-10 package. PID18836 has since exited with graceful logout confirmed;
the lead did not close or control it. Explicit 07:48+02 preflight found no the lead did not close or control it. Explicit 07:48+02 preflight found no
client and ACE up. Packet section42 now owns the bounded repair and re-gate. client and ACE up. Packet section42 now owns the bounded repair and re-gate.
C1c's test-only correction is frozen, awaiting review; C1c's test-only correction is now review-closed but unlanded. The owner has
final acceptance of this repair and G4 still require the owner. No merge main. accepted this exterior repair; G4 remains unpassed because of #474 and the
remaining closeout gates. No merge main.
## #472 — Stair-arch walk fixture cannot distinguish retail e229 residency from block rejection ## #472 — Stair-arch walk fixture cannot distinguish retail e229 residency from block rejection

View file

@ -601,6 +601,8 @@ code.
| Ordinary dungeons | Two, chosen before code changes | No cathedral overfit; stairs/walls/portals stable | all | | Ordinary dungeons | Two, chosen before code changes | No cathedral overfit; stairs/walls/portals stable | all |
| Cathedral stairwell, camera zoomed out (owner, 2026-09-03 night, #464) | `0xF4180113 [39.502899 19.589222 181.119247]` (also `0xF4180112 [39.070965 22.549135 178.781418]`, `0xF4180113 [39.364658 21.293159 179.773422]`), third-person camera zoomed fully out and tilted slightly up | Root `0xF4180114` with `0x113`/`0x112` flooded draws the stairwell solid, and from an eye beyond the open y=24 face (root `0xF4180109`, which retail's swept 0.3 m viewer sphere also reaches) the stairwell cells seen through the building's exterior portals draw with their walls — no vaulted hall, archway sky, balcony or floating stair slabs through the stairwell walls | S4 (owner gate G3 names zoom) | | Cathedral stairwell, camera zoomed out (owner, 2026-09-03 night, #464) | `0xF4180113 [39.502899 19.589222 181.119247]` (also `0xF4180112 [39.070965 22.549135 178.781418]`, `0xF4180113 [39.364658 21.293159 179.773422]`), third-person camera zoomed fully out and tilted slightly up | Root `0xF4180114` with `0x113`/`0x112` flooded draws the stairwell solid, and from an eye beyond the open y=24 face (root `0xF4180109`, which retail's swept 0.3 m viewer sphere also reaches) the stairwell cells seen through the building's exterior portals draw with their walls — no vaulted hall, archway sky, balcony or floating stair slabs through the stairwell walls | S4 (owner gate G3 names zoom) |
| Adjacent outdoor portal reveal (#474, owner 2026-09-05) | 3032FFFF → destination30310005, same-window hop184.5m; near4/far25, reveal6 in owner-regate-20260905-bf23673f3-r1 | Destination publication and exact placement acknowledgements converge; no circular wait, no forced/partial world reveal. Include repeated adjacent and long-distance portal controls; record latency rather than presuming all slow holds share this cause | S5 / G4 |
Append-only; a new symptom gets a row and an existing invariant before any fix. Append-only; a new symptom gets a row and an existing invariant before any fix.
--- ---
@ -696,7 +698,7 @@ Update immediately when a slice changes state. Chat is not the ledger.
| S5-#470 | **LANDED + REVIEW-CLOSED 2026-09-05; LEAD GRAPHICAL A/B PROVISIONAL PASS.** Campaign implementation stack `15a796c3a` -> `7506e5f14` -> `b333edb4f`; route `19b44e5e3`; reviewed scratch `51f974da4` -> `2cad9c84` -> `98c004aa7`; packet §§2730. | G4 UNPASSED | Retail/behavior pass 2/10 and production pass 4/10 closed the two evidence-only findings. Fresh campaign Release 0W/0E and focused 48/48; exact scratch hermetic 16,976/16,976 and canonical InstalledDat 386/10/1, manifests 30/30. Pinned gate `logs/selfgate-20260905-032132-s5-470-pinned-shadow-ab-r1`: retail/off -> High -> retail/off, 3/3 PNGs, exit 0, graceful, no client; visual PASS provisional. The stale recipe-8 pre-route launch is excluded and recorded in §30. | | S5-#470 | **LANDED + REVIEW-CLOSED 2026-09-05; LEAD GRAPHICAL A/B PROVISIONAL PASS.** Campaign implementation stack `15a796c3a` -> `7506e5f14` -> `b333edb4f`; route `19b44e5e3`; reviewed scratch `51f974da4` -> `2cad9c84` -> `98c004aa7`; packet §§2730. | G4 UNPASSED | Retail/behavior pass 2/10 and production pass 4/10 closed the two evidence-only findings. Fresh campaign Release 0W/0E and focused 48/48; exact scratch hermetic 16,976/16,976 and canonical InstalledDat 386/10/1, manifests 30/30. Pinned gate `logs/selfgate-20260905-032132-s5-470-pinned-shadow-ab-r1`: retail/off -> High -> retail/off, 3/3 PNGs, exit 0, graceful, no client; visual PASS provisional. The stale recipe-8 pre-route launch is excluded and recorded in §30. |
| S5-#469 | **LANDED + REVIEW-CLOSED 2026-09-05; LEAD GRAPHICAL TRANSITION PROVISIONAL PASS.** Contract `809887524`; reviewed scratch `c09b6cf0f`; campaign implementation `94ddde69a`; route `62efc72cb`; packet §§3132. | G4 UNPASSED | Retail/deviation pass 1/10 and production pass 2/10 both PASS with no finding. The two atmospheric vertex receivers keep retail's authored unnormalized `uLights` direction across every shadow gate; celestial direction remains for opt-in shadow/volumetric projection; IA-24 corrected in the same commit. Exact scratch: Release 0W/0E, focused 126/126, Vulkan 2/2, hermetic 16,983/16,983, InstalledDat 386/10/1. Fresh campaign Release 0W/0E, focused 82/82, Vulkan 2/2. Gate `logs/selfgate-20260905-040449-s5-469-lighting-transition-r1`: five PNGs, active 2,500-caster/four-cascade High rows, no near-black relight, exit 0/graceful, no client; visual PASS provisional. | | S5-#469 | **LANDED + REVIEW-CLOSED 2026-09-05; LEAD GRAPHICAL TRANSITION PROVISIONAL PASS.** Contract `809887524`; reviewed scratch `c09b6cf0f`; campaign implementation `94ddde69a`; route `62efc72cb`; packet §§3132. | G4 UNPASSED | Retail/deviation pass 1/10 and production pass 2/10 both PASS with no finding. The two atmospheric vertex receivers keep retail's authored unnormalized `uLights` direction across every shadow gate; celestial direction remains for opt-in shadow/volumetric projection; IA-24 corrected in the same commit. Exact scratch: Release 0W/0E, focused 126/126, Vulkan 2/2, hermetic 16,983/16,983, InstalledDat 386/10/1. Fresh campaign Release 0W/0E, focused 82/82, Vulkan 2/2. Gate `logs/selfgate-20260905-040449-s5-469-lighting-transition-r1`: five PNGs, active 2,500-caster/four-cascade High rows, no near-black relight, exit 0/graceful, no client; visual PASS provisional. |
| S5-c5 | **CLOSED + LANDED 2026-09-05; LEAD GRAPHICAL SMOKE PROVISIONAL PASS.** Contract `b77989c32`; campaign `bf53e2ad6` -> `e625dc4e6` -> `1b7ee4e58`; reviewed scratch tip `158656f0d`; packet §§3335. | G4 UNPASSED | Retail/deletion pass 1/10 PASS. Production pass 2/10 found one static-field hole in the owner guard; fix round 1 reproduced both static-owner mutations, and production pass 3/10 PASS. Exact scratch hermetic 16,921/16,921, canonical InstalledDat 368/9/1, manifests 30/30. Fresh campaign Release 0W/0E, App 146/146, Core 8/8. A stale recipe-8 preflight is excluded; a non-destructive recipe-10 bake produced 2,237,865 keys with zero failures. Corrected gate `logs/selfgate-20260905-052130-s5-c5-landed-v10`: five PNGs, exit 0/graceful, no fatal/deleted-prefix match, no client left; geometry matches S5-c4, visual PASS provisional. | | S5-c5 | **CLOSED + LANDED 2026-09-05; LEAD GRAPHICAL SMOKE PROVISIONAL PASS.** Contract `b77989c32`; campaign `bf53e2ad6` -> `e625dc4e6` -> `1b7ee4e58`; reviewed scratch tip `158656f0d`; packet §§3335. | G4 UNPASSED | Retail/deletion pass 1/10 PASS. Production pass 2/10 found one static-field hole in the owner guard; fix round 1 reproduced both static-owner mutations, and production pass 3/10 PASS. Exact scratch hermetic 16,921/16,921, canonical InstalledDat 368/9/1, manifests 30/30. Fresh campaign Release 0W/0E, App 146/146, Core 8/8. A stale recipe-8 preflight is excluded; a non-destructive recipe-10 bake produced 2,237,865 keys with zero failures. Corrected gate `logs/selfgate-20260905-052130-s5-c5-landed-v10`: five PNGs, exit 0/graceful, no fatal/deleted-prefix match, no client left; geometry matches S5-c4, visual PASS provisional. |
| S5 | **#473 REPAIR LANDED/REVIEW-CLOSED `bf23673f3`; sampled exterior self-gate PROVISIONAL PASS, owner re-gate OPEN (2026-09-05).** c1c5 plus #470/#469 landed; lead PASS does not supersede owner FAIL. C1 offline evidence complete; C1c test/doc correction REVIEW-CLOSED, pending landing. | G4 | Packet §§7 and 1244 bind. §42 repairs detail-active opaque A2C coverage loss at the owner's 4x/A2C=true settings. Both independent reviews PASS; post-commit Release 0W/0E and 158/158 adjacent tests; old-arm mutation fails12/12. All52 affected base/LOD prepared payloads match fresh extraction. §42.6 exact-binary PNGs show intact visible Holtburg/cathedral exteriors, detail ON in both modes; Facility control passes provisionally. Framing/foliage limitations are explicit; no every-face/LOD claim. All four automated clients exited0/gracefully. §43 C1c retail pass1 found only AD-118's stale retirement marker/count, corrected directly by lead; production pass2 PASS. Lead fresh test-assembly-only Release and 68/68 scoped tests pass; no canonical full-lane claim. §44 records the subsequently launched manual owner client PID16892 on unchanged bf23673f3 binary, ACE UDP9000 PID13340. Hold builds, second clients and automated controls while the owner tests; no verdict yet. Exact C1c landing, real geometry/membership hash, full-lane closure, C2 and full owner G4 remain. Never merge main before G4. | | S5 | **#473 EXTERIOR REPAIR OWNER-ACCEPTED `bf23673f3`; new portal-reveal FAIL #474 (2026-09-05).** c1c5 plus #470/#469 landed; C1c test/doc correction REVIEW-CLOSED, pending landing. | G4 UNPASSED | Packet §§7 and1246 bind. §42 repaired opaque detail alpha-to-coverage, with both reviews PASS, Release0W/0E, affected158/158, mutation12/12 and all52 affected prepared payloads matching fresh extraction. §42.6 sampled exterior PNGs were provisional; the owner now accepts the repaired exteriors. §43 C1c retail/production reviews are closed; nine-file test/doc return remains unlanded, lead scoped68/68 only, no canonical full-lane claim. §44 manual owner session PID16892 ran unchanged bf23673f3. §45 geometry witness contract remains not dispatched. §46/new diagnosis474 proves a destination publication/placement acknowledgement cycle at3031FFFF: engine committed, exact valid Place into30310014 at global FIFO head, spatial backend absent and publication waiting on that acknowledgement. No fix yet. AcDream has exited with graceful logout recorded; lead did not close it. ACE9000 PID13340 up; retail34964 stays open by explicit owner direction. Offline build/tests may proceed with AcDream absent; do not close retail or claim isolated graphical/performance evidence. Repair474 and its composed regression/reviews/re-gate precede C1c landing, real geometry/membership hash, full-lane closure, C2 and full owner G4. Never merge main before G4. |
--- ---

View file

@ -0,0 +1,117 @@
# #474 — live portal reveal blocked by its own placement acknowledgement
## Verdict and exact run
Owner report, 2026-09-05: exterior buildings now look good, but portal-space
reveal sometimes takes too long and the current destination never reveals.
This accepts #473's exterior repair narrowly. It is a new G4 FAIL, not a
whole-campaign acceptance and not the older #462 ready-true/materialized-false
login failure.
Campaign branch `claude/campaign-w-retail-frame-walk`, documentation HEAD
`41ca024515d4adf329f24ab0f7525aa3b5e793fe`; running production code is unchanged
from `bf23673f3d5acbd55b4953e281aa72be4c28087d`.
Release App.dll SHA256:
`34442C9CA1135AEF312DA3C4613C8C11BAE25C35C602D22C9F1F7B294F41354A`.
Recipe-10 package SHA256:
`4E0FA6C589ECE12E13099A56385077964961EC52F888BC9161C6F5D34829B59B`.
Manual session: `logs/owner-regate-20260905-bf23673f3-r1/`, AcDream PID16892.
No new build, test, second client, or production edit was made to diagnose it.
`client.log` lines11661209 identify the adjacent portal hop from landblock
`0x3032FFFF` to destination cell `0x30310005` (184.5m), reveal generation6,
near radius4/far radius25. The wait cue appears at5031ms with render=false.
No generation6 readiness/materialization/visibility/completion follows before
its eventual graceful logout/cancellation. Network stats continue during the
hold. Composite/collision false values are short-circuited behind render=false
by `WorldRevealReadinessBarrier.Evaluate`, not proof of separate failures.
## Read-only heap proof
One managed stack capture and one local heap dump were taken from AcDream,
not retail. The heap finished at08:53:50+02 and is2,142,201,973 bytes. It stays
local and must NOT be committed, uploaded, or used as a public artifact.
Diagnostic root:
`C:\Users\erikn\.codex\worktrees\742f\acdream\artifacts\overhaul-472-owner-capture\`.
Files: `portal-30310005-pid16892.dmp`,
`portal-30310005-stacks-1.txt`, `portal-30310005-observed.jpg`.
The native capture is JPEG, not PNG; it is diagnostic corroboration, not a
new scripted PNG gate. No gameplay input was sent. Screenshot/compositor
appearance is not used to infer Runtime logout or world readiness.
Selected SOS observations (object addresses belong only to this dump):
| Owner | Exact state |
|---|---|
| StreamingController `021737fedad0` | Stream generation5, bootstrapped region(48,49), reveal reservation6 for3031FFFF/radius25; full-window/origin-recenter/radii transactions null |
| Completion queue `021737fedd10` | 886 Destination results; other priority queues empty; head Loaded `021754396678` is3031FFFF, reveal6/stream5/sequence9877 |
| Publication `02174babc9c8` | Same head/result; render completion=true; physics engine committed=true, RuntimeMutationPending=true, physics completion=false; SpatialCommitted=false |
| Center collision quiescence `02173c7b3718` | ReleaseInProgress=true, release generation4/ready=true; 8 pending withdrawals and15 pending restore placements |
| SetPosition `02172b5b1aa0` | 38 pending projections; minimum sequence584, revision1, Kind=Place |
| Oldest projection at `021748e7da08` | Entity local1000003/incarnation3792 (local player GUID5000000A); cell30310014; collision generation4; portal authority entirely empty |
| Canonical record `021737ae7900` | Position355/spatial19520/placement7/session1 and exact cell30310014 match the receipt; current GUID and local-ID dictionaries both point here |
| App sidecar `021737b88330` | Same canonical and exact ProjectionKey; WorldEntity nonnull; materialized entry0 is active; not spatially projected |
| Initial-create residences | All17 active dictionary keys inspected: target local1000003 absent, so the conductor ownership gate does not own this receipt |
| Graphical subscriber `021737854a70` | Not disposed; sink bound; applied-awaiting-ack token entirely zero |
| GpuWorldState `021737f694c8` | This is the exact sink's `_spatial`; loaded dictionary has1715 entries/freeCount0. All1715 keys decoded:3031FFFF absent |
| Retirements | 303 retained tickets, first pending physics stage; no callback failure recorded |
The managed stacks show8 landblock workers and4 mesh workers waiting, while
the graphical thread continues pacing. These observations distinguish an
acknowledgement/publication hold from workers still constructing the center.
They do NOT claim every queued destination result has already been published.
Reproduce the decisive offline inspection with `dotnet-dump analyze` and
`dumpobj`, `dumpvc`, `dumparray -details`; no application method invocation is
needed. Pending projection minimum is the leftmost SortedSet node
`021748e7d9e0`; its key/value is at`021748e7da00`. Loaded dictionary is
`021737f695f0`, entries`021738a927a8`. Sidecar materialized dictionary is
`021737f6a050`, entries`0217451bfb30`. Active residence dictionary is
`02172b5b3190`, entries`02173b52d438` (exclude free entries by next < -1).
## Proven source dependency
1. `RuntimePhysicsState.AdvanceCommittedActivation` cannot finish until
`SetPosition.ReleaseCollisionPrefixAfterMutation` acknowledges the exact
restored residents. The engine generation has already committed and must
not be resealed or rolled back.
2. `RuntimePlacementProjectionSubscription` only applies/acknowledges the
oldest receipt. Its retry runs unconditionally from
`RetailLiveFrameCoordinator` / `GraphicalSessionEventRoute`, even while
portal simulation is hidden. A disabled portal retry is not the cause.
3. The head Place's canonical identity, versions, empty portal authority and
materialized sidecar are valid. `LiveEntityRuntime` nevertheless returns
false because `GpuWorldState.IsLoaded(0x3031FFFF)` is false.
4. `LandblockPresentationPipeline.Advance` waits for physics completion
before its later `CommitLandblockSpatial` stage can make that very backend
exist. It retains the completion queue head until this transaction ends.
Thus the destination's physics completion waits on Place acknowledgement,
Place waits on the destination spatial backend, and backend publication waits
on physics completion. The same global projection head also prevents later
withdrawals/placements from acknowledging. This is a client-side circular
dependency, not an ACE response timeout. The log's preceding slow portal is
not yet proven to have the same cause.
Existing tests prove these halves separately:
`RuntimeCollisionMutationTransactionTests.ActivationWaitsForExactWithdrawAndPlaceReceipts`
manually acknowledges without the graphical loaded-backend gate;
`RuntimePlacementPresentationSinkTests.Place_WithoutLoadedDestinationBackendRemainsPending...`
proves the gate while assuming streaming can independently finish.
The fix needs a composed regression, not a timeout or forced reveal.
## Process state / next boundary
By09:02+02 AcDream is absent and its log records graceful logout and reveal6
cancellation. The lead did not close it. Explicit privileged read-only
preflight confirms ACE UDP9000 PID13340 and retail acclient PID34964 still up.
Owner then explicitly says to leave retail open. Respect that: offline build
and deterministic tests may continue with AcDream absent; do not close or
attach to retail. Graphical/performance gates are separate from those checks
and must report competing-process state honestly.
No repair or new retail-equivalence claim is included in this evidence record.
The bounded repair contract must preserve exact receipt acknowledgement,
post-engine no-rollback semantics, world-reveal readiness, metering, and
observer-atomic spatial publication. C1c landing and geometry/C2 closeout wait
behind this owner-visible blocker. G4 remains unpassed; never merge main.

View file

@ -1,8 +1,8 @@
# Campaign OVERHAUL v2 — S5 consumers, material, and closeout packet # Campaign OVERHAUL v2 — S5 consumers, material, and closeout packet
**Status:** #473 CODE-REPAIRED / REVIEW-CLOSED at `bf23673f3`; sampled exterior **Status:** #473 exterior repair OWNER-ACCEPTED at `bf23673f3`, 2026-09-05.
self-gate PROVISIONAL PASS (section42.6). Owner re-gate remains pending; the New owner portal-reveal FAIL #474 is the immediate blocker: a destination
original owner FAIL is not superseded by lead acceptance. S5-c1 through S5-c5 publication/placement acknowledgement cycle (section46). S5-c1 through S5-c5
plus #470/#469 landed. C1c's returned test/doc correction plus #470/#469 landed. C1c's returned test/doc correction
is review-closed, pending landing (section43); geometry/membership witness, full-lane is review-closed, pending landing (section43); geometry/membership witness, full-lane
closure, connected/performance C2 and owner G4 remain. closure, connected/performance C2 and owner G4 remain.
@ -4372,3 +4372,39 @@ No particle/child/lifecycle universality is inferred from this narrow check.
This clarifies a not-yet-implemented test contract. It introduces no retail This clarifies a not-yet-implemented test contract. It introduces no retail
deviation, renderer change or new review-fix round. The owner gate remains deviation, renderer change or new review-fix round. The owner gate remains
the executable priority; after it, C1c landing precedes this activation. the executable priority; after it, C1c landing precedes this activation.
## 46. Owner exterior PASS, new portal-reveal FAIL #474 (2026-09-05)
The owner says the world now looks good except that portal reveal sometimes
takes too long and the current world never reveals. Record #473 narrowly as
OWNER-ACCEPTED; G4 remains FAIL/unpassed. The new symptom is appended to the
plan§10 matrix before code changes.
Read `474-portal-reveal-diagnosis.md` for the exact run, local-only heap and
stack artifacts, inspected fields, source chain, exclusions and process state.
The destination3031FFFF physics replacement is engine-committed but waits for
placement acknowledgement. The exact global head is the valid local player's
Place into30310014, which waits for that same spatial backend. Spatial commit
comes after physics completion: circular dependency. No timeout, forced reveal,
missing network packet or slow geometry worker explains that captured hold.
The preceding intermittent slowness is not yet attributed to the same cause.
Both lead and a read-only OpenAI agent traced the production dependency. The
lead independently decoded the actual FIFO head, canonical/sidecar versions,
all1715 spatial keys, and all17 active initial-create residence keys, ruling
out the earlier gates. No production edit, build/test or second client was
performed during capture. The native diagnostic screenshot is JPEG; no new
scripted PNG self-gate is claimed.
AcDream subsequently exited with graceful logout recorded; the lead did not
close it. ACE9000 PID13340 is up. Retail PID34964 remains open by explicit
owner direction; leave it untouched. With AcDream absent, offline build and
deterministic tests may proceed; do not mislabel any resource-contended
graphical/performance run as an isolated gate.
NEXT: a bounded publication-order repair plus a real Runtime/graphical-sink/
pipeline regression, then sequential retail/production review and exact-binary
graphical re-gate. Preserve receipt identity, no post-engine rollback, metering
and readiness. C1c remains review-closed/unlanded; section45 geometry activation
and full lanes/C2 follow this blocker, not in parallel with its implementation.
No merge main before G4.