acdream/docs/research/2026-07-27-slice-k4-resource-telemetry-checkpoint.md

4.5 KiB

Slice K4 resource telemetry checkpoint

Date: 2026-07-27 Status: Instrumentation and CPU-wakeup correction complete; fixed-binary connected baselines remain active Production commit: cb512fd0

Outcome

The Linux headless process now emits one structured resource sample at startup, every 30 seconds, before scheduler stop, and after terminal disposal. Sampling is driven by the existing process scheduler's absolute deadline. It does not add a worker, timer, or callback per session.

Each sample reports:

  • working set, private bytes, virtual bytes, total CPU time, interval CPU as both core-equivalent and machine-normalized percentages;
  • managed live, heap, fragmentation, committed and allocated bytes, memory load, GC pause percentage, and generation counts;
  • process thread/handle counts and Linux file/socket descriptors;
  • configured, in-world, faulted, reconnecting, and converged Runtime roots, entity/inventory totals, and exact host-lease count;
  • scheduler waits, turns, catch-up collapses, late-deadline count, mean and maximum lateness;
  • shared-content lease count, mapped virtual bytes, disposal state, and final convergence.

No account password or credential reference is included in this schema.

Two-account connected evidence

One native Linux process connected the two locally available accounts:

  • testaccount / +Acdream
  • testaccount2 / +Horan

Both entered Rynthid and maintained independent Runtime roots and movement. The user asked that this process stay running for the retail-observer gate.

The first process sample after both world entries reported:

Metric Value
private bytes 207,966,208
working set 191,553,536
managed live bytes 71,108,368
threads 16
handles 115
Linux descriptors 114
socket descriptors 3
shared content leases 2
mapped package virtual bytes 29,908,271,024

The roughly 29.9 GB mapped-package value is address space, not resident or private memory. The mmap remains shared and demand-paged.

After movement and additional portal/density activity, the latest recorded sample before this checkpoint reported 305,393,664 private bytes, 332,742,656 working-set bytes, 139,609,360 managed live bytes, 418 entities, 16 threads, 117 handles, and the same three socket descriptors. Entity count changed from 187 to 418 during that interval, so the memory delta is not treated as a same-workload per-session ceiling.

Scheduler finding and correction

The connected samples exposed two distinct scheduler problems:

  1. scheduler deadlines began during host construction, before sequential account connects completed, producing a false initial catch-up and a roughly 615 ms maximum-lateness sample;
  2. the final positive sub-millisecond Task.Delay remainder rounded down to zero on Linux, causing millions of wait-loop turns between actual 15 ms simulation deadlines.

The correction:

  • rebases every session and observation deadline exactly once after all configured sessions enter the world;
  • refuses to rebase a scheduler that has already dispatched;
  • rounds only positive sub-millisecond timer waits up to one millisecond;
  • retains the 15 ms absolute simulation cadence and bounded catch-up rules.

The process still under user observation was intentionally not restarted, so its high wait counter belongs to the pre-correction artifact. The committed correction is protected by deterministic rebase/lateness tests and a real system-timer test that fails if the scheduler busy-loops between turns.

Automated gates

  • Windows Headless Release: 56 passed.
  • Native Ubuntu Headless Release: 56 passed.
  • Complete Windows Release suite: 8,773 passed / 5 skipped.
  • Windows and native Ubuntu Release builds complete.
  • Diagnostics assert two configured sessions, no password text, and exact two-runtime terminal convergence.

Remaining K4 gate

The next connected restart must use exact binary cb512fd0 or a documented descendant and prove the wait counter remains cadence-bounded, initial catch-up remains zero, CPU falls accordingly, and terminal resource samples converge. Available credentials support a two-account connected scale gate. The 5/10/30-session isolation and endurance dimensions therefore remain automated in-process gates unless additional local ACE accounts are provisioned.

Numeric ceilings are not yet committed: they will be derived only from the fixed binary under matched 1- and 2-session workloads.

Rollback

git revert cb512fd0