Skip to content

seat feeder: gpu-worker and gpu-coordinator have no feeder; the uplink writes running:false and context_window 32768 while Halogen is saturated, graded MEASURED #432

Description

@mecattaf

What is declared

/home/tom/mecattaf/dotfiles/home/seat-feeder.nix declares one user timer per external-seat instrument at half-tick. MEASURED, systemctl --user list-timers 'tally-seat-feeder*' --no-pager prints exactly three units and no more:

tally-seat-feeder-claude.timer         last 2026-09-19 23:17:27 CEST
tally-seat-feeder-codex.timer          last 2026-09-19 23:17:27 CEST
tally-seat-feeder-pi-qwencloud.timer   last 2026-09-19 23:17:27 CEST

There is no tally-seat-feeder-gpu-worker and no tally-seat-feeder-gpu-coordinator.

What that leaves behind

MEASURED, ls -la --time-style=full-iso /home/tom/.local/state/tally-rewrite/meters/ at 23:17 CEST:

file mtime cadence it implies
cc.json, cc2.json, cc3.json, codex.json, pi-qwencloud.json 23:16:56 to 23:17:08 the 30 s feeder half-tick
gpu-worker.json, gpu-coordinator.json, mechanical.json 23:16:58 the 5 min tally-uplink.timer wake

Three rows are written by the uplink itself, on the uplink's cadence, because nothing else writes them.

/home/tom/.local/state/tally-rewrite/meters/gpu-worker.json, verbatim at that minute:

{"schema_version":"seat-meter/1","seat":"gpu-worker","owner":"kernel",
 "observed_at":"2026-09-19T21:16:58.627Z","utilization_pct":0,"holders":0,"capacity":1,
 "running":false,"running_grade":"MEASURED","running_source":"not-applicable",
 "running_detail":"none","context_window":32768,"checkpoint_grace_seconds":30,
 "kill_grace_seconds":10,"per_attempt_token_cap":100000,"window":{"kind":"none"}}

MEASURED at the same minute, from the two oracles that do know:

  • curl -s http://worker:8731/health: in_flight: 1, busy_for_s: 6.5, slots: 4, slot_ctx: 262144, context: 262144.
  • tally query pools: worker-gpu capacity 1, held 1, queued 216, signal STOP.

So at one instant, on one box, the seat row says the GPU is idle at utilization 0 with a 32,768 token context, the server says it is mid call, and the scheduler says it is at 100 percent with 216 jobs waiting. The row the lake reads is the one that is wrong.

running_grade: "MEASURED" on a field nobody measured is worse than an absent row. It converts a gap into a false positive, against the standing rule that unknown is never headroom.

Ask

Add a tally-seat-feeder-gpu-worker unit to /home/tom/mecattaf/dotfiles/home/seat-feeder.nix alongside the three that exist, polling http://worker:8731/health every half-tick and writing:

  • running from in_flight > 0 or busy
  • running_detail from busy_for_s
  • holders and capacity from tally query pools for worker-gpu, or from slots when the daemon is unreachable
  • context_window from the server's own context, which reads 262144, not from a 32768 constant
  • running_grade MEASURED only when the poll succeeded, and UNKNOWN with a reason when it did not

Do the same for gpu-coordinator or declare it explicitly ungraded. Until a feeder exists, the uplink should write the row with running_grade: "UNKNOWN" and a reason rather than asserting a measurement it did not take.

Cross-link: tally#63 asks for the kernel-side half of this. The pairing convention is already in use (#425 with tally#59, #427 with tally#62).

tier: Opus

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions