docs(headless): close K3 connected gates
This commit is contained in:
parent
3f3401257c
commit
827a039760
7 changed files with 183 additions and 44 deletions
|
|
@ -1,6 +1,6 @@
|
|||
# acdream — strategic roadmap
|
||||
|
||||
**Status:** Living document. Updated 2026-07-27. **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's one graphical `GameRuntime` root is closed at `ce41efb9`, including the user's 2026-07-27 exact post-cutover visual acceptance. J8 closed Slice J at `a9a822f2` with one shared graphical/no-window root and generation-reset transaction. Slice K Linux headless/multi-session work is active; K0's tested no-presentation Windows/Linux boundary closed at `aada8a37`, K1's real portable single-session host closed at `f8cb840f`, and K2's deterministic scheduler plus complete shared bot command/event path closed at `7e8acb74` plus `38e83640`. K3's shared-content, collision-hydration, 1/5/10-session isolation, and fault-quarantine automated checkpoint landed at `12b500d3`, `9569dadb`, and `b6547ff3`; its visible-terminal Windows and Linux/WSL production gates remain. Issue #225's lifestone/particle alpha comparison remains a separate rendering visual gate.
|
||||
**Status:** Living document. Updated 2026-07-27. **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's one graphical `GameRuntime` root is closed at `ce41efb9`, including the user's 2026-07-27 exact post-cutover visual acceptance. J8 closed Slice J at `a9a822f2` with one shared graphical/no-window root and generation-reset transaction. Slice K Linux headless/multi-session work is active; K0's tested no-presentation Windows/Linux boundary closed at `aada8a37`, K1's real portable single-session host closed at `f8cb840f`, and K2's deterministic scheduler plus complete shared bot command/event path closed at `7e8acb74` plus `38e83640`. K3 closed at `3f340125` after the shared-content/collision/isolation checkpoint, visible-terminal Windows and native Linux production runs, four-stop portal route, external-teleport handling, and user-accepted retail-observer movement. K4 30-session resource and stability work 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.
|
||||
|
||||
---
|
||||
|
|
@ -1805,10 +1805,10 @@ port in any phase — no separate listing here.
|
|||
> single-session Windows/Linux host closed at `f8cb840f` after both platforms
|
||||
> completed the same real ACE connect, portal, graceful reconnect, and terminal
|
||||
> teardown gate. K2's absolute-deadline scheduler and full typed bot-command/
|
||||
> event parity closed at `7e8acb74` plus `38e83640`; K3's automated
|
||||
> shared-content/collision/isolation checkpoint landed at `12b500d3`,
|
||||
> `9569dadb`, and `b6547ff3`. Its visible-terminal Windows and Linux/WSL
|
||||
> production gates remain.
|
||||
> event parity closed at `7e8acb74` plus `38e83640`; K3 closed at
|
||||
> `3f340125` after the shared-content/collision/isolation checkpoint, visible
|
||||
> Windows and native Linux production runs, exact portal routing, graceful
|
||||
> teardown, and user-accepted retail-observer movement. K4 is active.
|
||||
> The historical exact cutover
|
||||
> rollback remains
|
||||
> `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`. Slice H is complete:
|
||||
|
|
@ -1854,8 +1854,8 @@ hitch and follows.
|
|||
> **PROMOTED TO ACTIVE MODERN RUNTIME SLICES K/L.** Slice K now executes the
|
||||
> no-window Linux host and approximately 30-session target from
|
||||
> [`2026-07-26-modern-runtime-slice-k.md`](2026-07-26-modern-runtime-slice-k.md);
|
||||
> Slice L executes the graphical Linux/platform work. K0-K2 are complete and
|
||||
> K3 is active. The historical LH rows below remain the stable outcome map.
|
||||
> Slice L executes the graphical Linux/platform work. K0-K3 are complete and
|
||||
> K4 is active. The historical LH rows below remain the stable outcome map.
|
||||
|
||||
The governing architectural rule is that a game session must not be a hidden
|
||||
`GameWindow`. Authentication, networking, world state, movement, inventory,
|
||||
|
|
|
|||
|
|
@ -294,14 +294,17 @@ residency is `0/0/0` at every stable checkpoint and teardown converges. Slice I
|
|||
absolute-deadline scheduler, the shared Runtime local-player frame sequence,
|
||||
complete generation-gated bot commands, and lifecycle/entity/inventory/chat/
|
||||
movement/portal/combat/command events pass 411 Runtime, 31 Headless, 3,732
|
||||
App / 3 skips, and 8,744 complete Release tests / 5 skips. K3's automated
|
||||
checkpoint landed across `12b500d3`, `9569dadb`, and `b6547ff3`: exact
|
||||
App / 3 skips, and 8,744 complete Release tests / 5 skips. K3 completed
|
||||
across `12b500d3`, `9569dadb`, `b6547ff3`, and `3f340125`: exact
|
||||
process content leases, immutable magic/terrain/bounded collision sharing,
|
||||
presentation-free local-player/collision hydration, 1/5/10-session
|
||||
same-GUID/portal/reconnect isolation, and policy-fault quarantine pass 412
|
||||
Runtime, 42 Headless, 3,722 App / 3 skips, and 8,758 complete Release tests
|
||||
/ 5 skips. The visible-terminal Windows and Linux/WSL production gates
|
||||
remain before K3 closes.
|
||||
same-GUID/portal/reconnect isolation, and policy-fault quarantine are joined
|
||||
by the visible-terminal Windows and native Linux/WSL production gates.
|
||||
Direct launch, four-stop portal routing, external `teleallto`, retail-client
|
||||
observer movement, graceful logout, and the corrected normal-position versus
|
||||
ForcePosition routing pass. Final gates report 412 Runtime, 47 Headless,
|
||||
3,722 App / 3 skips, and 8,764 complete Release tests / 5 skips. K4
|
||||
1/5/10/30-session resource-ceiling and stress work is active.
|
||||
Slice-I closeout evidence is
|
||||
[`../research/2026-07-25-slice-i7-closeout.md`](../research/2026-07-25-slice-i7-closeout.md).
|
||||
Slice-J2 closeout evidence is
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Modern runtime Slice K — Linux headless and multi-session host
|
||||
|
||||
**Status:** K0–K2 COMPLETE; K3 AUTOMATED CHECKPOINT COMPLETE, CONNECTED GATE ACTIVE 2026-07-27
|
||||
**Status:** K0–K3 COMPLETE; K4 ACTIVE 2026-07-27
|
||||
**Parent:** `2026-07-24-modern-runtime-architecture.md`, Slice K
|
||||
**Authorization:** the user approved Slices F–L on 2026-07-24
|
||||
**Purpose:** run efficient automated clients on Linux without a display, GPU,
|
||||
|
|
@ -171,11 +171,14 @@ Support non-interactive providers suitable for local automation:
|
|||
- standard-input secret stream;
|
||||
- credential file with an explicit user-only-permission check on Linux.
|
||||
|
||||
Do not accept a plaintext password directly on the command line because process
|
||||
lists expose it. `ToString`, validation errors, logs, checkpoints, crash
|
||||
reports, and metrics contain only redacted credential IDs. Secrets are cleared
|
||||
from retained buffers when the session is disposed where the BCL representation
|
||||
allows it.
|
||||
The user additionally requires an explicit `-user`/`-password` (and long-form
|
||||
alias) launch override for local single-session automation. It is accepted only
|
||||
for `run` with exactly one configured session and intentionally carries the
|
||||
ordinary process-list exposure of command-line arguments. Configuration-based
|
||||
multi-session production continues to use the providers above. `ToString`,
|
||||
validation errors, logs, checkpoints, crash reports, and metrics never echo the
|
||||
password, and the session wraps the value in the same disposable credential
|
||||
owner used by provider-based launch.
|
||||
|
||||
## 6. Bot surface
|
||||
|
||||
|
|
@ -293,7 +296,7 @@ not busy-loop.
|
|||
|
||||
### K3 — shared immutable content and isolation
|
||||
|
||||
**Automated checkpoint complete at `12b500d3`, `9569dadb`, and `b6547ff3`.**
|
||||
**Complete at `12b500d3`, `9569dadb`, `b6547ff3`, and `3f340125`.**
|
||||
The process opens the exact DAT/pak/magic/terrain sources once, shares a
|
||||
bounded immutable flat-collision cache, and gives each session its own
|
||||
Runtime/physics/cache/movement/collision-neighborhood graph. The direct
|
||||
|
|
@ -301,8 +304,26 @@ accepted-state route now hydrates local-player movement and terrain, EnvCell,
|
|||
building, stab, and procedural-scenery collision without loading presentation.
|
||||
The 1/5/10-session same-GUID/portal/reconnect gate and policy-fault quarantine
|
||||
pass. Runtime passes 412 tests, Headless 42, App 3,722/3 skips, and the complete
|
||||
Release solution 8,758/5 skips. The remaining K3 work is the visible-terminal
|
||||
Windows connected gate plus the matching Linux/WSL production gate. Evidence:
|
||||
Release solution 8,758/5 skips.
|
||||
|
||||
The connected closeout adds explicit portal-route and long-lived observer
|
||||
policies as consumers of the same `IGameRuntimeView` /
|
||||
`IGameRuntimeCommands` seam used by graphical automation. It also aligns the
|
||||
direct host with retail position routing: ordinary accepted position echoes no
|
||||
longer re-run teleport placement or stop local motion, `ForcePosition` uses
|
||||
`BlipPlayer` semantics plus an immediate position acknowledgement, and a real
|
||||
teleport performs exactly one destination placement. High-volume collision
|
||||
snap diagnostics are now explicitly opt-in.
|
||||
|
||||
The visible Windows production terminal passed connect, collision hydration,
|
||||
lifestone recall, graceful reconnect, second-generation materialization, and
|
||||
terminal teardown. The native Linux/WSL executable then passed direct CLI
|
||||
launch, exact Aerlinthe/Caul/Rynthid/lifestone routing, external `teleallto`
|
||||
portal generations, and a retail-client observer gate. The user saw the
|
||||
headless character turn and run smoothly without rubberbanding; three accepted
|
||||
external portal generations completed before ACE confirmed graceful logout.
|
||||
The final Release gate passes 412 Runtime tests, 47 Headless tests, 3,722 App
|
||||
tests / 3 skips, and 8,764 complete-solution tests / 5 skips. Evidence:
|
||||
`docs/research/2026-07-27-slice-k3-shared-content-isolation-checkpoint.md`.
|
||||
|
||||
- Introduce a process content owner with leases and exact last-user disposal.
|
||||
|
|
@ -402,9 +423,10 @@ git revert 38e83640d907ee3e0819f3b38ca117ca60914d6b
|
|||
git revert 7e8acb74dd20931d5ba88430fd100cd074a32e4d
|
||||
```
|
||||
|
||||
K3 automated-checkpoint rollback, newest first:
|
||||
K3 rollback, newest first:
|
||||
|
||||
```text
|
||||
git revert 3f3401257c83bdd9f557eb577ba08cf2e5ec9a06
|
||||
git revert b6547ff38c375328417855200f41c8af6436f246
|
||||
git revert 9569dadb578b299b24e30aec85eee86ec0c2b3fb
|
||||
git revert 12b500d38362e8aae0a23a4f9712b86367006f76
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue