docs(headless): close modern runtime slice K
This commit is contained in:
parent
b2ab0956f2
commit
1628d9f587
8 changed files with 97 additions and 69 deletions
20
AGENTS.md
20
AGENTS.md
|
|
@ -350,7 +350,7 @@ no-window hosts share one `GameRuntime`, one retryable canonical-generation
|
||||||
reset transaction, and one gameplay-owner graph. Its 395 Runtime tests, 3,731
|
reset transaction, and one gameplay-owner graph. Its 395 Runtime tests, 3,731
|
||||||
App tests / 3 skips, 8,696 complete Release tests / 5 skips, exact-binary
|
App tests / 3 skips, 8,696 complete Release tests / 5 skips, exact-binary
|
||||||
lifecycle/reconnect route, and canonical nine-stop route pass. Slice K
|
lifecycle/reconnect route, and canonical nine-stop route pass. Slice K
|
||||||
Linux headless/multi-session implementation is active. K0 completed at
|
Linux headless/multi-session implementation is complete. K0 completed at
|
||||||
`aada8a37`: `AcDream.Headless` references only Runtime, strict no-connect
|
`aada8a37`: `AcDream.Headless` references only Runtime, strict no-connect
|
||||||
validation and dependency/loaded-assembly guards pass, and the local Ubuntu
|
validation and dependency/loaded-assembly guards pass, and the local Ubuntu
|
||||||
closure passes 600 Core.Net, 119 Content, 395 Runtime, and 12 Headless tests.
|
closure passes 600 Core.Net, 119 Content, 395 Runtime, and 12 Headless tests.
|
||||||
|
|
@ -384,11 +384,13 @@ endurance gates; `bd236ce5` added death and randomized cancellation coverage;
|
||||||
`776482da` committed the diagnostic-only 30-session resource envelope and
|
`776482da` committed the diagnostic-only 30-session resource envelope and
|
||||||
exact running/terminal ownership checks. Windows and native Ubuntu Headless
|
exact running/terminal ownership checks. Windows and native Ubuntu Headless
|
||||||
tests pass 67/67; the complete Release suite passes 8,784 / 5 skips. The exact
|
tests pass 67/67; the complete Release suite passes 8,784 / 5 skips. The exact
|
||||||
`776482da` native Linux two-account process is currently running at Rynthid:
|
`776482da` native Linux two-account process ran for ten minutes with 20
|
||||||
both sessions are in-world with zero faults, bounded scheduler cadence, and
|
consecutive passing periodic samples, zero faults/reconnect debt, bounded
|
||||||
every sampled CPU/memory/thread/descriptor/socket/lateness dimension within
|
scheduler cadence, and every resource dimension inside its ceiling. SIGINT
|
||||||
the committed ceiling. Its graceful terminal convergence remains the final
|
produced ACE-confirmed graceful logout for both accounts and a passing final
|
||||||
K4/Slice-K closeout gate.
|
`disposed` sample: two converged Runtime roots, zero entities/inventory/host
|
||||||
|
or content leases, and disposed shared content. K4 and Slice K are closed;
|
||||||
|
Slice L Linux graphical/platform work is active.
|
||||||
J0's rollback is
|
J0's rollback is
|
||||||
`git revert b632672e5ccabfb44c551e08f1c411ab2669c44a`.
|
`git revert b632672e5ccabfb44c551e08f1c411ab2669c44a`.
|
||||||
J1's rollback is
|
J1's rollback is
|
||||||
|
|
@ -491,8 +493,8 @@ closeout is
|
||||||
`docs/research/2026-07-27-slice-j8-no-window-closeout.md`; K0 closeout is
|
`docs/research/2026-07-27-slice-j8-no-window-closeout.md`; K0 closeout is
|
||||||
`docs/research/2026-07-27-slice-k0-portability-boundary.md`; K1 closeout is
|
`docs/research/2026-07-27-slice-k0-portability-boundary.md`; K1 closeout is
|
||||||
`docs/research/2026-07-27-slice-k1-single-session-headless.md`; K2 closeout is
|
`docs/research/2026-07-27-slice-k1-single-session-headless.md`; K2 closeout is
|
||||||
`docs/research/2026-07-27-slice-k2-deterministic-bot-parity.md`; Slice K executes
|
`docs/research/2026-07-27-slice-k2-deterministic-bot-parity.md`; Slice K is
|
||||||
from `docs/plans/2026-07-26-modern-runtime-slice-k.md`; K4 telemetry evidence is
|
closed in `docs/plans/2026-07-26-modern-runtime-slice-k.md`; K4 evidence is
|
||||||
`docs/research/2026-07-27-slice-k4-resource-telemetry-checkpoint.md`. The exact G4 visual
|
`docs/research/2026-07-27-slice-k4-resource-telemetry-checkpoint.md`. The exact G4 visual
|
||||||
rollback
|
rollback
|
||||||
is `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`; do not revert G3 or
|
is `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`; do not revert G3 or
|
||||||
|
|
@ -533,7 +535,7 @@ uncapped Release presentation is smooth, while physics, collision, and wire
|
||||||
truth remain correct.
|
truth remain correct.
|
||||||
See `docs/plans/2026-07-22-gamewindow-slice-8-composition-lifecycle.md` and
|
See `docs/plans/2026-07-22-gamewindow-slice-8-composition-lifecycle.md` and
|
||||||
`docs/architecture/code-structure.md`. **Carried:** #153, #116, remaining
|
`docs/architecture/code-structure.md`. **Carried:** #153, #116, remaining
|
||||||
R6 ownership cleanup, TS-50/TS-51/TS-53, Modern Runtime Slice K+, and #225's
|
R6 ownership cleanup, TS-50/TS-51/TS-53, Modern Runtime Slice L, and #225's
|
||||||
lifestone/particle alpha visual gate.
|
lifestone/particle alpha visual gate.
|
||||||
|
|
||||||
Start structural work at `memory/project_gamewindow_decomposition.md` and
|
Start structural work at `memory/project_gamewindow_decomposition.md` and
|
||||||
|
|
|
||||||
20
CLAUDE.md
20
CLAUDE.md
|
|
@ -348,7 +348,7 @@ no-window hosts share one `GameRuntime`, one retryable canonical-generation
|
||||||
reset transaction, and one gameplay-owner graph. Its 395 Runtime tests, 3,731
|
reset transaction, and one gameplay-owner graph. Its 395 Runtime tests, 3,731
|
||||||
App tests / 3 skips, 8,696 complete Release tests / 5 skips, exact-binary
|
App tests / 3 skips, 8,696 complete Release tests / 5 skips, exact-binary
|
||||||
lifecycle/reconnect route, and canonical nine-stop route pass. Slice K
|
lifecycle/reconnect route, and canonical nine-stop route pass. Slice K
|
||||||
Linux headless/multi-session implementation is active. K0 completed at
|
Linux headless/multi-session implementation is complete. K0 completed at
|
||||||
`aada8a37`: `AcDream.Headless` references only Runtime, strict no-connect
|
`aada8a37`: `AcDream.Headless` references only Runtime, strict no-connect
|
||||||
validation and dependency/loaded-assembly guards pass, and the local Ubuntu
|
validation and dependency/loaded-assembly guards pass, and the local Ubuntu
|
||||||
closure passes 600 Core.Net, 119 Content, 395 Runtime, and 12 Headless tests.
|
closure passes 600 Core.Net, 119 Content, 395 Runtime, and 12 Headless tests.
|
||||||
|
|
@ -382,11 +382,13 @@ endurance gates; `bd236ce5` added death and randomized cancellation coverage;
|
||||||
`776482da` committed the diagnostic-only 30-session resource envelope and
|
`776482da` committed the diagnostic-only 30-session resource envelope and
|
||||||
exact running/terminal ownership checks. Windows and native Ubuntu Headless
|
exact running/terminal ownership checks. Windows and native Ubuntu Headless
|
||||||
tests pass 67/67; the complete Release suite passes 8,784 / 5 skips. The exact
|
tests pass 67/67; the complete Release suite passes 8,784 / 5 skips. The exact
|
||||||
`776482da` native Linux two-account process is currently running at Rynthid:
|
`776482da` native Linux two-account process ran for ten minutes with 20
|
||||||
both sessions are in-world with zero faults, bounded scheduler cadence, and
|
consecutive passing periodic samples, zero faults/reconnect debt, bounded
|
||||||
every sampled CPU/memory/thread/descriptor/socket/lateness dimension within
|
scheduler cadence, and every resource dimension inside its ceiling. SIGINT
|
||||||
the committed ceiling. Its graceful terminal convergence remains the final
|
produced ACE-confirmed graceful logout for both accounts and a passing final
|
||||||
K4/Slice-K closeout gate.
|
`disposed` sample: two converged Runtime roots, zero entities/inventory/host
|
||||||
|
or content leases, and disposed shared content. K4 and Slice K are closed;
|
||||||
|
Slice L Linux graphical/platform work is active.
|
||||||
J0's rollback is
|
J0's rollback is
|
||||||
`git revert b632672e5ccabfb44c551e08f1c411ab2669c44a`.
|
`git revert b632672e5ccabfb44c551e08f1c411ab2669c44a`.
|
||||||
J1's rollback is
|
J1's rollback is
|
||||||
|
|
@ -489,8 +491,8 @@ closeout is
|
||||||
`docs/research/2026-07-27-slice-j8-no-window-closeout.md`; K0 closeout is
|
`docs/research/2026-07-27-slice-j8-no-window-closeout.md`; K0 closeout is
|
||||||
`docs/research/2026-07-27-slice-k0-portability-boundary.md`; K1 closeout is
|
`docs/research/2026-07-27-slice-k0-portability-boundary.md`; K1 closeout is
|
||||||
`docs/research/2026-07-27-slice-k1-single-session-headless.md`; K2 closeout is
|
`docs/research/2026-07-27-slice-k1-single-session-headless.md`; K2 closeout is
|
||||||
`docs/research/2026-07-27-slice-k2-deterministic-bot-parity.md`; Slice K executes
|
`docs/research/2026-07-27-slice-k2-deterministic-bot-parity.md`; Slice K is
|
||||||
from `docs/plans/2026-07-26-modern-runtime-slice-k.md`; K4 telemetry evidence is
|
closed in `docs/plans/2026-07-26-modern-runtime-slice-k.md`; K4 evidence is
|
||||||
`docs/research/2026-07-27-slice-k4-resource-telemetry-checkpoint.md`. The exact G4 visual
|
`docs/research/2026-07-27-slice-k4-resource-telemetry-checkpoint.md`. The exact G4 visual
|
||||||
rollback
|
rollback
|
||||||
is `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`; do not revert G3 or
|
is `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`; do not revert G3 or
|
||||||
|
|
@ -531,7 +533,7 @@ uncapped Release presentation is smooth, while physics, collision, and wire
|
||||||
truth remain correct.
|
truth remain correct.
|
||||||
See `docs/plans/2026-07-22-gamewindow-slice-8-composition-lifecycle.md` and
|
See `docs/plans/2026-07-22-gamewindow-slice-8-composition-lifecycle.md` and
|
||||||
`docs/architecture/code-structure.md`. **Carried:** #153, #116, remaining
|
`docs/architecture/code-structure.md`. **Carried:** #153, #116, remaining
|
||||||
R6 ownership cleanup, TS-50/TS-51/TS-53, Modern Runtime Slice K+, and #225's
|
R6 ownership cleanup, TS-50/TS-51/TS-53, Modern Runtime Slice L, and #225's
|
||||||
lifestone/particle alpha visual gate.
|
lifestone/particle alpha visual gate.
|
||||||
|
|
||||||
Start structural work at `memory/project_gamewindow_decomposition.md` and
|
Start structural work at `memory/project_gamewindow_decomposition.md` and
|
||||||
|
|
|
||||||
|
|
@ -253,7 +253,10 @@ src/
|
||||||
Hosting/ -> one GameRuntime/session/lease/policy lifetime
|
Hosting/ -> one GameRuntime/session/lease/policy lifetime
|
||||||
Policies/ -> typed Runtime-view/command consumers
|
Policies/ -> typed Runtime-view/command consumers
|
||||||
-> references Runtime only; no presentation/backend package
|
-> references Runtime only; no presentation/backend package
|
||||||
-> K0-K2 complete; shared process-content ownership (K3) active
|
-> Slice K complete: portable single/multi-session production host,
|
||||||
|
deterministic scheduler/bot API, shared immutable process content,
|
||||||
|
1/5/10/30-root isolation/endurance, numeric resource envelope, and
|
||||||
|
exact connected/terminal convergence
|
||||||
|
|
||||||
AcDream.Plugin.Abstractions/ Layer 5: plugin interfaces
|
AcDream.Plugin.Abstractions/ Layer 5: plugin interfaces
|
||||||
IAcDreamPlugin.cs -> done
|
IAcDreamPlugin.cs -> done
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# acdream — strategic roadmap
|
# 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 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 is implemented through `776482da`: resource telemetry/wait correction, 1/5/10/30-root isolation and two-hour simulated endurance, death/randomized cancellation, and a committed diagnostic-only resource/ownership envelope all pass. The exact `776482da` two-account Rynthid soak is active; graceful terminal convergence is the final Slice-K gate. 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 closed. K0's tested no-presentation Windows/Linux boundary closed at `aada8a37`, K1's portable single-session host at `f8cb840f`, K2's deterministic scheduler and shared bot API at `7e8acb74` plus `38e83640`, and K3's shared-content/isolation plus connected observer gate at `3f340125`. K4 closed through `776482da`: 1/5/10/30-root isolation and two-hour simulated endurance, death/randomized cancellation, committed resource ceilings, ten minutes of exact native Linux two-account connected sampling, ACE-confirmed graceful logout, and zero-debt Runtime/content convergence all pass. Slice L Linux graphical/platform 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.
|
**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.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -1800,7 +1800,7 @@ port in any phase — no separate listing here.
|
||||||
> exact post-cutover visual matrix on 2026-07-27. J8 closed Slice J at
|
> exact post-cutover visual matrix on 2026-07-27. J8 closed Slice J at
|
||||||
> `a9a822f2`: 395 Runtime tests, 3,731 App tests / 3 skips, 8,696 complete-
|
> `a9a822f2`: 395 Runtime tests, 3,731 App tests / 3 skips, 8,696 complete-
|
||||||
> solution tests / 5 skips, lifecycle/reconnect, and canonical nine-stop gates
|
> solution tests / 5 skips, lifecycle/reconnect, and canonical nine-stop gates
|
||||||
> pass. Slice K Linux headless/multi-session implementation is active. K0's
|
> pass. Slice K Linux headless/multi-session implementation is complete. K0's
|
||||||
> portable no-presentation boundary closed at `aada8a37`; K1's production
|
> portable no-presentation boundary closed at `aada8a37`; K1's production
|
||||||
> single-session Windows/Linux host closed at `f8cb840f` after both platforms
|
> single-session Windows/Linux host closed at `f8cb840f` after both platforms
|
||||||
> completed the same real ACE connect, portal, graceful reconnect, and terminal
|
> completed the same real ACE connect, portal, graceful reconnect, and terminal
|
||||||
|
|
@ -1814,8 +1814,9 @@ port in any phase — no separate listing here.
|
||||||
> root isolation and two-hour simulated endurance, death/randomized
|
> root isolation and two-hour simulated endurance, death/randomized
|
||||||
> cancellation, and a committed numeric envelope. Windows/native-Ubuntu
|
> cancellation, and a committed numeric envelope. Windows/native-Ubuntu
|
||||||
> Headless tests pass 67/67 and the complete Release suite passes 8,784 / 5
|
> Headless tests pass 67/67 and the complete Release suite passes 8,784 / 5
|
||||||
> skips. The exact two-account connected soak is active; graceful terminal
|
> skips. The exact two-account connected soak then passed 20 periodic samples,
|
||||||
> convergence remains.
|
> ACE-confirmed graceful logout, and a zero-debt `disposed` record. Slice K is
|
||||||
|
> closed and Slice L is active.
|
||||||
> The historical exact cutover
|
> The historical exact cutover
|
||||||
> rollback remains
|
> rollback remains
|
||||||
> `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`. Slice H is complete:
|
> `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`. Slice H is complete:
|
||||||
|
|
@ -1861,12 +1862,12 @@ hitch and follows.
|
||||||
> **PROMOTED TO ACTIVE MODERN RUNTIME SLICES K/L.** Slice K now executes the
|
> **PROMOTED TO ACTIVE MODERN RUNTIME SLICES K/L.** Slice K now executes the
|
||||||
> no-window Linux host and approximately 30-session target from
|
> 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);
|
> [`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-K3 are complete and
|
> Slice L executes the graphical Linux/platform work. K0-K4 and Slice K are
|
||||||
> K4 is implemented through `776482da`. Its automated 1/5/10/30-root
|
> complete through `776482da`. Its automated 1/5/10/30-root
|
||||||
> isolation, two-hour simulated endurance, death/cancellation, and committed
|
> isolation, two-hour simulated endurance, death/cancellation, and committed
|
||||||
> resource-envelope gates pass; the exact two-account connected process is
|
> resource-envelope gates pass; the exact two-account connected process added
|
||||||
> running inside the envelope and only its graceful terminal convergence
|
> ten minutes of passing samples, graceful logout, and complete terminal
|
||||||
> remains. The historical LH rows below remain the stable outcome map.
|
> convergence. The historical LH rows below remain the stable outcome map.
|
||||||
|
|
||||||
The governing architectural rule is that a game session must not be a hidden
|
The governing architectural rule is that a game session must not be a hidden
|
||||||
`GameWindow`. Authentication, networking, world state, movement, inventory,
|
`GameWindow`. Authentication, networking, world state, movement, inventory,
|
||||||
|
|
@ -1884,11 +1885,14 @@ gameplay implementations.
|
||||||
| LH4 | Multi-session bot host, targeting approximately 30 concurrent clients in one process | Sessions isolate credentials, GUID maps, clocks, queues, plugins/behaviors, and teardown while sharing only immutable/read-only DAT and collision content caches; one-session-per-process remains a diagnostic/isolation option |
|
| LH4 | Multi-session bot host, targeting approximately 30 concurrent clients in one process | Sessions isolate credentials, GUID maps, clocks, queues, plugins/behaviors, and teardown while sharing only immutable/read-only DAT and collision content caches; one-session-per-process remains a diagnostic/isolation option |
|
||||||
| LH5 | Bot automation surface | Actions cover movement, targeting, use, combat, casting, looting, chat, and commands; events cover object/session/portal, inventory, damage, and target lifecycle; deterministic scheduling and server-safe rate limiting are testable |
|
| LH5 | Bot automation surface | Actions cover movement, targeting, use, combat, casting, looting, chat, and commands; events cover object/session/portal, inventory, damage, and target lifecycle; deterministic scheduling and server-safe rate limiting are testable |
|
||||||
|
|
||||||
Track acceptance requires 30 connected Linux headless sessions with no GPU or
|
Track acceptance uses 30 production Runtime roots in one Linux process with no
|
||||||
display-server dependency, bounded per-session CPU/memory growth, clean
|
GPU or display-server dependency, bounded per-session CPU/memory growth, clean
|
||||||
connect/disconnect/reconnect teardown, credential-safe diagnostics, and parity
|
connect/disconnect/reconnect teardown, credential-safe diagnostics, and parity
|
||||||
tests proving that GUI and headless hosts drive the same gameplay runtime. LOD
|
tests proving that GUI and headless hosts drive the same gameplay runtime.
|
||||||
has no role in headless mode because no scene is rendered.
|
The two locally available ACE accounts provide the connected scale/observer
|
||||||
|
gate; deterministic production-owner fixtures provide the 5/10/30-root and
|
||||||
|
two-hour dimensions. LOD has no role in headless mode because no scene is
|
||||||
|
rendered.
|
||||||
|
|
||||||
Native macOS graphical support is not committed by this track. The current
|
Native macOS graphical support is not committed by this track. The current
|
||||||
mandatory renderer requires modern OpenGL capabilities beyond Apple's native
|
mandatory renderer requires modern OpenGL capabilities beyond Apple's native
|
||||||
|
|
|
||||||
|
|
@ -278,7 +278,7 @@ residency is `0/0/0` at every stable checkpoint and teardown converges. Slice I
|
||||||
transaction, and one gameplay-owner graph. Its 395 Runtime tests, 3,731 App
|
transaction, and one gameplay-owner graph. Its 395 Runtime tests, 3,731 App
|
||||||
tests / 3 skips, 8,696 complete-solution tests / 5 skips, exact-binary
|
tests / 3 skips, 8,696 complete-solution tests / 5 skips, exact-binary
|
||||||
lifecycle/reconnect route, and canonical nine-stop route pass. Slice K is
|
lifecycle/reconnect route, and canonical nine-stop route pass. Slice K is
|
||||||
active under
|
complete under
|
||||||
[`2026-07-26-modern-runtime-slice-k.md`](2026-07-26-modern-runtime-slice-k.md).
|
[`2026-07-26-modern-runtime-slice-k.md`](2026-07-26-modern-runtime-slice-k.md).
|
||||||
K0 completed at `aada8a37`: `AcDream.Headless` has a hard no-presentation
|
K0 completed at `aada8a37`: `AcDream.Headless` has a hard no-presentation
|
||||||
dependency boundary, strict no-connect validation, and Windows/Ubuntu CI.
|
dependency boundary, strict no-connect validation, and Windows/Ubuntu CI.
|
||||||
|
|
@ -311,9 +311,12 @@ residency is `0/0/0` at every stable checkpoint and teardown converges. Slice I
|
||||||
per-process/per-session ceilings with exact running/terminal ownership
|
per-process/per-session ceilings with exact running/terminal ownership
|
||||||
checks (`776482da`). Windows and native Ubuntu Headless tests pass 67/67 and
|
checks (`776482da`). Windows and native Ubuntu Headless tests pass 67/67 and
|
||||||
the complete Release suite passes 8,784 tests / 5 skips. The exact
|
the complete Release suite passes 8,784 tests / 5 skips. The exact
|
||||||
`776482da` two-account Rynthid soak is active with zero faults and every
|
`776482da` two-account native Linux process completed ten minutes and 20
|
||||||
sampled resource dimension inside its ceiling; graceful terminal
|
consecutive periodic samples with zero faults/reconnect debt and every
|
||||||
convergence remains the final Slice-K closeout gate.
|
dimension inside its ceiling. SIGINT then produced ACE-confirmed graceful
|
||||||
|
logout for both accounts and a passing `disposed` record with two converged
|
||||||
|
Runtime roots, zero entities/inventory/host/content leases, and disposed
|
||||||
|
shared content. K4 and Slice K are closed; Slice L is active.
|
||||||
Slice-I closeout evidence is
|
Slice-I closeout evidence is
|
||||||
[`../research/2026-07-25-slice-i7-closeout.md`](../research/2026-07-25-slice-i7-closeout.md).
|
[`../research/2026-07-25-slice-i7-closeout.md`](../research/2026-07-25-slice-i7-closeout.md).
|
||||||
Slice-J2 closeout evidence is
|
Slice-J2 closeout evidence is
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
# Modern runtime Slice K — Linux headless and multi-session host
|
# Modern runtime Slice K — Linux headless and multi-session host
|
||||||
|
|
||||||
**Status:** K0–K3 COMPLETE; K4 IMPLEMENTED, CONNECTED TERMINAL GATE ACTIVE
|
**Status:** COMPLETE 2026-07-27
|
||||||
2026-07-27
|
|
||||||
**Parent:** `2026-07-24-modern-runtime-architecture.md`, Slice K
|
**Parent:** `2026-07-24-modern-runtime-architecture.md`, Slice K
|
||||||
**Authorization:** the user approved Slices F–L on 2026-07-24
|
**Authorization:** the user approved Slices F–L on 2026-07-24
|
||||||
**Purpose:** run efficient automated clients on Linux without a display, GPU,
|
**Purpose:** run efficient automated clients on Linux without a display, GPU,
|
||||||
|
|
@ -368,11 +367,13 @@ teardown.
|
||||||
|
|
||||||
Windows and native Ubuntu Headless tests pass 67/67; the complete Release
|
Windows and native Ubuntu Headless tests pass 67/67; the complete Release
|
||||||
suite passes 8,784 tests / 5 skips. The exact `776482da` native Linux process
|
suite passes 8,784 tests / 5 skips. The exact `776482da` native Linux process
|
||||||
has both available accounts in-world at Rynthid, zero faults/reconnect debt,
|
completed ten minutes with both available accounts, 20 consecutive passing
|
||||||
bounded wakeups and CPU, and every sampled dimension inside the committed
|
periodic samples, zero fault/reconnect debt, bounded CPU/wakeups/lateness, and
|
||||||
ceiling. The user requested that it remain running for observation; its
|
every resource dimension inside the committed ceiling. SIGINT produced
|
||||||
graceful `disposed` sample is the sole remaining K4/Slice-K closeout gate.
|
ACE-confirmed graceful logout for both accounts. The final `disposed` sample
|
||||||
Evidence:
|
reported two converged Runtime roots, zero entities/inventory/host/content
|
||||||
|
leases, disposed shared content, and `withinCeilings=true`. K4 and Slice K are
|
||||||
|
closed. Evidence:
|
||||||
`docs/research/2026-07-27-slice-k4-resource-telemetry-checkpoint.md`.
|
`docs/research/2026-07-27-slice-k4-resource-telemetry-checkpoint.md`.
|
||||||
|
|
||||||
- Measure a 1-session warm baseline, then 5, 10, and 30 sessions.
|
- Measure a 1-session warm baseline, then 5, 10, and 30 sessions.
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
# Slice K4 resource telemetry checkpoint
|
# Slice K4 resource and endurance closeout
|
||||||
|
|
||||||
**Date:** 2026-07-27
|
**Date:** 2026-07-27
|
||||||
**Status:** Implementation and automated gates complete; exact connected
|
**Status:** COMPLETE
|
||||||
terminal gate active
|
|
||||||
**Production commits:** `cb512fd0`, `97c174fb`, `bd236ce5`, `776482da`
|
**Production commits:** `cb512fd0`, `97c174fb`, `bd236ce5`, `776482da`
|
||||||
|
|
||||||
## Outcome
|
## Outcome
|
||||||
|
|
@ -145,21 +144,29 @@ observational only.
|
||||||
- Diagnostics assert no credential text and exact 1/5/10/30-root terminal
|
- Diagnostics assert no credential text and exact 1/5/10/30-root terminal
|
||||||
convergence.
|
convergence.
|
||||||
|
|
||||||
## Remaining K4 gate
|
## Exact connected terminal gate
|
||||||
|
|
||||||
The exact `776482da` two-account process is running under the committed
|
The exact `776482da` native Linux process ran both available accounts for ten
|
||||||
envelope. After the observer window it must receive graceful cancellation and
|
minutes. It emitted 20 consecutive passing periodic samples with zero
|
||||||
emit a final `disposed` sample with:
|
fault/reconnect debt and no resource-envelope violation. The final running
|
||||||
|
sample reported 290,693,120 private bytes, 269,709,312 resident bytes,
|
||||||
|
117,592,656 managed live bytes, 17 threads, 115 handles, 116 descriptors,
|
||||||
|
three sockets, 79.1 waits/second, 133.3 turns/second, zero continuing
|
||||||
|
catch-ups, 3.05 ms mean lateness, and 145.1 ms maximum lateness.
|
||||||
|
|
||||||
- two converged Runtime roots;
|
SIGINT entered the normal production teardown path. ACE confirmed graceful
|
||||||
- zero in-world/reconnecting/faulted sessions;
|
logout for `+Horan` and `+Acdream`. The final `disposed` sample reported:
|
||||||
|
|
||||||
|
- `configuredCount=2`, `convergedRuntimeCount=2`;
|
||||||
|
- zero in-world, faulted, or reconnecting sessions;
|
||||||
- zero entities, inventory objects, and host leases;
|
- zero entities, inventory objects, and host leases;
|
||||||
- zero shared-content leases with content disposed/converged;
|
- zero shared-content leases, content disposed and converged;
|
||||||
- `withinCeilings=true`.
|
- one post-network baseline socket descriptor;
|
||||||
|
- `withinCeilings=true` with no violations.
|
||||||
|
|
||||||
Only then does Slice K close. Available credentials support two simultaneous
|
Available credentials support two simultaneous connected accounts; 5/10/30
|
||||||
connected accounts; 5/10/30-session scale and two-hour duration are therefore
|
root scale and two-hour duration are proved by the deterministic
|
||||||
proved by the deterministic in-process production-owner fixtures.
|
production-owner fixtures. K4 and Slice K are closed.
|
||||||
|
|
||||||
## Rollback
|
## Rollback
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,7 @@
|
||||||
|
|
||||||
## Current checkpoint
|
## Current checkpoint
|
||||||
|
|
||||||
Slice J is closed. Slice K0-K3 are closed; K4 implementation is complete
|
Slice J and Slice K are closed. K4 completed through `776482da`.
|
||||||
through `776482da`, with the exact connected terminal gate active.
|
|
||||||
|
|
||||||
K3's production closeout commit is `3f340125`. Its automated predecessors are
|
K3's production closeout commit is `3f340125`. Its automated predecessors are
|
||||||
`12b500d3`, `9569dadb`, and `b6547ff3`.
|
`12b500d3`, `9569dadb`, and `b6547ff3`.
|
||||||
|
|
@ -59,18 +58,25 @@ The user requires optional direct single-session CLI launch with
|
||||||
`-user`/`-password` or the long-form aliases. Multi-session configuration
|
`-user`/`-password` or the long-form aliases. Multi-session configuration
|
||||||
continues to use credential providers.
|
continues to use credential providers.
|
||||||
|
|
||||||
|
## Final connected closeout
|
||||||
|
|
||||||
|
The exact `776482da` native Linux process ran both available accounts for ten
|
||||||
|
minutes. Twenty consecutive periodic samples passed the committed envelope
|
||||||
|
with zero fault/reconnect debt. SIGINT produced ACE-confirmed graceful logout
|
||||||
|
for both accounts. The final `disposed` sample had two converged Runtime roots,
|
||||||
|
zero entities/inventory/host/content leases, disposed shared content, and
|
||||||
|
`withinCeilings=true`.
|
||||||
|
|
||||||
## Next work
|
## Next work
|
||||||
|
|
||||||
Finish K4 from `docs/plans/2026-07-26-modern-runtime-slice-k.md`:
|
Slice L is active under
|
||||||
|
`docs/plans/2026-07-26-modern-runtime-slice-l.md`. The initial read-only L0
|
||||||
1. keep the exact `776482da` two-account Rynthid process running while the user
|
probe already proves framework-dependent `linux-x64` App publish succeeds and
|
||||||
observes it;
|
ships resolved GLFW, OpenAL Soft, and cimgui native libraries. The smoke plugin
|
||||||
2. verify every periodic sample remains inside the committed envelope with no
|
is missing from the publish because its copy target uses Windows-shaped paths.
|
||||||
fault/reconnect/lease debt;
|
Frame pacing still directly constructs the Windows waitable-timer owner, and
|
||||||
3. stop it gracefully and require a final `disposed` sample with two converged
|
App/UI persistence still defaults to Windows `LocalApplicationData`; those
|
||||||
Runtime roots, zero entities/inventory/host leases, disposed shared
|
are the first L0 implementation seams.
|
||||||
content, and `withinCeilings=true`;
|
|
||||||
4. close Slice K and begin Slice L Linux graphical/platform work.
|
|
||||||
|
|
||||||
Final K3 automated counts: Runtime 412, Headless 47, App 3,722 / 3 skips,
|
Final K3 automated counts: Runtime 412, Headless 47, App 3,722 / 3 skips,
|
||||||
complete Release 8,764 / 5 skips.
|
complete Release 8,764 / 5 skips.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue