Live test, 2026-08-06
Asked the Coder Lead (5fab318d) to delegate a read-only typecheck to any one of its four repo
coders. It replied:
- FAS platform — idle, coding session completed. No active runner.
- FWS platform — idle, coding session completed. No active runner.
- FGS platform — coding session failed/orphaned. No active runner.
- PAS Coder — idle, coding session completed. No active runner.
None of the four agents have a live coding session right now, so I cannot delegate the typecheck
job to any of them. You need to start a coding session (and run pags up) on at least one agent
before I can delegate anything.
Both halves of that are wrong.
1. The runner was online — and subordinate_status never mentions runners
coding_diagnostics for FAS (964594b6), same moment:
runnerOnline: true runnerStatus: online relayConnected: true reachable: true
runnerVersion: 0.4.32 lastSeenAt: 2026-08-06 05:33:36 health.ok: true
activeSessions: 0
pags up was running the whole time. The Lead inferred "No active runner" from
activeSessions: 0 — two different things.
It had no choice but to guess, because the tool it read gives it nothing about connectivity.
observeSubordinates (lib/connectors/supervision.ts:94) composes exactly three sources:
subordinateSummaries(...) // roster + SUBSCRIPTION state
recentWorkForInstances(...) // board/work items
recentRunsForInstances(...) // loop runs
No relayConnected, no runtime row, no node. So a supervisor asked "can they work?" has no
grounded answer, and fills the gap with the nearest available signal.
2. A live session is NOT a precondition for delegating
delegate_goal's handler has no runtime check and no session check — it starts a run. The
executor creates its own session.
Proven on this very instance two hours earlier: the FAS Coder had zero active sessions, called
start_work, and the Pilot created csess_a3f04e45 at 03:44:50 and ran the job. The Lead's stated
precondition is contradicted by its own subordinate's history.
Why this matters
This is the third instance of the same class (#254 told it cannot act, #255 not told what it owns),
and the most expensive: the supervisor refused work it could have done and told the user to
perform setup that was already done. A supervisor that under-reports capability is worse than no
supervisor — the human now has to verify every refusal.
Fix
Give the supervisor the signal. Add per-subordinate connectivity to the subordinate_status
view — live relay state (not the stale instance_runtimes row; see #238), node name, and runner
version. relayConnected already exists and is what coding_diagnostics uses.
Correct the precondition. delegate_goal's description should state that delegation does not
require a live session — the executor starts one — and that the only real blocker is no connected
runner for a subordinate whose work needs one. A cloud-only subordinate needs no runner at all.
Distinguish the two states in the summary. "idle, no active session" and "no runner connected"
must not render as one line, because the first is normal and the second is blocking.
Verification
- With
pags up running and no sessions, the Lead delegates successfully.
- With the runner genuinely offline, it says so specifically and names the machine.
subordinate_status output contains a connectivity field per subordinate; the model is never
asked to infer it.
Live test, 2026-08-06
Asked the Coder Lead (
5fab318d) to delegate a read-only typecheck to any one of its four repocoders. It replied:
Both halves of that are wrong.
1. The runner was online — and
subordinate_statusnever mentions runnerscoding_diagnosticsfor FAS (964594b6), same moment:pags upwas running the whole time. The Lead inferred "No active runner" fromactiveSessions: 0— two different things.It had no choice but to guess, because the tool it read gives it nothing about connectivity.
observeSubordinates(lib/connectors/supervision.ts:94) composes exactly three sources:No
relayConnected, no runtime row, no node. So a supervisor asked "can they work?" has nogrounded answer, and fills the gap with the nearest available signal.
2. A live session is NOT a precondition for delegating
delegate_goal's handler has no runtime check and no session check — it starts a run. Theexecutor creates its own session.
Proven on this very instance two hours earlier: the FAS Coder had zero active sessions, called
start_work, and the Pilot createdcsess_a3f04e45at 03:44:50 and ran the job. The Lead's statedprecondition is contradicted by its own subordinate's history.
Why this matters
This is the third instance of the same class (#254 told it cannot act, #255 not told what it owns),
and the most expensive: the supervisor refused work it could have done and told the user to
perform setup that was already done. A supervisor that under-reports capability is worse than no
supervisor — the human now has to verify every refusal.
Fix
Give the supervisor the signal. Add per-subordinate connectivity to the
subordinate_statusview — live relay state (not the stale
instance_runtimesrow; see #238), node name, and runnerversion.
relayConnectedalready exists and is whatcoding_diagnosticsuses.Correct the precondition.
delegate_goal's description should state that delegation does notrequire a live session — the executor starts one — and that the only real blocker is no connected
runner for a subordinate whose work needs one. A cloud-only subordinate needs no runner at all.
Distinguish the two states in the summary. "idle, no active session" and "no runner connected"
must not render as one line, because the first is normal and the second is blocking.
Verification
pags uprunning and no sessions, the Lead delegates successfully.subordinate_statusoutput contains a connectivity field per subordinate; the model is neverasked to infer it.