Problem (enhancement)
Teammate idle notifications carry no work context. The full payload is:
{"type":"idle_notification","from":"<worker-name>","timestamp":"...","idleReason":"available"}
In one session the first officer received 86 of these. With no step/progress information, an idle ping is indistinguishable between "long build running", "waiting for input", and "stalled" — so the FO either probes (costing worker turns) or waits blind. The dispatch-idle guardrail rightly says idle is normal, which makes the signal near-useless for rotation decisions.
Local mitigation (candidate for native support)
We added a workflow README rule: workers send a one-line advisory via SendMessage at phase boundaries — starting a checklist item, launching any run expected to exceed ~5 minutes (naming the command), any change of hypothesis/plan — format [step N/M] <doing what> — <next>. The FO reads without replying (one line, no round-trip). This turned silent 40-minute gaps into legible "long build running" states and let rotation decisions run on evidence rather than absence.
Suggestion
Either enrich the idle notification (last tool call, last advisory, elapsed since last activity), or adopt the phase-boundary advisory convention natively in the ensign skill / dispatch template so every commissioned workflow gets it without a local README rule.
Context
Spacedock 0.26.0, Claude host. 11 entities, 7 linear stages, multiple concurrent worktree lanes.
Problem (enhancement)
Teammate idle notifications carry no work context. The full payload is:
{"type":"idle_notification","from":"<worker-name>","timestamp":"...","idleReason":"available"}In one session the first officer received 86 of these. With no step/progress information, an idle ping is indistinguishable between "long build running", "waiting for input", and "stalled" — so the FO either probes (costing worker turns) or waits blind. The dispatch-idle guardrail rightly says idle is normal, which makes the signal near-useless for rotation decisions.
Local mitigation (candidate for native support)
We added a workflow README rule: workers send a one-line advisory via SendMessage at phase boundaries — starting a checklist item, launching any run expected to exceed ~5 minutes (naming the command), any change of hypothesis/plan — format
[step N/M] <doing what> — <next>. The FO reads without replying (one line, no round-trip). This turned silent 40-minute gaps into legible "long build running" states and let rotation decisions run on evidence rather than absence.Suggestion
Either enrich the idle notification (last tool call, last advisory, elapsed since last activity), or adopt the phase-boundary advisory convention natively in the ensign skill / dispatch template so every commissioned workflow gets it without a local README rule.
Context
Spacedock 0.26.0, Claude host. 11 entities, 7 linear stages, multiple concurrent worktree lanes.