3.2 KiB
Modern Runtime headless continuation
Current checkpoint
Slice J is closed. Slice K0-K3 are closed; K4 is active.
K3's production closeout commit is 3f340125. Its automated predecessors are
12b500d3, 9569dadb, and b6547ff3.
K4's resource-telemetry/CPU checkpoint is cb512fd0. It adds one
process-scheduler observation deadline, structured process/managed/session/
content/scheduler metrics, exact post-disposal convergence reporting, startup
deadline rebasing, and the Linux sub-millisecond busy-wait correction. It does
not add per-session timers or workers. Windows and native Ubuntu Headless
tests pass 56/56; the complete Release suite passes 8,773 / 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
Execute K4 from docs/plans/2026-07-26-modern-runtime-slice-k.md:
- after the user finishes observing the current two clients, restart on exact
cb512fd0or a documented descendant; - prove cadence-bounded wait count, zero startup catch-up, reduced CPU, and exact teardown convergence under matched one- and two-account workloads;
- derive and commit numeric per-session/process ceilings;
- run automated 5/10/30-root stress and endurance gates; the connected scale gate is presently limited to the two available local ACE accounts;
- prove stable plateaus and exact teardown convergence;
- close Slice K, then start 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 telemetry/CPU rollback:
git revert cb512fd0