docs(runtime): close deterministic world lifecycle gate
Record the passing capped and uncapped connected evidence, coordinator ownership, graceful reconnect contract, current test baseline, and the remaining human-only visual gates. Keep AGENTS.md synchronized with CLAUDE.md and distill the durable reveal-lifecycle lesson into project memory.
This commit is contained in:
parent
f7b09617c5
commit
e02acb870c
8 changed files with 121 additions and 49 deletions
|
|
@ -1,6 +1,6 @@
|
|||
# Automated world-lifecycle gate
|
||||
|
||||
**Status:** In progress (2026-07-20)
|
||||
**Status:** Complete (2026-07-20)
|
||||
**Owner:** M3 stabilization / R6 rendering-lifecycle rebaseline
|
||||
**Depends on:** `WorldRevealReadinessBarrier`, retained-UI automation,
|
||||
`FrameProfiler`, connected local ACE
|
||||
|
|
@ -133,10 +133,45 @@ frame time separately.
|
|||
|
||||
## Completion evidence
|
||||
|
||||
- focused App tests for every lifecycle invariant;
|
||||
- full Release solution build and test suite;
|
||||
- two-process connected lifecycle report with screenshots and JSONL timeline;
|
||||
- accepted capped and uncapped same-session metrics;
|
||||
- `GameWindow` extraction retains the exact accepted lifecycle trace;
|
||||
- roadmap, issues, architecture, divergence register, memory, `AGENTS.md`, and
|
||||
`CLAUDE.md` agree on the resulting ownership and remaining visual gates.
|
||||
- Focused App tests cover readiness composition, stale generations,
|
||||
cancellation, duplicate lifecycle edges, early-visible rejection, artifact
|
||||
capture, automation timeouts, and resource snapshots.
|
||||
- `dotnet build AcDream.slnx -c Release` succeeds. The complete repository
|
||||
suite is 6,480 passed / 5 skipped; the 17 existing test-project warnings
|
||||
remain tracked by issue #228.
|
||||
- The final two-process connected report passed with no failures. The capped
|
||||
process completed fresh login, Aerlinthe, Rynthid, Facility Hub, Holtburg,
|
||||
and an Aerlinthe revisit in 244.424 seconds. The uncapped process then
|
||||
reconnected the same account and completed in 61.717 seconds.
|
||||
- Both processes closed through `WM_CLOSE`, received the authoritative
|
||||
character-logoff confirmation, exited with code 0, and were matched to
|
||||
ACE's exact client UDP endpoint and `PacketHeader Disconnect` record.
|
||||
- Every checkpoint had zero pending live teardowns, landblock retirements,
|
||||
staged mesh uploads, composite warmups, and reveal invariant failures.
|
||||
- All six PNG artifacts were valid and inspected. Login, indoor dungeon,
|
||||
dungeon exit, Aerlinthe revisit, and reconnect showed complete world
|
||||
geometry rather than a grey or partially revealed destination.
|
||||
- The uncapped reconnect sampled 172.7 FPS / 5.79 ms at the checkpoint; its
|
||||
latest profiler window measured 5.7 ms CPU p50, 6.1 ms p95 and 5.7 ms GPU
|
||||
p50, 6.0 ms p95 with zero pacing time. This is machine-specific throughput
|
||||
evidence, not a cross-display FPS requirement.
|
||||
- The Aerlinthe revisit retained balanced owners and stayed inside the
|
||||
documented relative memory/resource tolerances. One circuit is not claimed
|
||||
as a permanent memory plateau proof; the longer seven-destination R6 soak
|
||||
remains the endurance gate.
|
||||
- `WorldRevealCoordinator` now owns the protected lifecycle outside
|
||||
`GameWindow`; the accepted trace did not change after extraction.
|
||||
|
||||
## Landed commits
|
||||
|
||||
- `db45b81f` — expose canonical readiness snapshots and lifecycle telemetry;
|
||||
- `354c2adc` — add deterministic checkpoints and framebuffer screenshots;
|
||||
- `b03371c0` — add the connected lifecycle/reconnect gate;
|
||||
- `68578fa5` — port retail graceful character logout and transport disconnect;
|
||||
- `a4ef5788` — centralize the reveal lifetime in `WorldRevealCoordinator`;
|
||||
- `f7b09617` — preserve singleton endpoint/checkpoint collections in the gate.
|
||||
|
||||
The remaining visual work is deliberately outside this gate: the R6
|
||||
locomotion/collision/projectile/teleport retail comparison, the two-client
|
||||
portal-out/materialization observer comparison, and issue #225's translucent
|
||||
lifestone/particle ordering comparison.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue