docs(runtime): close communication ownership

Record J4.1's single Runtime communication/social graph, failure-safe ordered chat stream, complete Release evidence, exact-binary lifecycle/reconnect acceptance, rollback, and the J4.2 inventory transaction boundary. Synchronize architecture, roadmap, milestones, agent guidance, and durable memory.

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-26 07:59:02 +02:00
parent c9d25ade50
commit 595d5e6b01
9 changed files with 169 additions and 14 deletions

View file

@ -1,6 +1,6 @@
# Modern runtime Slice J4 — gameplay-state lifetime groups
**Status:** ACTIVE
**Status:** J4.1 COMPLETE; J4.2 ACTIVE
**Parent:** `2026-07-25-modern-runtime-slice-j.md`, J4
**Production base:** `77c013998b902724d66e487589a4ea18538e1ea6`
**Authorization:** the user approved Slices FL, including Slice J gameplay
@ -17,6 +17,16 @@ UI, devtools, plugins, and the live-session router borrow those exact
instances. Every moved group retains current synchronous packet/command
ordering and its existing retail-derived algorithms.
## Execution ledger
| Group | Status | Evidence |
|---|---|---|
| J4.1 communication/social | complete | `c9d25ade50c0a5c4f7db5b6cca680e01e35cc18e`; 152 Runtime tests, 3,765 App tests / 3 skips, 8,494 complete Release tests / 5 skips, and `logs/connected-world-gate-20260726-075109/report.json` pass |
| J4.2 inventory transactions | active | Runtime must borrow J3's exact object table and take ownership of external-container, item-mana, shortcut/component, shared busy, and one-request-at-a-time state |
| J4.3 magic/player sheet | pending | starts only after J4.2 exact-binary acceptance |
| J4.4 character projections | pending | starts only after J4.3 acceptance |
| J4.5 combined cleanup | pending | combined failure, no-window, connected, and nine-stop closeout |
## Current ownership inventory
The App `GameWindow` currently constructs or roots these
@ -60,6 +70,8 @@ environment, and portal presentation remain J6.
### J4.1 — communication and social state
**Completed 2026-07-26 at `c9d25ade`.**
- Add a Runtime owner for `ChatLog`, `TurbineChatState`, `FriendsState`,
`SquelchState`, and reply/retell command targets.
- Move reply/retell target tracking out of `ChatVM`; the VM borrows the same
@ -73,8 +85,19 @@ Gate: incoming/outgoing tell tracking, room negotiation/cookie wrap, friend and
squelch updates, command routing, clear, reset/reconnect, graphical/direct
event traces, disposal, and Runtime dependency closure.
Result: `RuntimeCommunicationState` constructs and owns the exact `ChatLog`,
reply/retell targets, Turbine rooms, friends, and squelch database. Session
routing, both UI stacks, plugins/current-runtime views, and command routing
borrow those instances. The canonical chat stream is synchronous,
failure-isolated, and preserves one monotonic sequence under re-entrant
callbacks without a frame/background queue. Exact-binary lifecycle/reconnect
evidence is recorded in
[`../research/2026-07-26-slice-j4-1-communication-state.md`](../research/2026-07-26-slice-j4-1-communication-state.md).
### J4.2 — inventory transaction state
**Active.**
- Move `ExternalContainerState`, `ItemManaState`, shortcuts, and desired
component snapshots into one Runtime owner.
- Keep the J3 object table as the only item collection and borrow it directly.
@ -158,3 +181,9 @@ git revert 119b7c115107245546180b2f5cb3cb44c7d5476a
```
Do not revert J3 to mask a J4 owner/reset failure.
J4.1 is independently reversible with:
```text
git revert c9d25ade50c0a5c4f7db5b6cca680e01e35cc18e
```