Skip to content

Idle notifications carry no work context — adopt phase-boundary advisories natively #620

Description

@nnunley

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.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions