docs(overhaul): verify final lifecycle reconnect and R6 stability gates

This commit is contained in:
Erik 2026-09-05 21:16:26 +02:00
parent cf1bc84033
commit 89a9a7f2ac
4 changed files with 177 additions and 2 deletions

View file

@ -193,6 +193,16 @@ original-error propagation; corrected recipe10 smoke exit0/graceful, two PNGs
inspected narrow PASS/provisional. Both clients closed. This adds future
evidence, not a repair claim for the initiating AMD fault; #477 stays open.
Final eea83ac88 High-profile lifecycle, fresh reconnect and R6 runs complete:
16 checkpoints/15 PNGs, all three exit0/graceful with exact ACE disconnects.
No new GPU-loss/Application-crash/System4101 event reproduced. A distinct
WER1001/RADAR_PRE_LEAK_64 report appeared at18:59:10UTC, record713438,
report2bd9eaef-7666-4d86-b1f0-9f3f7d69a846; retain as an observation, not
proven leak or AMD cause. Canonical R6 retention passes with explicit
workload-change/cache-growth warnings. Exact evidence and limits:
`research/2026-09-01-overhaul/s5-final-lifecycle-stability-verification.md`.
Owner stability/G4 remains open; no FPS work or system/driver changes.
## #476 — First post-resize graphical gate PNG is horizontally corrupted
**Status:** IN-PROGRESS — capture and resize-boundary repairs integrated,

View file

@ -700,8 +700,14 @@ nonpassing identities. Four wall tests pass after correcting an omitted
package-path prerequisite, with the invalid first invocation retained.
All92 official manifest entries verified; see
`docs/research/2026-09-01-overhaul/c1a-integrated-verification.md`.
Final graphical lifecycle/reconnect/R6, remaining matrix and owner G4
remain owed. Known retail leak unchanged, FPS/C2 deferred, no main merge.
Final graphical lifecycle/reconnect/R6 now PASS on the same eea83ac88 binary:
16 checkpoints/15 inspected PNGs, three exit0/graceful processes with exact
ACE disconnects. High preset retained; images provisional, not owner G4.
Existing R6 workload-change/cache-growth warnings and distinct Windows
RADAR_PRE_LEAK_64 observation are retained, not declared a leak or AMD cause.
See `docs/research/2026-09-01-overhaul/s5-final-lifecycle-stability-verification.md`.
Remaining matrix/adjacent-portal controls and owner G4 are still owed.
Known retail leak unchanged, FPS/C2 deferred, no main merge.
### Rollback ledger

View file

@ -5274,3 +5274,24 @@ and graphical execution requirements are in c1a-integrated-verification.md.
Known canonical nonpassing identities remain explicit; no entire-lane PASS.
Final lifecycle/stability, graphical matrix and owner G4 are separate. No
FPS work, known retail leakage change, authored-diagnostic rerun or main merge.
## 69. Final lifecycle/reconnect/R6 checks — 2026-09-05
Clean-built eea83ac88, documentation-only launch HEAD cf1bc8403; all three
one-client runs terminated normally. Capped lifecycle6 checkpoints/5 PNGs,
fresh uncapped reconnect1/1 and capped R69/9 pass the canonical predicates,
unique route/ACK/status and observed-port ACE disconnect checks. Lead opened
all15 PNGs; visual scope remains provisional and does not replace owner G4.
No product edits/rebuilds between tests or beside a client. Saved High
preset retained, not an isolated retail-preset equivalence run.
R6's existing workload-change/cache-growth warnings remain explicit.
Windows emitted one distinct RADAR_PRE_LEAK_64 report for acdream; no new
Application crash/LiveKernelEvent141/System4101 appeared in the scoped
18:57:3319:14:11UTC interval. Do not infer a proven leak or AMD cause.
Runtime terminal status proves enforced ownership convergence; it is not a
raw post-disposal render-row dump. Exact paths, hashes, validator boundaries,
PNG names and remaining matrix: s5-final-lifecycle-stability-verification.md.
Next: exact adjacent-portal, cathedral/wall and ordinary-dungeon controls,
then the uncovered owner matrix. FPS/C2 deferred; known retail leak unchanged;
G4 unpassed, no main merge.

View file

@ -0,0 +1,138 @@
# S5 final lifecycle/stability verification — 2026-09-05
Tested production is clean eea83ac884d0b0fd74d86a17a16d7d5d93f64d94.
Launch HEAD cf1bc8403 adds documentation only. No rebuild or product edit
between C1a's full Release gate and these graphical runs. App/Core/package
hashes and exact per-process prechecks are retained in
`logs/s5-final-live-eea83ac88/preflight.json`; C1a test details are in
`c1a-integrated-verification.md`. No main merge; G4 remains owner-unpassed.
## Execution and validation
Each command launched exactly one Release client through the existing
overhaul self-gate runner. All ACDREAM environment names were cleared in
the launch process first; explicit UI/frame-profiler/reveal-timing flags,
uncapped selection, recipe10 session and unique statusFile followed.
Both clients/debuggers absent and ACE UDP9000/PID13340 verified before each.
Local route copies preserve every canonical command, appending only
close-client: lifecycle54, reconnect9, R6178 original commands.
The user's persisted `acdream.atmospheric`1.0.0/high preset was retained
(settings.json and every screenshot's own metadata agree), rather than
creating an isolated retail-preset profile. MSAA4/near4/far25,1280x720.
This is a High-profile lifecycle/stability test, not a retail-preset pixel
equivalence result or an FPS/C2 performance comparison. The runner's exact
framebuffer switch changes window chrome to borderless. Existing profiler
and reveal diagnostics were enabled; no new production instrumentation.
Offline `logs/s5-final-live-eea83ac88/validate-live.ps1` loads canonical
validator function definitions via PowerShell AST; it never executes the
old multi-launch/force-kill wrappers. Lifecycle readiness, ownership,
same-location retention and screenshot metadata checks are unchanged.
R6's complete predicate body is unchanged; only its Process-typed parameter
is widened to consume the previously observed process ID postmortem.
Additional checks require ordered checkpoint identity, normal-world frames,
unique script completion/logout ACK, actual OS exit0, unique terminal
exited/code0/reason graceful, and the exact new ACE PacketHeader Disconnect
for the client's observed UDP port. Runner success alone is not accepted.
| Run | Process / observed UDP | Terminal result | Evidence directory |
|---|---|---|---|
| Capped lifecycle |32608@18:57:33.4291729Z /58875|PASS:6 checkpoints,5 PNGs,exit0,graceful; ACE21:01:41+02 disconnect|logs/selfgate-20260905-205733-s5-final-lifecycle-eea83ac88/|
| Fresh uncapped reconnect |20332@19:02:37.6360241Z /54669|PASS:1 checkpoint,1 PNG,exit0,graceful; ACE21:03:45+02 disconnect|logs/selfgate-20260905-210237-s5-final-reconnect-eea83ac88/|
| Capped R6 nine-stop |17064@19:04:48.0813716Z /52133|PASS:9 checkpoints,9 PNGs,exit0,graceful; ACE21:13:27+02 disconnect|logs/selfgate-20260905-210447-s5-final-r6-eea83ac88/|
The original fresh-context-recreation predicate passes for the two completed
processes. All ten streaming-backlog fields are present and zero at their
seven stable checkpoints, staged mesh bytes zero, render/resource world
counts from the same frame. Lifecycle reports51 expected world-edge missing
landblocks; reconnect has no warnings. No time-based sleep substitutes for
the required ACE disconnect observation before reconnect.
R6 completed in518.101 seconds (8m38s), not a ten-minute free-movement gate.
Every canonical predicate passed without alteration; all nine stable
checkpoints have zero publication/retirement/upload/composite/class backlog.
Its existing workload-sensitive comparison reports warnings, not failures:
Caul return→plateau visible landblocks580→579, world entities21031→21029,
mesh atlases57→58, mesh-estimated bytes189687540→198076140, tracked GPU
bytes121555500→121559596 and textures461→462, particles4750→4741.
Those warnings are retained explicitly; do not claim identical workload or
zero cache growth. It also reports51 expected world-edge missing landblocks.
All three exact clients are terminal, each with matching status/ACK/ACE proof.
Lead independently rehashed all79 files in
`logs/s5-final-live-eea83ac88/lifecycle-r6-SHA256SUMS.txt` after terminal
validation. Manifest SHA256 EC2B59F822B1D9A081479A07F00693888BA4B09C8313DB3F47DA15332C4F07BA.
Lifecycle report8BB92899E114262B79D7A467FF3EC4980EC4CBC5A632006113E7BB3201F4FC1A;
reconnect50D916E8D34D27CE98FAF6496E6C806ECEA53DED72DA75E660E0E965B79544BB;
R6A825D2E72D780A9BED87874718C559F8AB2308F0B8F677B3327E6FBCD52C6D93.
The manifest includes all three run folders, terminal status/validation and
preflight files, route copies and original canonical route/validator sources.
## PNG inspection and scope
Lead opened the actual PNGs, not just filenames or success markers. Paths
below are relative to each run's `artifacts/screenshots/` directory above.
All visual PASS entries are provisional until the owner looks.
| Run | PNG paths | Visual result / limit |
|---|---|---|
| Lifecycle |capped_login.png; aerlinthe_first.png; facility_hub.png; holtburg_after_dungeon.png; aerlinthe_revisit.png|PASS/provisional for revealed world geometry at these frames. Login has close-camera local-body fading; it does not prove whole-body occlusion. Facility shows lit corridor walls; Holtburg buildings are intact.|
| Reconnect |uncapped_reconnect.png|PASS/provisional for a revealed nonempty world in a new process; not a full camera-seam or movement gate.|
| R6 |caul-baseline.png; sawato-baseline.png; rynthid.png; aerlinthe.png; sawato-return.png; holtburg.png; caul-return.png; sawato-plateau.png; caul-plateau.png|PASS/provisional for these nine revealed-world frames; all opened. Buildings/terrain/actors are present; changing foliage/camera/weather/population means return frames are not pixel-identical. Not a full owner matrix.|
Canonical historical labels are retained verbatim for comparison; exact
cell IDs and commands are authoritative. A route label is not independent
proof of the geographical name or the owner's Tusker combat scenario.
Combat-mode toggles are not casting/combat/particle-retirement proof.
## Terminal ownership evidence boundary
`GameWindow.ReportExited` emits graceful only after lifetime Complete and
with no captured Run failure. `GameWindowLifetime.DisposeGameRuntime`
is a hard teardown operation: it calls Dispose then requires Runtime's
IsConverged. Physics ownership includes zero landblocks and zero retained
logical shadow registrations. RuntimePhysicsState.Dispose calls Engine.Clear;
ShadowObjectRegistry.Clear unconditionally clears all retained part arrays,
CELLARRAYs, routes, per-cell part entries and attachment maps.
The full Release suite includes the previously-nonempty terminal Runtime
disposal test. Separate Core tests directly check per-owner and landblock
retail CELLARRAY/part-row withdrawal, including render-only statics.
This supports invariant-backed cleanup, but these runs do NOT contain a
raw post-disposal snapshot of every render/membership row. Pre-close
checkpoints must never be represented as that missing terminal measurement.
## Windows reporting observation
The interval beginning18:57:33UTC has one relevant Application1001 record
at18:59:10.4998957UTC, record713438: RADAR_PRE_LEAK_64, AcDream.App.exe,
report2bd9eaef-7666-4d86-b1f0-9f3f7d69a846, StorePath NULL. This is not the
old AMD LiveKernelEvent141 report. At19:09:33UTC no new Application crash/
LiveKernelEvent141 or System4101 was found by the scoped query. Full small
field capture: `logs/s5-final-live-eea83ac88/windows-observation.json`.
Do not call this a proven leak or dismiss it as harmless. Existing R6
managed-memory readings fell from809.3MiB at the fourth checkpoint to
535.1MiB at the fifth; that does not prove all native/driver memory is free
of leaks. Microsoft's [memory-leak investigation guidance](https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/determining-whether-a-leak-exists)
also distinguishes time-series suspicion from locating a leak. No driver,
TDR/ACL/system-setting change, upload, FPS repair or new diagnostic framework.
The final post-run check at19:14:11.9744073UTC finds the same single
record713438 and no new Application crash/LiveKernelEvent141 or System4101.
Both clients/debuggers absent, ACE9000/PID13340 up. No new GPU failure
reproduced; #477's initiating cause remains unknown.
## Still owed
Current-binary cathedral/wall/dungeon/adjacent-portal visual controls,
the final owner matrix and acceptance. Existing narrow routes are
route-g3.txt, route-482-cathedral-wall.txt, route-478-dungeon-controls.txt and
route-474-portal-reveal.txt under tools/overhaul-selfgate; route-464-run.txt
adds actual moving cathedral-stair images. These are not broader gates by
themselves. Exterior-ramp standing has no pinned pose; two-client wall
occlusion, complete Facility stair circuit, Nanto continuous rotation,
ordinary-dungeon traversal/camera seams, real Tusker combat/casting and
ten minutes' free movement remain owner checks. Wall acceptance is
functional block/escape, not exact equality to retail's x48.48 settlement.
The known retail cathedral slab leak remains unchanged. FPS/C2 stays deferred.