3.5 KiB
Modern Runtime headless continuation
Current checkpoint
Slice J is closed. Slice K0-K3 are closed; K4 implementation is complete
through 776482da, with the exact connected terminal gate active.
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
Applyechoes update canonical state but do not reset the local headless movement controller. ForcePositionusesBlipPosition, 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.
Next work
Finish K4 from docs/plans/2026-07-26-modern-runtime-slice-k.md:
- keep the exact
776482datwo-account Rynthid process running while the user observes it; - verify every periodic sample remains inside the committed envelope with no fault/reconnect/lease debt;
- stop it gracefully and require a final
disposedsample with two converged Runtime roots, zero entities/inventory/host leases, disposed shared content, andwithinCeilings=true; - close Slice K and begin Slice L Linux graphical/platform work.
Final K3 automated counts: Runtime 412, Headless 47, App 3,722 / 3 skips, complete Release 8,764 / 5 skips.
K3 connected-closeout rollback:
git revert 3f3401257c83bdd9f557eb577ba08cf2e5ec9a06
K4 rollbacks, newest first:
git revert 776482da8225d88a7c6128022d137d26f9266a87
git revert bd236ce553718cfb1248703f4a2b17b35733b11c
git revert 97c174fbb2d72fb94e2fe07448bb257989ed8941
git revert cb512fd0