docs(runtime): close J1 contract gate

Record the exact-binary connected lifecycle/reconnect acceptance, synchronized active pointers, rollback, and durable evidence before session ownership moves in J2.
This commit is contained in:
Erik 2026-07-25 19:16:30 +02:00
parent 854d9e9cd1
commit f84624b1e9
9 changed files with 146 additions and 16 deletions

View file

@ -1,7 +1,7 @@
# Modern runtime Slice J — presentation-independent runtime
**Status:** J0 COMPLETE — lifetime plan, project boundary, and dependency
guards; Slice I is closed and J1 is ACTIVE
**Status:** J0J1 COMPLETE — lifetime boundary plus borrowed view, command,
event, clock, generation, and teardown contracts; J2 is ACTIVE
**Parent:** `2026-07-24-modern-runtime-architecture.md`, Slice J
**Authorization:** the user approved Slices FL, including the otherwise-frozen
Slice J gameplay-owner moves, on 2026-07-24
@ -103,6 +103,8 @@ git revert b632672e5ccabfb44c551e08f1c411ab2669c44a
### J1 — read, command, event, clock, and lifecycle contracts
**Completed 2026-07-25 at `854d9e9c`.**
- Define `IGameRuntimeView`, typed command interfaces, ordered event/delta
records, instance clock, lifecycle states, generation tokens, and teardown
acknowledgements.
@ -117,6 +119,28 @@ Gate: adapter and direct-host traces are identical over deterministic session,
entity, inventory, chat, movement, and portal fixtures; no canonical owner has
moved yet.
Result:
- `AcDream.Runtime` owns immutable borrowed-view contracts, typed commands,
ordered deltas, an instance clock, generation tokens, lifecycle snapshots,
and retryable teardown acknowledgements.
- Focused App adapters borrow the current canonical owners. They create no
second GUID map, state store, command queue, or frame boundary.
- Startup plus press-time selection, movement, and combat input now traverse
the typed command seam synchronously and still mutate the exact same owners.
- Runtime tests pass 13/13, App tests pass 3,838 with three skips, and the
complete Release solution passes 8,424 tests with five skips.
- The exact-binary connected gate at
`logs/connected-world-gate-20260725-190953/report.json` passed six capped
world checkpoints plus a fresh uncapped reconnect. Both processes exited
gracefully with no failures.
Exact rollback:
```text
git revert 854d9e9cd13092bd5aaa3cf025d73eeb4600e9f8
```
### J2 — session lifetime and ordered transport group
- Remove App presentation dependencies from `LiveSessionController`,