Skip to content

v0.8.61: Gate /swarm until goal mode and durable worker fanout are ready #3218

@Hmbown

Description

@Hmbown

Problem

/swarm is not ready to be treated as a primary user-facing workflow until the underlying runtime behavior is correct. A prompt-only slash overlay that tells the model to fan out can reproduce the exact problems Hunter is seeing: parent turns waiting on children, steering feeling ignored, workers inheriting confusing tool/model settings, and the UI appearing frozen during high fanout.

There is also a release/discoverability problem: v0.8.60 source contains a /swarm command path, but Hunter reported not seeing /swarm in the running build/session. That should be verified after the readiness gates below, not treated as the main fix.

Desired behavior

/swarm should become a thin, honest UX over the durable work system: active goal + Fleet-backed workers + nonblocking parent + visible worker profiles/results. If those prerequisites are not ready, /swarm should be hidden, experimental, or clearly gated instead of encouraging unsafe fanout.

Concrete implementation plan

  1. Decide the v0.8.61 contract. Either keep /swarm hidden/experimental until v0.8.61: Make goal mode a real persistent work loop before adding swarm UX #3215, v0.8.61: Make multi-agent fanout durable and nonblocking before shipping swarm UX #3216, and v0.8.61: Give workers role-based tool profiles, permissions, and model routes #3217 are complete, or make /swarm route directly through the durable Fleet/goal path instead of prompt-only agent_open instructions.

  2. Remove prompt-only fanout as the default. The current command text should not simply ask the model to decompose and open many in-process sub-agents. It should either create a Fleet task spec/run or enqueue a goal-scoped durable fanout plan.

  3. Require readiness checks. Before /swarm is visible in slash completion/help, verify:

  4. Add discoverability tests only after gating. Add tests that /swarm appears in slash completion/help when enabled and does not appear when gated off. Also test aliases like /fanout only when the same gate is enabled.

  5. Add a six-worker smoke. /swarm or its Fleet-backed equivalent should be tested with six fake workers and mixed outcomes without freezing the parent.

  6. Document the status. docs/FLEET.md, docs/MODES.md, and slash-command help should say whether /swarm is stable, experimental, or disabled pending Fleet/goal readiness.

Acceptance criteria

Related issues

Blocks/promotes after #3215, #3216, #3217, #3205, #3154, and #3096.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Projects

    Status
    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions