Convoys
Convoys are the primary unit for tracking batched work across rigs.
Quick Start
# Create a convoy tracking some issuesgt convoy create "Feature X" gt-abc gt-def --notify overseer
# Check progressgt convoy status hq-cv-abc
# List active convoys (the dashboard)gt convoy list
# See all convoys including landed onesgt convoy list --allConcept
A convoy is a persistent tracking unit that monitors related issues across multiple rigs. When you kick off work - even a single issue - a convoy tracks it so you can see when it lands and what was included.
π Convoy (hq-cv-abc) β ββββββββββββββΌβββββββββββββ β β β βΌ βΌ βΌ βββββββββββ βββββββββββ βββββββββββ β gt-xyz β β gt-def β β bd-abc β β gastown β β gastown β β beads β ββββββ¬βββββ ββββββ¬βββββ ββββββ¬βββββ β β β βΌ βΌ βΌ βββββββββββ βββββββββββ βββββββββββ β nux β β furiosa β β amber β β(polecat)β β(polecat)β β(polecat)β βββββββββββ βββββββββββ βββββββββββ β "the swarm" (ephemeral)Convoy vs Swarm
| Concept | Persistent? | ID | Description |
|---|---|---|---|
| Convoy | Yes | hq-cv-* | Tracking unit. What you create, track, get notified about. |
| Swarm | No | None | Ephemeral. βThe workers currently on this convoyβs issues.β |
| Stranded Convoy | Yes | hq-cv-* | A convoy with ready work but no polecats assigned. Needs attention. |
When you βkick off a swarmβ, youβre really:
- Creating a convoy (the tracking unit)
- Assigning polecats to the tracked issues
- The βswarmβ is just those polecats while theyβre working
When issues close, the convoy lands and notifies you. The swarm dissolves.
Convoy Lifecycle
OPEN ββ(all issues close)βββΊ LANDED/CLOSED β β βββ(add more issues)ββββββββββββ (auto-reopens)| State | Description |
|---|---|
open | Active tracking, work in progress |
closed | All tracked issues closed, notification sent |
Adding issues to a closed convoy reopens it automatically.
Commands
Create a Convoy
# Track multiple issues across rigsgt convoy create "Deploy v2.0" gt-abc bd-xyz --notify gastown/joe
# Track a single issue (still creates convoy for dashboard visibility)gt convoy create "Fix auth bug" gt-auth-fix
# With default notification (from config)gt convoy create "Feature X" gt-a gt-b gt-cAdd Issues
Note:
gt convoy addis not yet implemented. Usebd dep adddirectly:
# Add issue to existing convoybd dep add hq-cv-abc gt-new-issue --type=tracks
# Adding to closed convoy requires reopening firstbd update hq-cv-abc --status=openbd dep add hq-cv-abc gt-followup-fix --type=tracksCheck Status
# Show issues and active workers (the swarm)gt convoy status hq-abc
# All active convoys (the dashboard)gt convoy statusExample output:
π hq-cv-abc: Deploy v2.0
Status: β Progress: 2/4 completed Created: 2025-12-30T10:15:00-08:00
Tracked Issues: β gt-xyz: Update API endpoint [task] β bd-abc: Fix validation [bug] β bd-ghi: Update docs [task] β gt-jkl: Deploy to prod [task]List Convoys (Dashboard)
# Active convoys (default) - the primary attention viewgt convoy list
# All convoys including landedgt convoy list --all
# Only landed convoysgt convoy list --status=closed
# JSON outputgt convoy list --jsonExample output:
Convoys
π hq-cv-w3nm6: Feature X β π hq-cv-abc12: Bug fixes β
Use 'gt convoy status <id>' for detailed view.Notifications
When a convoy lands (all tracked issues closed), subscribers are notified:
# Explicit subscribergt convoy create "Feature X" gt-abc --notify gastown/joe
# Multiple subscribersgt convoy create "Feature X" gt-abc --notify mayor/ --notify --humanNotification content:
π Convoy Landed: Deploy v2.0 (hq-cv-abc)
Issues (3): β gt-xyz: Update API endpoint β gt-def: Add validation β bd-abc: Update docs
Duration: 2h 15mAuto-Convoy on Sling
When you sling a single issue without an existing convoy:
gt sling bd-xyz beads/amberThis auto-creates a convoy so all work appears in the dashboard:
- Creates convoy: βWork: bd-xyzβ
- Tracks the issue
- Assigns the polecat
Even βswarm of oneβ gets convoy visibility.
Cross-Rig Tracking
Convoys live in town-level beads (hq-cv-* prefix) and can track issues from any rig:
# Track issues from multiple rigsgt convoy create "Full-stack feature" \ gt-frontend-abc \ gt-backend-def \ bd-docs-xyzThe tracks relation is:
- Non-blocking: doesnβt affect issue workflow
- Additive: can add issues anytime
- Cross-rig: convoy in hq-, issues in gt-, bd-*, etc.
Convoy vs Rig Status
| View | Scope | Shows |
|---|---|---|
gt convoy status [id] | Cross-rig | Issues tracked by convoy + workers |
gt rig status <rig> | Single rig | All workers in rig + their convoy membership |
Use convoys for βwhatβs the status of this batch of work?β Use rig status for βwhatβs everyone in this rig working on?β
See Also
- Propulsion Principle - Worker execution model
- Mail Protocol - Notification delivery