docs(runtime): close magic and player ownership

Record J4.3's coupled Runtime character graph, desired-component single ownership, complete Release evidence, exact-binary lifecycle/reconnect acceptance, rollback, and the J4.4 projection 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 08:46:12 +02:00
parent d02a12ceac
commit 9d0d9b07e0
9 changed files with 175 additions and 15 deletions

View file

@ -1,6 +1,6 @@
# acdream — strategic roadmap
**Status:** Living document. Updated 2026-07-26. **M3 landed; M4 is active.** M3's retail casting/UI, R6 locomotion/collision/projectile/teleport/radar rebaseline, deterministic fresh-login/portal world lifecycle, and final two-client portal observer flow are user-gated. All eight slices of the behavior-preserving ownership campaign in [`docs/architecture/code-structure.md`](../architecture/code-structure.md), their automated closeout, and the user's connected visual matrix are complete. Modern Runtime J3's canonical entity/object lifetime plus J4.1 communication/social and J4.2 inventory-transaction ownership are closed; J4.3 magic/player-sheet ownership is active. Issue #225's lifestone/particle alpha comparison remains a separate rendering visual gate.
**Status:** Living document. Updated 2026-07-26. **M3 landed; M4 is active.** M3's retail casting/UI, R6 locomotion/collision/projectile/teleport/radar rebaseline, deterministic fresh-login/portal world lifecycle, and final two-client portal observer flow are user-gated. All eight slices of the behavior-preserving ownership campaign in [`docs/architecture/code-structure.md`](../architecture/code-structure.md), their automated closeout, and the user's connected visual matrix are complete. Modern Runtime J3's canonical entity/object lifetime plus J4.1 communication/social, J4.2 inventory-transaction, and J4.3 magic/player-sheet ownership are closed; J4.4 character projections are active. Issue #225's lifestone/particle alpha comparison remains a separate rendering visual gate.
**Purpose:** One source of truth for where the project is and where it's going. Every observed defect or missing feature has a named phase that owns it; when something looks wrong in-game, look here to find the phase that'll address it. Implementation details live in per-phase specs under `docs/superpowers/specs/`, not in this file.
---
@ -1721,7 +1721,12 @@ port in any phase — no separate listing here.
> one-request-at-a-time state while borrowing J3's exact object table. Its 157
> Runtime tests, 3,770 App tests / 3 skips, 8,515-test / 5-skip complete
> Release suite, and exact-binary seven-checkpoint lifecycle/reconnect gate
> pass. J4.3 magic/player-sheet ownership is active.
> pass. J4.3 is complete at `d02a12ce`: Runtime owns the exact coupled
> spellbook/local-player graph, content and every graphical/no-window consumer
> borrow it, and the duplicate desired-component snapshot is deleted. Its 162
> Runtime tests, 3,772 App tests / 3 skips, 8,522-test / 5-skip complete
> Release suite, and exact-binary seven-checkpoint lifecycle/reconnect gate
> pass. J4.4 character projections are active.
> The historical exact cutover
> rollback remains
> `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`. Slice H is complete:

View file

@ -197,7 +197,12 @@ residency is `0/0/0` at every stable checkpoint and teardown converges. Slice I
one-request-at-a-time state while borrowing J3's exact object table. Its
157 Runtime tests, 3,770 App tests / 3 skips, 8,515 full Release tests / 5
skips, and exact-binary seven-checkpoint lifecycle/reconnect route pass.
J4.3 magic/player-sheet ownership is active under
J4.3 is complete at `d02a12ce`: Runtime owns the exact coupled
spellbook/local-player graph, content and presentation borrow it, and the
duplicate desired-component snapshot is deleted. Its 162 Runtime tests,
3,772 App tests / 3 skips, 8,522 full Release tests / 5 skips, and
exact-binary seven-checkpoint lifecycle/reconnect route pass. J4.4 character
projections are active under
[`2026-07-25-modern-runtime-slice-j.md`](2026-07-25-modern-runtime-slice-j.md).
Slice-I closeout evidence is
[`../research/2026-07-25-slice-i7-closeout.md`](../research/2026-07-25-slice-i7-closeout.md).
@ -213,6 +218,8 @@ Slice-J3.5 closeout evidence is
[`../research/2026-07-26-slice-j3-5-canonical-delta-stream.md`](../research/2026-07-26-slice-j3-5-canonical-delta-stream.md).
Slice-J3.6 closeout evidence is
[`../research/2026-07-26-slice-j3-6-lifetime-closeout.md`](../research/2026-07-26-slice-j3-6-lifetime-closeout.md).
Slice-J4.3 closeout evidence is
[`../research/2026-07-26-slice-j4-3-character-state.md`](../research/2026-07-26-slice-j4-3-character-state.md).
The historical exact G4 visual rollback remains
`git revert ef1d263337997bb030eadb7b8e71d73dc659907a`.

View file

@ -12,8 +12,9 @@ and object-table lifetime to Runtime, exact graphical projection identity to
App, and one ordered canonical entity/object stream plus direct views to all
hosts and closed the failure-safe owner ledger. J4.1 moved communication and
social ownership into Runtime at `c9d25ade`; J4.2 moved inventory transaction
ownership into Runtime at `011efbea`; J4.3 magic/player-sheet ownership is the
active execution point.
ownership into Runtime at `011efbea`; J4.3 moved the coupled magic/player-sheet
owner into Runtime at `d02a12ce`; J4.4 character projections are the active
execution point.
**Scope:** Reconcile and sequence the existing Modern Pipeline (`MP`) and
Linux/headless (`LH`) tracks using the 2026-07-24 connected performance audit.

View file

@ -1,6 +1,6 @@
# Modern runtime Slice J — presentation-independent runtime
**Status:** J0J3 COMPLETE; J4.1J4.2 COMPLETE; J4.3 magic/player ownership active
**Status:** J0J3 COMPLETE; J4.1J4.3 COMPLETE; J4.4 character projections 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
@ -239,7 +239,13 @@ Runtime owns external-container, item-mana, shortcut/component, shared-busy,
use-reservation, and one-request-at-a-time state while borrowing J3's exact
object table. Its 157 Runtime tests, 3,770 App tests / 3 skips, 8,515 complete
Release tests / 5 skips, and exact-binary seven-checkpoint
lifecycle/reconnect gate pass. J4.3 magic/player-sheet ownership is active.
lifecycle/reconnect gate pass. J4.3 completed at `d02a12ce`:
`RuntimeCharacterState` owns the coupled spellbook and local player sheet;
content, routing, retained UI, reset, and shutdown borrow it, and the duplicate
desired-component snapshot is gone. Its 162 Runtime tests, 3,772 App tests / 3
skips, 8,522 complete Release tests / 5 skips, and exact-binary
seven-checkpoint lifecycle/reconnect gate pass. J4.4 character projections are
active.
Detailed execution begins with a source-ownership inventory. Move one coherent
lifetime group at a time in this order:

View file

@ -1,6 +1,6 @@
# Modern runtime Slice J4 — gameplay-state lifetime groups
**Status:** J4.1J4.2 COMPLETE; J4.3 ACTIVE
**Status:** J4.1J4.3 COMPLETE; J4.4 ACTIVE
**Parent:** `2026-07-25-modern-runtime-slice-j.md`, J4
**Production base:** `77c013998b902724d66e487589a4ea18538e1ea6`
**Authorization:** the user approved Slices FL, including Slice J gameplay
@ -23,8 +23,8 @@ ordering and its existing retail-derived algorithms.
|---|---|---|
| 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 | complete | `011efbeaa72509b35ea7f4a442e50a2377ae1ea4`; 157 Runtime tests, 3,770 App tests / 3 skips, 8,515 complete Release tests / 5 skips, and `logs/connected-world-gate-20260726-082057/report.json` pass |
| J4.3 magic/player sheet | active | move the coupled `Spellbook` and `LocalPlayerState` owner graph while retaining immutable DAT catalog installation |
| J4.4 character projections | pending | starts only after J4.3 acceptance |
| J4.3 magic/player sheet | complete | `d02a12ceac54d035797b4c58f2fc2f0ccad9a4d6`; 162 Runtime tests, 3,772 App tests / 3 skips, 8,522 complete Release tests / 5 skips, and `logs/connected-world-gate-20260726-083921/report.json` pass |
| J4.4 character projections | active | move remaining character options/skill-derived state and expose the borrowed J4 view/command surface |
| J4.5 combined cleanup | pending | combined failure, no-window, connected, and nine-stop closeout |
## Current ownership inventory
@ -120,6 +120,8 @@ Exact evidence is recorded in
### J4.3 — spell, enchantment, vital, attribute, and skill state
**Completed 2026-07-26 at `d02a12ce`.**
- Move construction/lifetime of the coupled `Spellbook` and
`LocalPlayerState` into Runtime.
- Preserve one-time immutable `SpellTable` installation from App content.
@ -133,6 +135,13 @@ Gate: complete PlayerDescription, incremental updates, spell/enchantment
add/remove, favorite/filter/component changes, cooldowns, vital modifiers,
clear/reconnect, ViewModel revisions, and graphical/direct trace parity.
Result: `RuntimeCharacterState` constructs and owns the exact coupled
`Spellbook` and `LocalPlayerState`. Content installs immutable DAT metadata
through that owner; routing, retained UI, reset, and shutdown borrow it. The
interim desired-component mirror was deleted, leaving the spellbook as the
only mutable component-count owner. Exact evidence is recorded in
[`../research/2026-07-26-slice-j4-3-character-state.md`](../research/2026-07-26-slice-j4-3-character-state.md).
### J4.4 — character settings and player-state projections
- Move remaining presentation-independent character options and skill-derived
@ -201,3 +210,9 @@ J4.2 is independently reversible with:
```text
git revert 011efbeaa72509b35ea7f4a442e50a2377ae1ea4
```
J4.3 is independently reversible with:
```text
git revert d02a12ceac54d035797b4c58f2fc2f0ccad9a4d6
```