docs(runtime): close exact world host ownership

This commit is contained in:
Erik 2026-07-26 18:41:24 +02:00
parent 18d17d8bb1
commit 75f9510e10
13 changed files with 240 additions and 43 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 canonical entity/object lifetime and J4 gameplay-state ownership are closed at `89e6b207`; J5.1 canonical selection/combat/target-mode ownership is closed at `b298f99f`, J5.2 interaction transactions at `f5f7b417`, J5.3 combat/magic intent at `20df9d15`, J5.4 local movement/outbound cadence at `aa3f4a60`, J5.5 per-session physics/remote simulation at `7e6033d0`, J5.6 projectile simulation at `2aee3356`, and J5.7 combined simulation closeout at `cdee7a4b`. J6.1 world-environment ownership is closed at `902076c0`; J6.2 canonical reveal generation and typed destination readiness is closed at `a6860d55` plus `acb845d8`; J6.3 exact F751/Position destination correlation is closed at `6a063a27`; J6.4 graphical-host acknowledgement and owner cleanup 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 canonical entity/object lifetime and J4 gameplay-state ownership are closed at `89e6b207`; J5.1 canonical selection/combat/target-mode ownership is closed at `b298f99f`, J5.2 interaction transactions at `f5f7b417`, J5.3 combat/magic intent at `20df9d15`, J5.4 local movement/outbound cadence at `aa3f4a60`, J5.5 per-session physics/remote simulation at `7e6033d0`, J5.6 projectile simulation at `2aee3356`, and J5.7 combined simulation closeout at `cdee7a4b`. J6.1 world-environment ownership is closed at `902076c0`; J6.2 canonical reveal generation and typed destination readiness is closed at `a6860d55` plus `acb845d8`; J6.3 exact F751/Position destination correlation is closed at `6a063a27`; J6.4 exact graphical-host acknowledgement and owner cleanup is closed at `18d17d8b`. J7 composition-root convergence is 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.
---
@ -1792,7 +1792,11 @@ port in any phase — no separate listing here.
> validation; the App transit coordinator and destination mirror are deleted.
> Its 360 Runtime tests, 3,710 App tests / 3 skips, 8,631-test / 5-skip complete
> Release suite, and exact-binary lifecycle/reconnect route pass. J6.4
> graphical-host acknowledgement and owner cleanup is active.
> completed at `18d17d8b`: Runtime owns exact generation/cell-scoped host
> obligations and App owns only retryable graphical resource receipts. Its 365
> Runtime tests, 3,716 App tests / 3 skips, 8,642-test / 5-skip complete Release
> suite, and exact-binary lifecycle/reconnect route pass with zero ownership
> debt at every checkpoint. J7 composition-root convergence is active.
> The historical exact cutover
> rollback remains
> `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`. Slice H is complete:

View file

@ -266,8 +266,13 @@ residency is `0/0/0` at every stable checkpoint and teardown converges. Slice I
destination, and generation/sequence/cell placement and materialization
validation; App's transit coordinator and destination mirror are deleted.
Its 360 Runtime tests, 3,710 App tests / 3 skips, 8,631 complete Release tests
/ 5 skips, and exact-binary lifecycle/reconnect route pass. J6.4 graphical-
host acknowledgement and owner cleanup is active under
/ 5 skips, and exact-binary lifecycle/reconnect route pass. J6.4 completed at
`18d17d8b`: Runtime owns the exact generation/cell-scoped graphical-host
acknowledgement suffix while App owns only retryable resource receipts.
Its 365 Runtime tests, 3,716 App tests / 3 skips, 8,642 complete Release tests
/ 5 skips, and exact-binary lifecycle/reconnect route pass with every
environment/transit/host ledger at zero. J7 composition-root convergence is
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).
@ -303,6 +308,8 @@ Slice-J5.6 closeout evidence is
[`../research/2026-07-26-slice-j5-6-projectile-ownership.md`](../research/2026-07-26-slice-j5-6-projectile-ownership.md).
Slice-J6.3 closeout evidence is
[`../research/2026-07-26-slice-j6-3-teleport-correlation.md`](../research/2026-07-26-slice-j6-3-teleport-correlation.md).
Slice-J6 closeout evidence is
[`../research/2026-07-26-slice-j6-4-host-acknowledgement.md`](../research/2026-07-26-slice-j6-4-host-acknowledgement.md).
The historical exact G4 visual rollback remains
`git revert ef1d263337997bb030eadb7b8e71d73dc659907a`.

View file

@ -21,9 +21,10 @@ and combat ownership closed at `cdee7a4b` after canonical action state
(`20df9d15`), local movement/outbound cadence (`aa3f4a60`), and per-session
physics/remote simulation (`7e6033d0`), projectile simulation (`2aee3356`),
and the combined simulation ledger/Runtime-only closeout moved to Runtime.
J6.1J6.3 moved world environment, canonical reveal generation/readiness, and
exact F751/Position destination correlation into Runtime. J6.4 graphical-host
acknowledgement and owner cleanup is active.
J6 completed at `18d17d8b`: Runtime owns world environment, canonical reveal
generation/readiness, exact F751/Position destination correlation, and the
generation/cell-scoped graphical-host acknowledgement suffix. J7
composition-root convergence is active.
**Scope:** Reconcile and sequence the existing Modern Pipeline (`MP`) and
Linux/headless (`LH`) tracks using the 2026-07-24 connected performance audit.
@ -1288,8 +1289,11 @@ environment, the reveal generation/readiness lifetime, wrap-safe
F751/Position correlation, and the exact generation/sequence/cell placement
handshake. Its 360 Runtime tests, 3,710 App tests / 3 skips, 8,631-test /
5-skip Release suite, and exact-binary lifecycle/reconnect gate pass. J6.4
graphical-host acknowledgement and owner cleanup is the current execution
point.
completed at `18d17d8b`: Runtime owns the exact outstanding graphical-host
projection stages and App owns only retryable resource receipts. Its 365
Runtime tests, 3,716 App tests / 3 skips, 8,642-test / 5-skip complete Release
suite, and exact-binary lifecycle/reconnect gate pass with zero ownership debt
at every stable checkpoint. J7 is the current execution point.
Evidence:
[`../research/2026-07-25-slice-g5-production-profile.md`](../research/2026-07-25-slice-g5-production-profile.md)
and

View file

@ -354,16 +354,19 @@ graphical feel gates remain unchanged.
### J6 — world, portal, environment, and projection handshake
**J6.0J6.3 complete; J6.4 active 2026-07-26.** The instance-scoped Runtime
**J6 complete 2026-07-26.** The instance-scoped Runtime
environment owner landed at `902076c0`. The canonical reveal generation and
typed readiness owner landed at `a6860d55` plus `acb845d8`; App's duplicate
lifecycle owner is deleted and the exact connected lifecycle/reconnect gate
passes with zero reveal invariants. Canonical F751/Position correlation and
exact generation/sequence/cell placement handshake landed at `6a063a27`; the
App transit coordinator and accepted-destination mirror are deleted. Its
360 Runtime tests, 3,710 App tests / 3 skips, 8,631-test / 5-skip complete
Release suite, and exact-binary lifecycle/reconnect route pass. Evidence:
[`../research/2026-07-26-slice-j6-3-teleport-correlation.md`](../research/2026-07-26-slice-j6-3-teleport-correlation.md).
App transit coordinator and accepted-destination mirror are deleted. Exact
typed host acknowledgement and retryable graphical-resource receipts landed at
`18d17d8b`; Runtime now retains every outstanding host obligation through
failure, re-entrancy, cancellation, supersession, and reset. Its 365 Runtime
tests, 3,716 App tests / 3 skips, 8,642-test / 5-skip complete Release suite,
and exact-binary lifecycle/reconnect route pass. Evidence:
[`../research/2026-07-26-slice-j6-4-host-acknowledgement.md`](../research/2026-07-26-slice-j6-4-host-acknowledgement.md).
Detailed owner inventory, retail ordering, host-acknowledgement contract,
execution ledger, adversarial matrix, and current plan:
[`2026-07-26-modern-runtime-slice-j6.md`](2026-07-26-modern-runtime-slice-j6.md).

View file

@ -1,6 +1,6 @@
# Modern runtime Slice J6 — world, transit, and host handshake
**Status:** J6.0J6.3 COMPLETE; J6.4 ACTIVE
**Status:** J6 COMPLETE
**Parent:** `2026-07-25-modern-runtime-slice-j.md`, J6
**Authorization:** the user approved Slices FL, including gameplay-owner
moves, on 2026-07-24
@ -53,11 +53,11 @@ the teleport generation, destination identity, materialization state, or
simulation availability. A headless host supplies the same acknowledgement
contract using its own required domains.
## 2. Current owner inventory
## 2. Baseline owner inventory (before J6)
### 2.1 Authoritative state incorrectly retained in App
### 2.1 Authoritative state that J6 removed from App
| Current owner | State | J6 destination |
| Baseline App owner | State | Final J6 owner |
|---|---|---|
| `WorldEnvironmentController` | server-synced world clock, selected day group, weather, AdminEnvirons override, debug overrides | `RuntimeWorldEnvironmentState` |
| static `DerethDateTime.OriginOffsetTicks` | mutable Region calendar origin shared by every process session | instance `DerethCalendar` owned by each environment |
@ -292,6 +292,8 @@ warning. Evidence:
### J6.4 — projection acknowledgement and owner cleanup
**Complete 2026-07-26 at `18d17d8b`.**
- Make App presentation registration/withdrawal use typed generation-scoped
acknowledgements.
- Ensure simulation release, viewport reveal, reservation release, and final
@ -306,8 +308,19 @@ warning. Evidence:
Gate: source/dependency guards find no App authority or Runtime presentation
dependency; every failure-injection ledger converges to zero.
Result: Runtime owns an exact host-projection token and typed remaining-stage
ledger for each reveal generation/destination. App retains only graphical
resource receipts attached to that token. Registration, simulation release,
reservation release, terminal completion, cancellation, supersession, and
reset preserve an exact retryable suffix through callback failure and
re-entrancy. Normalized checkpoints expose environment and transit ownership,
including pending host acknowledgements. Direct Runtime fixtures complete
login, portal, cancellation, and reset without loading App or a backend.
### J6.5 — connected and documentation closeout
**Complete 2026-07-26.**
- Run focused Core, Runtime, and App projects.
- Run `dotnet build AcDream.slnx -c Release`.
- Run the complete Release test suite.
@ -318,6 +331,14 @@ dependency; every failure-injection ledger converges to zero.
- Update architecture, code structure, milestone, roadmap, parent plan,
AGENTS/CLAUDE, divergence ledger, and durable memory.
Runtime tests pass 365/365, App tests pass 3,716/3 skips, and the complete
Release suite passes 8,642/5 skips. Exact-binary report
`logs/connected-world-gate-20260726-182805/report.json` records six capped
checkpoints and one uncapped fresh-process reconnect, graceful code-zero exits,
zero failures, and zero environment/transit/host ownership debt at every
stable checkpoint. Evidence:
[`../research/2026-07-26-slice-j6-4-host-acknowledgement.md`](../research/2026-07-26-slice-j6-4-host-acknowledgement.md).
J6 is complete only when automated and connected evidence proves:
- one Runtime environment owner;
@ -375,6 +396,12 @@ J6.3 exact rollback:
git revert 6a063a27d4c805cd166d5a487afc290c34c400fd
```
J6.4 exact rollback:
```text
git revert 18d17d8bb17ed9ff3ed01da8273e2948abe6398b
```
Documentation-only research/plan commits are not behavior rollback points.
No workaround, timer, forced-ready path, duplicated owner, or alternate
headless behavior is permitted.