acdream/memory/project_modern_runtime_headless.md

3.8 KiB
Raw Blame History

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:

git revert 3f3401257c83bdd9f557eb577ba08cf2e5ec9a06

K4 rollbacks, newest first:

git revert 776482da8225d88a7c6128022d137d26f9266a87
git revert bd236ce553718cfb1248703f4a2b17b35733b11c
git revert 97c174fbb2d72fb94e2fe07448bb257989ed8941
git revert cb512fd0