---
name: a-single-idle-sample-of-a-busy-box-is-a-lull
description: "2026-09-08: my watcher read cargo=0 rustc=0 on kitsubito and I moved to launch a battery. Re-censusing first showed cargo=1 rustc=11, 5/15-min load 12.70/11.61 — the box was mid-CI throughout. The zero was a gap between rustc bursts."
metadata:
  node_type: memory
  type: feedback
---

Waiting for the CI runner box to free up, my poll printed `cargo=0 rustc=0` and I was one command
from launching a twohost battery into it. I re-censused before launching: `cargo=1 rustc=11`, load
`9.54 12.70 11.61`. CI had been running the whole time — the zero was a GAP BETWEEN rustc bursts
(and between jobs), which is indistinguishable from a finished run in a single sample.

**Why:** an instantaneous census of a busy system samples its gaps as well as its work. A build is
not a steady process; it is bursts with holes, and the holes are exactly as wide as one poll. Same
family as the job-list rule that nearly released a battery onto a box a twohost leg was starting on
— an early or instantaneous reading is not the run's state.

**How to apply:**
- Require SUSTAINED quiet: three consecutive idle samples ~60 s apart before saying the word.
- Print the 1/5/15 load triple on every line. A 1-minute average of 7 beside 5/15-minute averages
  of 12 says "decaying from busy", which one number cannot; a decaying average is visible rather
  than inferred.
- Confirm with the OWNER of the work, not just its absence — `readlink /proc/<pid>/cwd` on the
  builder names the tree (an `actions-runner/_work/...` cwd = CI, and on this project the ff-push
  concluding a golden STARTS a post-merge run on that same box).

**Counter defect found in the same watcher, worth its own line:** `pgrep -c -x cargo 2>/dev/null ||
echo 0` prints `0` AND exits 1 when it finds nothing, so the fallback appends a SECOND `0`; the line
read `cargo=0\n0 rustc=0\n0` and the match arm never fired even when the box WAS idle. Third counter
of mine in one day whose authority I had not pinned — see [[a-column-that-reads-one-value-on-every-row-is-a-broken-extractor]].
