acdream/memory/project_modern_runtime_headless.md

97 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Modern Runtime headless continuation
## Current checkpoint
Slice J and Slice K are closed. K4 completed through `776482da`.
K3's production closeout commit is `3f340125`. Its automated predecessors are
`12b500d3`, `9569dadb`, and `b6547ff3`.
K4 commits after the telemetry/CPU checkpoint are:
- `97c174fb`: 1/5/10/30-root content sharing, same-GUID isolation, portal,
reconnect, and 480,000-frame-per-root two-hour simulated endurance;
- `bd236ce5`: death during the endurance route plus five randomized
30-session cancellation-edge runs;
- `776482da`: committed diagnostic-only 30-session resource ceilings,
per-sample evaluation, named failures, and exact running/terminal ownership
checks.
Windows and native Ubuntu Headless tests pass 67/67; the complete Release
suite passes 8,784 / 5 skips.
The Windows visible-terminal host and native Linux/WSL host both connected to
local ACE without loading presentation assemblies. Linux completed the
Aerlinthe/Caul/Rynthid/lifestone route, accepted external `teleallto`
destinations, remained visible to a retail observer, turned and ran smoothly,
and shut down through ACE-confirmed graceful logout. The user accepted the
observer movement gate on 2026-07-27.
## Important connected correction
`RuntimeLiveEntitySessionController` passes the exact accepted
`PositionTimestampDisposition` to the direct world projection.
- Normal `Apply` echoes update canonical state but do not reset the local
headless movement controller.
- `ForcePosition` uses `BlipPosition`, preserves active movement semantics, and
sends an immediate autonomous-position acknowledgement.
- A real teleport performs one full synchronization from
`PrepareDestination`.
Do not reintroduce full local-player synchronization for every accepted
Position packet; it stops movement and causes retail observers to see repeated
run/snap-back rubberbanding.
Collision `[snap]` output is high volume and must remain behind the explicit
`PhysicsEngine.DiagnosticLog` sink.
## Automation seam
Graphical automation and headless policies use `IGameRuntimeView`,
`IGameRuntimeCommands`, `IRuntimeEventSource`, and the same
`RuntimeLocalPlayerFrameController`/outbound serializers. The route and
observer policies are diagnostic consumers, not a second bot world or
movement implementation.
The user requires optional direct single-session CLI launch with
`-user`/`-password` or the long-form aliases. Multi-session configuration
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`.
## Deferred graphical continuation
Slice L is parked under
`docs/plans/2026-07-26-modern-runtime-slice-l.md`. L0 completed at
`66f114b2`, and L1's immutable backend/capability implementation checkpoint
landed at `11501d52`. Native Windows passes; WSLg correctly rejects its missing
mandatory bindless-texture capability. By user direction on 2026-07-27,
physical Linux validation and L2L6 are deferred. Resume from
`memory/project_linux_graphical.md` at the physical supported-driver L1 gate;
do not revisit headless ownership or add a renderer fallback.
Final K3 automated counts: Runtime 412, Headless 47, App 3,722 / 3 skips,
complete Release 8,764 / 5 skips.
K3 connected-closeout rollback:
```text
git revert 3f3401257c83bdd9f557eb577ba08cf2e5ec9a06
```
K4 rollbacks, newest first:
```text
git revert 776482da8225d88a7c6128022d137d26f9266a87
git revert bd236ce553718cfb1248703f4a2b17b35733b11c
git revert 97c174fbb2d72fb94e2fe07448bb257989ed8941
git revert cb512fd0
```