docs(runtime): close J2 session lifetime gate
Record the canonical Runtime session/transport cutover, exact rollback, full Release evidence, and exact-binary lifecycle acceptance. Advance the active execution pointer and durable memory to J3 identity and object ownership. Validated by the existing 79 Runtime tests, 3,776 App tests with three skips, 8,428 complete Release tests with five skips, and logs/connected-world-gate-20260725-193936/report.json. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
7593078774
commit
9496c01be1
10 changed files with 161 additions and 24 deletions
|
|
@ -0,0 +1,69 @@
|
|||
# Modern runtime Slice J2 closeout
|
||||
|
||||
## Result
|
||||
|
||||
Slice J2 is complete at production commit
|
||||
`75930787741db40a83eab8663e4464dce8d687ba`.
|
||||
|
||||
The one canonical `WorldSession` generation and its connect, EnterWorld, tick,
|
||||
replacement, and retryable stop transaction now live in `AcDream.Runtime`.
|
||||
Runtime also owns the complete ordered inbound subscription set and exact
|
||||
teardown acknowledgement stages. The superseded App controller, lifecycle
|
||||
host, event router, and subscription owner were deleted.
|
||||
|
||||
App remains the graphical host. It converts `RuntimeOptions` into immutable
|
||||
Runtime connection options, supplies graphical/domain lifecycle callbacks, and
|
||||
projects one borrowed `ICommandBus` route for retained UI. That bridge stores
|
||||
no generation, transport, or in-world state; only one route can be active, and
|
||||
the old route becomes inert before inbound callbacks detach.
|
||||
|
||||
No AC wire behavior, pixels, input timing, or retail algorithm changed.
|
||||
|
||||
## Automated acceptance
|
||||
|
||||
At the production commit:
|
||||
|
||||
- Runtime tests: 79 passed;
|
||||
- App tests: 3,776 passed / 3 skipped;
|
||||
- complete Release solution: 8,428 passed / 5 skipped;
|
||||
- Release solution build: pass.
|
||||
|
||||
Coverage includes bind-before-connect and activate-after-EnterWorld ordering,
|
||||
stale generation rejection, malformed and reentrant lifecycle paths,
|
||||
construction rollback, exact retryable teardown suffixes, one-active-route
|
||||
graphical projection, stale-route inertness, and a Runtime-only
|
||||
connect/disconnect graph that loads no App, UI, Silk.NET, OpenAL, Arch, or
|
||||
ImGui assembly.
|
||||
|
||||
## Connected lifecycle acceptance
|
||||
|
||||
Raw evidence:
|
||||
`logs/connected-world-gate-20260725-193936/report.json`.
|
||||
|
||||
Result: PASS on the exact production commit.
|
||||
|
||||
- Capped process: login, Aerlinthe, Rynthid, Facility Hub, Holtburg after the
|
||||
dungeon, and Aerlinthe revisit all completed.
|
||||
- Fresh uncapped process: reconnect completed.
|
||||
- Seven of seven checkpoints passed.
|
||||
- Both processes exited gracefully with exit code zero.
|
||||
- Every checkpoint reported zero render-shadow mismatches and zero pending
|
||||
render deltas.
|
||||
- No gate failure was recorded.
|
||||
- The only warning was 25 expected world-edge landblock misses.
|
||||
|
||||
This proves that moving session/transport lifetime and inbound route ownership
|
||||
out of App preserved live connection, packet routing, world traversal,
|
||||
replacement, and graceful shutdown on the exact binary.
|
||||
|
||||
## Exact rollback
|
||||
|
||||
```text
|
||||
git revert 75930787741db40a83eab8663e4464dce8d687ba
|
||||
```
|
||||
|
||||
J1 remains independently reversible with:
|
||||
|
||||
```text
|
||||
git revert 854d9e9cd13092bd5aaa3cf025d73eeb4600e9f8
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue