Define the exact Runtime/App ownership boundary, lifecycle ordering, teardown suffix, no-window gate, and deletion criteria before moving transport ownership.
2.3 KiB
Modern runtime Slice J1 closeout
Result
Slice J1 is complete at production commit
854d9e9cd13092bd5aaa3cf025d73eeb4600e9f8.
AcDream.Runtime now defines the presentation-independent seams required
before ownership moves:
- borrowed immutable entity, inventory, chat, movement, and portal views;
- generation-gated typed session, selection, combat, movement, chat, and portal commands;
- ordered typed deltas and normalized parity traces;
- an instance-scoped frame/simulation clock;
- lifecycle snapshots, generation tokens, and retryable teardown acknowledgements.
The App implementation is deliberately an adapter over current canonical owners. It does not copy mutable collections, add a command queue, own a second GUID map, or add a frame of input latency. Startup and press-time input reach the same session, selection, movement, and combat owners synchronously. No gameplay owner moved in J1.
Automated acceptance
At the production commit:
- Runtime contract tests: 13 passed;
- App tests: 3,838 passed / 3 skipped;
- complete Release solution: 8,424 passed / 5 skipped;
- Release solution build: pass.
The tests cover clock normalization/freeze and instance isolation, generation and teardown semantics, event-sequencer isolation, trace normalization, connected start through the adapter, borrowed live entity/inventory/chat/ portal views, same-owner command mutation, ordered domain traces, stale generation rejection, and complete stop acknowledgement.
Connected lifecycle acceptance
Raw evidence:
logs/connected-world-gate-20260725-190953/report.json.
Result: PASS on the exact production commit.
- Capped process: login plus Aerlinthe, Rynthid, Facility Hub, Holtburg after dungeon, and Aerlinthe revisit all completed.
- Fresh uncapped process: reconnect completed.
- Seven of seven checkpoints passed.
- Both processes exited gracefully with exit code zero.
- No gate failure was recorded.
- The only warning was 25 expected world-edge landblock misses.
This connected run proves that routing the startup command through the J1 seam did not alter live connection, world traversal, replacement, or shutdown behavior.
Exact rollback
git revert 854d9e9cd13092bd5aaa3cf025d73eeb4600e9f8
J0 remains independently reversible with:
git revert b632672e5ccabfb44c551e08f1c411ab2669c44a