Skip to content

Commit 219dd79

Browse files
steveyeggeclaude
andcommitted
docs: consolidate convoy documentation cluster
Fold testing.md unique content into spec.md (harness scorecard, test clock injection, remaining gaps). Remove duplicated PRD section from spec.md (lines 1-274 that repeated the spec stories). Remove all-DONE Priority Order table from spec.md. Trim completed Milestone 0 detail and historical Merge decision section from roadmap.md. Net reduction: ~350 lines across 2 files trimmed. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 2c88b57 commit 219dd79

2 files changed

Lines changed: 35 additions & 387 deletions

File tree

docs/design/convoy/roadmap.md

Lines changed: 2 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,7 @@ workflows and fixing the reliability problems people actually hit.
77

88
## Current state
99

10-
The convoy-manager-rewrite landed on upstream/main (PR [#1615](https://github.com/steveyegge/gastown/pull/1615), merged).
11-
Safety-critical feeder guards are in PR [#1759](https://github.com/steveyegge/gastown/pull/1759) (open, awaiting review).
12-
13-
| Item | Status | What it does |
14-
|------|--------|-------------|
15-
| Convoy-manager-rewrite | **Merged** (upstream/main) | Multi-rig event polling, continuation feeding, stranded scan auto-dispatch, observer consolidation, process group isolation |
16-
| Feeder safety guards | **PR [#1759](https://github.com/steveyegge/gastown/pull/1759)** (open) | Type filtering (`IsSlingableType`), blocks dep checking (`isIssueBlocked`), dispatch failure iteration |
17-
| Capacity plumbing | Deferred | `isRigAtCapacity` callback — no runtime effect until Phase 2 commands exist |
18-
| Staged statuses | Deferred | `staged_ready`, `staged_warnings` — no command creates them yet |
19-
20-
Three PRDs written:
21-
22-
| PRD | Status | Scope |
23-
|-----|--------|-------|
24-
| Phase 1 (feeder redesign) | Safety items in PR [#1759](https://github.com/steveyegge/gastown/pull/1759), capacity/staged deferred | Type filtering, blocks deps, capacity, iteration, staged statuses |
25-
| Phase 2 (stage/launch) | Designed | `gt convoy stage`, `gt convoy launch`, epic status management, wave display |
26-
| Phase 3 (advanced dispatch) | Designed | FeederStrategy interface, coordinator polecat, depth validation, auto-formula |
10+
Milestone 0 complete -- all foundation PRs merged.
2711

2812
---
2913

@@ -145,84 +129,11 @@ Fixing them benefits the entire system.
145129

146130
---
147131

148-
## Merge decision (resolved)
149-
150-
The rewrite (PR [#1615](https://github.com/steveyegge/gastown/pull/1615)) was merged to upstream/main by the maintainer with
151-
all 10 commits under l0g1x authorship. The maintainer added 2 review
152-
followup commits on top (high-water mark seeding, warm-up polling, error
153-
logging improvements).
154-
155-
The 3 safety-critical Phase 1 items were extracted into a follow-up PR
156-
([#1759](https://github.com/steveyegge/gastown/pull/1759)) rather than merged into the rewrite:
157-
158-
| Phase 1 item | Decision | PR |
159-
|-------------|----------|-----|
160-
| Type filtering (`IsSlingableType`) | Extracted into follow-up | [#1759](https://github.com/steveyegge/gastown/pull/1759) |
161-
| Blocks dep checking (`isIssueBlocked`) | Extracted into follow-up | [#1759](https://github.com/steveyegge/gastown/pull/1759) |
162-
| Iteration past dispatch failures | Extracted into follow-up | [#1759](https://github.com/steveyegge/gastown/pull/1759) |
163-
| Capacity callback plumbing | Deferred ||
164-
| Staged statuses | Deferred ||
165-
166-
Capacity plumbing and staged statuses add parameter/validation surface
167-
with no runtime effect until Phase 2 commands exist. They will ship when
168-
Phase 2 work begins.
169-
170-
---
171-
172132
## Phased plan
173133

174134
### Milestone 0: Land the foundation
175135

176-
**Goal:** Fix the convoy dispatch infrastructure so existing workflows
177-
work correctly.
178-
179-
**Status: mostly complete.** The rewrite is merged. Safety guards are in
180-
PR [#1759](https://github.com/steveyegge/gastown/pull/1759) (awaiting review).
181-
182-
**What shipped (merged):**
183-
- Multi-rig event polling (fixes cross-rig blindness)
184-
- Continuation feeding after close events (fixes daemon-doesn't-feed)
185-
- Stranded scan auto-dispatch (fixes reporting-only limitation)
186-
- Observer consolidation (removes broken refinery call, removes witness
187-
coupling)
188-
- Process group isolation (prevents orphaned subprocesses)
189-
- High-water mark seeding on startup (review followup)
190-
- Warm-up polling to prevent event replay burst (review followup)
191-
192-
**What's in PR [#1759](https://github.com/steveyegge/gastown/pull/1759) (awaiting review):**
193-
- Type filtering (prevents slinging epics)
194-
- Blocks dep checking (prevents slinging blocked tasks)
195-
- Iteration past dispatch failures (prevents stuck convoys)
196-
- Batch sling single-convoy fix (one convoy per batch, not N)
197-
- Rig auto-resolution from bead prefixes (deprecates explicit rig arg)
198-
- ConvoyID/MergeStrategy storage on beads for `gt done` fast path
199-
200-
**What it fixes for Workflow A:**
201-
- `gt sling <task1> <task2> <task3>` creates **one convoy** tracking all
202-
tasks. Rig is auto-resolved from bead prefixes.
203-
- Blocks deps are respected by the daemon feeder: a blocked task won't
204-
be fed until its blocker closes.
205-
- Type filtering prevents accidental epic slinging.
206-
- ConvoyID and merge strategy are stored on each bead, enabling `gt done`
207-
fast-path convoy lookup.
208-
209-
**What it does NOT fix for Workflow A:**
210-
- Initial dispatch still sends all tasks regardless of deps (only daemon
211-
feeding respects blocks).
212-
- No convoy-level wave computation (see Milestone 2).
213-
214-
**What it fixes for Workflow B:**
215-
- Same as Workflow A. design-to-beads creates blocks deps, which are now
216-
respected by the feeder.
217-
218-
**What it fixes for Workflow C:**
219-
- Manual convoys now get reliable daemon-driven feeding with blocks
220-
checking. The witness removal doesn't matter because the daemon
221-
now handles everything the witness did (and more).
222-
223-
**Remaining action items:**
224-
1. Fix doc inaccuracies identified in audit (this pass)
225-
2. Get PR [#1759](https://github.com/steveyegge/gastown/pull/1759) reviewed and merged
136+
**Status: Complete.**
226137

227138
### Milestone 1: Pipeline reliability (independent of convoys)
228139

0 commit comments

Comments
 (0)