Skip to content

session-flow: spawned workers stall waiting on their own background work #6413

Description

@kyle-sexton

Problem

In the 2026-10-04 CI-performance session, spawned general-purpose workers ended their turn to "wait on background work" five separate times: a flaky-test fixer, the standards merge driver, the ci-workflows/medley driver, and the dotfiles/provisioning worker (twice). The harness then reported "waiting on its own background work". Nothing notifies the worker when that work finishes, so each one sat idle until the coordinator sent a SendMessage telling it to poll in the foreground.

/session-flow:orchestrate imperative 4 already says a background command is not a wait. But that text reaches a worker only if the coordinator pastes it into the brief, and these briefs did not carry it.

Ask

Make the rule reach workers without depending on the coordinator's memory. For example:

  • a short "waiting" clause that orchestrate worker export always includes and that dispatching skills inject into every brief: poll in the foreground with a bounded loop, or return what you have; never end the turn to wait on your own background job;
  • and/or a coordinator-side check that turns the harness's "waiting on its own background work" notice into an automatic poll-in-foreground nudge.

Evidence

Session dba79e68-af19-4ecc-a0ce-69d8b1dbefbb: five task notifications reading "This agent has not reported yet: it is waiting on its own background work", each cleared by a manual SendMessage.

Activity

  1. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 5, 2026
  2. github-actions commented on Oct 5, 2026

    @github-actions
    Contributor

    Thanks for the report. Automated triage handed this issue to a maintainer.

    Automated triage. A maintainer reviews it.

  3. added
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 5, 2026
  4. kyle-sexton commented on Oct 11, 2026

    @kyle-sexton
    MemberAuthor

    Owner decision (2026-10-11): Add a clause to what /session-flow:orchestrate worker exports telling workers not to end their turn waiting on their own background jobs; no coordinator-side nudge for now.

    Recorded by the coordinating agent session with the owner's approval. Removing needs-human; implementation is queued and will link its branch here.

  5. removed
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 11, 2026
  6. added
    priority: mediumReal value, no hard deadline; normal backlog flow.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 15, 2026
  7. kyle-sexton commented on Oct 18, 2026

    @kyle-sexton
    MemberAuthor

    Agent Brief

    Type: Task
    Summary: Make every /session-flow:orchestrate worker export, compact included, carry a one-line rule against ending the turn to wait on the worker's own background work.

    Current behavior:
    The full worker export emits the seven imperatives verbatim, and imperative 4 already says a background command the worker started is not a wait. worker compact emits headlines only and drops that sentence, so a compact worker brief carries no waiting rule.

    Desired behavior:

    • Both worker and worker compact exports include one line between the rails: poll in the foreground with a bounded loop, or return what you have; never end the turn to wait on your own background job.
    • handoff exports are unchanged.

    Key interfaces:

    • Worker export shape: one added line in full and compact forms.

    Acceptance criteria:

    • The export-modes section states the line is inserted in worker and worker compact exports.
    • The compact rule no longer drops it.
    • A changelog entry or fragment for session-flow passes scripts/check-changelog-fragments.sh.

    Out of scope:

    • A coordinator-side nudge on the harness's waiting notice (declined by the owner).
    • Injecting the line from other dispatching skills.

    This was generated by AI during backlog shaping. Held, not admitted: this brief is drafted and checked, but the issue lane would stop on it today. It is admitted, by adding agent-ready, once the lane can run the skill-quality check scripts (Automation Lanes' PR #7912). Held under the owner's 2026-10-18 lane-narrowing course correction.

  8. added
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    work-class: mechanicalDeterministic, trivially reversible maintenance: dependency bumps, lint/format, sync.
    and removed
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 18, 2026
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

    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.priority: mediumReal value, no hard deadline; normal backlog flow.work-class: mechanicalDeterministic, trivially reversible maintenance: dependency bumps, lint/format, sync.

    Fields

    No fields configured for Feature.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions