@dirtydishes/skills 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -11
- package/package.json +1 -1
- package/skills/dirtyloops/SKILL.md +8 -5
- package/skills/dirtyloops/examples/README.md +2 -2
- package/skills/dirtyloops/examples/orchestrator-callback/README.md +5 -3
- package/skills/dirtyloops/examples/orchestrator-callback/docs/implementation/example-stream/IMPLEMENT.md +29 -6
- package/skills/dirtyloops/examples/orchestrator-callback/docs/implementation/example-stream/prompts/closeout-selector-subagent.md +40 -0
- package/skills/dirtyloops/examples/orchestrator-callback/docs/implementation/example-stream/prompts/implementation-swarm-subagent.md +29 -0
- package/skills/dirtyloops/examples/orchestrator-callback/docs/implementation/example-stream/prompts/implementation-thread.md +11 -2
- package/skills/dirtyloops/examples/orchestrator-callback/docs/implementation/example-stream/prompts/review-thread.md +3 -2
- package/skills/dirtyloops/examples/orchestrator-callback/docs/implementation/example-stream/prompts/run-loop.md +10 -4
- package/skills/dirtyloops/examples/orchestrator-callback/docs/implementation/example-stream/prompts/selector-subagent.md +35 -0
- package/skills/dirtyloops/examples/orchestrator-callback/docs/implementation/example-stream/turn-docs/01-foundation.md +14 -2
- package/skills/dirtyloops/examples/single-thread-subagent/README.md +1 -0
- package/skills/dirtyloops/examples/single-thread-subagent/docs/implementation/example-stream/IMPLEMENT.md +2 -2
- package/skills/dirtyloops/examples/single-thread-subagent/docs/implementation/example-stream/prompts/run-loop.md +5 -4
- package/skills/dirtyloops/examples/single-thread-subagent/docs/implementation/example-stream/turn-docs/01-foundation.md +5 -5
- package/skills/dirtyloops/plan.html +13 -9
- package/skills/dirtyloops/references/beads.md +28 -4
- package/skills/dirtyloops/references/create-loop.md +17 -9
- package/skills/dirtyloops/references/help.md +9 -7
- package/skills/dirtyloops/references/run-loop.md +13 -6
- package/skills/dirtyloops/references/swarms.md +15 -6
- package/skills/dirtyloops/references/workflows/orchestrator-callback.md +83 -11
- package/skills/dirtyloops/references/workflows/single-thread-subagent.md +7 -6
- package/skills/dirtyloops/schemas/implementation-callback.schema.json +14 -1
- package/skills/dirtyloops/schemas/swarm-report.schema.json +1 -1
- package/skills/dirtyloops/templates/common/IMPLEMENT.md.template +3 -2
- package/skills/dirtyloops/templates/common/run-loop.md.template +3 -1
- package/skills/dirtyloops/templates/workflows/orchestrator-callback/closeout-selector-subagent-prompt.md.template +40 -0
- package/skills/dirtyloops/templates/workflows/orchestrator-callback/implementation-swarm-subagent-prompt.md.template +29 -0
- package/skills/dirtyloops/templates/workflows/orchestrator-callback/implementation-thread-prompt.md.template +11 -2
- package/skills/dirtyloops/templates/workflows/orchestrator-callback/review-thread-prompt.md.template +3 -2
- package/skills/dirtyloops/templates/workflows/orchestrator-callback/run-loop-addendum.md.template +10 -3
- package/skills/dirtyloops/templates/workflows/orchestrator-callback/selector-subagent-prompt.md.template +35 -0
- package/skills/dirtyloops/templates/workflows/single-thread-subagent/run-loop-addendum.md.template +5 -4
package/README.md
CHANGED
|
@@ -90,11 +90,11 @@ A created loop writes a project-local execution surface under `docs/implementati
|
|
|
90
90
|
- `IMPLEMENT.md` - Agent-facing index for the stream, including workflow rules, phase links, quality gates, and operating contract.
|
|
91
91
|
- `00-roadmap.md` - Human-readable map of the implementation stream and phase ordering.
|
|
92
92
|
- `NN-phase-name.md` - One phase doc per Beads child issue.
|
|
93
|
-
- Beads loop metadata - Canonical workflow, run policy, callback policy, thread defaults, swarm policy, quality gates, and branch/PR policy.
|
|
93
|
+
- Beads loop metadata - Canonical workflow, run policy, callback policy, actor-specific thread defaults, swarm policy, quality gates, and branch/PR policy.
|
|
94
94
|
- `loop-state.md` - Lightweight mirror for current phase, branch/PR posture, blockers, and next action.
|
|
95
95
|
- `turn-docs/` - One Markdown turn doc per phase. Reviewers update the existing phase turn doc instead of creating separate review docs.
|
|
96
96
|
- `prompts/run-loop.md` - The prompt used to start or continue loop execution.
|
|
97
|
-
- Workflow prompts - `orchestrator-callback` also emits implementation
|
|
97
|
+
- Workflow prompts - `orchestrator-callback` also emits selector, implementation, implementation-swarm, review, and closeout-selector prompts.
|
|
98
98
|
- Schemas - Callback/report JSON contracts for implementation, review, and swarm reports.
|
|
99
99
|
- `storyboard-post-run-mm-dd-yyyy.html` - Final closeout artifact generated after the stream completes.
|
|
100
100
|
|
|
@@ -109,19 +109,19 @@ The skill package itself mirrors that shape:
|
|
|
109
109
|
|
|
110
110
|
#### Workflows
|
|
111
111
|
|
|
112
|
-
- `single-thread-subagent` - One visible coordinator thread owns loop state while mass subagent swarms handle selection, scouting, slice planning, implementation assistance, review, and CI.
|
|
113
|
-
- `orchestrator-callback` - One orchestrator thread creates separate implementation and review threads
|
|
112
|
+
- `single-thread-subagent` - One visible coordinator thread owns loop state while per-phase mass subagent swarms handle selection, scouting, slice planning, implementation assistance, review, and CI.
|
|
113
|
+
- `orchestrator-callback` - One orchestrator thread delegates phase gates to selector subagents, creates separate implementation and review threads, and receives callbacks to a concrete orchestrator thread id when workers/reviewers are done or blocked.
|
|
114
114
|
|
|
115
|
-
Choose `single-thread-subagent` when you want one visible coordinator thread, less thread management, and a CLI-friendly loop. The main coordinator owns the branch, integration, PR state, Beads updates, and closeout.
|
|
115
|
+
Choose `single-thread-subagent` when you want one visible coordinator thread, less thread management, and a CLI-friendly loop. The main coordinator owns the branch, integration, PR state, Beads updates, and closeout. Every phase uses selector, scout, slice-plan, implementation-helper, reviewer, and CI swarms; subagents inspect, split phases into slices, prepare implementation guidance or patches, review, verify CI, and report, but they do not advance loop state. Fewer agents require an explicit tiny-phase reason in the turn doc before implementation.
|
|
116
116
|
|
|
117
|
-
Choose `orchestrator-callback` when you want the original multi-thread flow. The orchestrator
|
|
117
|
+
Choose `orchestrator-callback` when you want the original multi-thread flow. The orchestrator launches a selector subagent before the first worker, creates implementation threads with a concrete callback target id, waits for implementation callbacks, creates review threads with the same callback target id, waits for review and CI callbacks, launches a closeout-selector subagent between phases, updates Beads, and then advances only to the selected next phase. Implementation threads are swarm-first for non-trivial phases: they run scout, slice-plan, and implementation-helper swarms, synthesize a coherent slice plan, integrate helper output, and only then open the PR.
|
|
118
118
|
|
|
119
119
|
#### Authority Rules
|
|
120
120
|
|
|
121
121
|
The `dirtyloops` skill is strict about ownership:
|
|
122
122
|
|
|
123
123
|
- Beads is canonical for status, ordering, blockers, dependencies, and completion.
|
|
124
|
-
- Beads stores typed dirtyloop metadata for workflow, run policy, callback policy, thread defaults, swarm policy, quality gates, and branch/PR policy.
|
|
124
|
+
- Beads stores typed dirtyloop metadata for workflow, run policy, callback policy, actor-specific thread defaults, swarm policy, quality gates, and branch/PR policy.
|
|
125
125
|
- Generated docs and prompts use repo-relative paths so they can move between machines.
|
|
126
126
|
- Phase docs are execution context linked from Beads child issues.
|
|
127
127
|
- One Markdown turn doc exists per phase.
|
|
@@ -132,17 +132,21 @@ The `dirtyloops` skill is strict about ownership:
|
|
|
132
132
|
- Broad scout, slice, implementation-helper, and review work should use bounded subagent swarms, usually 8 or more agents and up to 20 when the phase warrants it.
|
|
133
133
|
- Phase scope stays narrow. File follow-up Beads issues instead of widening an active phase.
|
|
134
134
|
|
|
135
|
-
For `orchestrator-callback`, only the orchestrator creates implementation and review threads. Implementation threads do not create review threads, review threads do not create follow-up implementation threads, selector subagents never implement, and reviewer subagents never close Beads issues.
|
|
135
|
+
For `orchestrator-callback`, only the orchestrator creates implementation and review threads. The orchestrator must launch a selector subagent before the first worker and a closeout-selector subagent after each review callback before stopping or continuing. Implementation threads do not create review threads, review threads do not create follow-up implementation threads, selector subagents never implement, closeout-selector subagents never mutate Beads, and reviewer subagents never close Beads issues.
|
|
136
136
|
|
|
137
|
-
|
|
137
|
+
Every `orchestrator-callback` child thread must launch with explicit actor settings: `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false`, unless Beads metadata overrides that actor. This applies to selector, implementation, review, and closeout-selector threads. Current UI settings, recent Codex thread defaults, parent/orchestrator settings, `fast`, and `xhigh` are not valid launch defaults unless the actor metadata names them.
|
|
138
|
+
|
|
139
|
+
For `orchestrator-callback`, implementation threads must not do broad solo implementation. For non-trivial phases, they run 8-20 scout agents, 8-16 slice-plan agents, and 8-16 implementation-helper agents before broad edits. The implementation thread synthesizes reports into the existing turn doc, integrates helper output coherently, owns gates and PR state, and includes a `swarm_summary` in the implementation callback. If a phase is tiny enough to use fewer agents, the reason is recorded in the turn doc and callback.
|
|
140
|
+
|
|
141
|
+
For `single-thread-subagent`, the coordinator must run per-phase selector/scout/slice-plan/implementation-helper/reviewer/CI swarms. Solo coordinator implementation of most phase work is a workflow violation; coordinator implementation should be limited to synthesis, integration, glue, conflicts, final repairs, and Beads/PR closeout.
|
|
138
142
|
|
|
139
143
|
#### Callback Contracts
|
|
140
144
|
|
|
141
|
-
Implementation threads call back exactly once when the PR is ready, the task is complete but PR creation is blocked, or the phase is genuinely blocked. The callback includes the concrete orchestrator thread id, source thread id, Beads issue id, status, branch, PR, commits, turn doc, local gates, changed files, blockers, and context to keep.
|
|
145
|
+
Implementation threads call back exactly once when the PR is ready, the task is complete but PR creation is blocked, or the phase is genuinely blocked. The callback includes the concrete orchestrator thread id, source thread id, Beads issue id, status, branch, PR, commits, turn doc, local gates, changed files, `swarm_summary`, blockers, and context to keep.
|
|
142
146
|
|
|
143
147
|
Review threads call back exactly once after review and CI are resolved. The callback includes the concrete orchestrator thread id, source thread id, Beads issue id, status, PR, CI state, review skill, repairs, remaining findings, turn doc, and context to keep.
|
|
144
148
|
|
|
145
|
-
Prefer callback-driven coordination over polling. For long-running worker or reviewer threads, use a lightweight heartbeat around 30 minutes. Do not launch callback threads whose actual prompt text says only `current orchestrator thread`, `this thread`, or another generic callback target.
|
|
149
|
+
Prefer callback-driven coordination over polling. After launching a worker or reviewer, the orchestrator waits for the single callback; it does not repeatedly read, monitor, summarize, or status-check the child thread. For long-running worker or reviewer threads, use a lightweight heartbeat around 30 minutes only when the callback is overdue or liveness is uncertain. Do not launch callback threads whose actual prompt text says only `current orchestrator thread`, `this thread`, or another generic callback target.
|
|
146
150
|
|
|
147
151
|
#### Closeout
|
|
148
152
|
|
package/package.json
CHANGED
|
@@ -23,7 +23,7 @@ A dirtyloop is a Beads-canonical Codex implementation loop: phase docs, one Mark
|
|
|
23
23
|
2. Select the workflow.
|
|
24
24
|
- Skip this step for `help`.
|
|
25
25
|
- `single-thread-subagent`: one coordinator thread uses mass subagent swarms for selection, scouting, slice planning, implementation assistance, review, and CI; no separate Codex worker/reviewer threads.
|
|
26
|
-
- `orchestrator-callback`: an orchestrator thread creates implementation threads, then review threads; workers and reviewers call back to a concrete orchestrator thread id.
|
|
26
|
+
- `orchestrator-callback`: an orchestrator thread delegates phase gates to selector subagents, creates implementation threads, then review threads; workers and reviewers call back to a concrete orchestrator thread id.
|
|
27
27
|
- Choose `orchestrator-callback` when the user mentions original loop flow, new threads, callbacks, worker threads, implementation threads, or review threads.
|
|
28
28
|
- Choose `single-thread-subagent` when the user mentions single thread, CLI-friendly, or keeping all orchestration in one thread.
|
|
29
29
|
- If the workflow is ambiguous for `create` or `run`, ask one concise question.
|
|
@@ -50,7 +50,7 @@ A dirtyloop is a Beads-canonical Codex implementation loop: phase docs, one Mark
|
|
|
50
50
|
## Hard Requirements
|
|
51
51
|
|
|
52
52
|
- Beads is canonical for status, ordering, blockers, dependencies, and completion.
|
|
53
|
-
- Beads records typed dirtyloop metadata: workflow, run policy, branch/PR policy, quality gates, callback policy, thread defaults, and swarm policy.
|
|
53
|
+
- Beads records typed dirtyloop metadata: workflow, run policy, branch/PR policy, quality gates, callback policy, actor-specific thread defaults, and swarm policy.
|
|
54
54
|
- Phase docs are execution context linked from Beads.
|
|
55
55
|
- Generated docs, prompts, examples, and callback payloads use repo-relative paths. Do not include user-specific home directories or usernames in generated loop artifacts.
|
|
56
56
|
- Use one Markdown turn doc per phase.
|
|
@@ -58,10 +58,13 @@ A dirtyloop is a Beads-canonical Codex implementation loop: phase docs, one Mark
|
|
|
58
58
|
- Reviewer agents must use `thermo-nuclear-code-quality-review`.
|
|
59
59
|
- Reviewer and CI verification agents own CI.
|
|
60
60
|
- `dirtyloops run` continues phase-by-phase by default. Stop only when the epic is complete, blocked, interrupted, review/CI is unresolved, or the user explicitly asked for `run once` / `--once`.
|
|
61
|
+
- For `orchestrator-callback`, the orchestrator must spawn a selector subagent before the first worker and a closeout-selector subagent after each review callback before continuing or stopping. The orchestrator validates their reports and remains the only actor that mutates Beads, updates loop state, creates implementation/review threads, or advances the loop.
|
|
61
62
|
- Orchestrator-callback prompts and callback payloads must carry the concrete orchestrator thread id. Do not launch a worker or reviewer if the actual instruction text says only `current orchestrator thread`, `this thread`, or another generic target.
|
|
62
|
-
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
63
|
+
- Orchestrator-callback is callback-wait, not active monitoring. After launching a worker or reviewer, the orchestrator must not repeatedly read, monitor, or summarize the child thread while waiting for its single callback. Use only a sparse fallback heartbeat when the callback is overdue or liveness is uncertain.
|
|
64
|
+
- Every orchestrator-callback child thread defaults to `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false` unless Beads loop metadata explicitly overrides that actor. This applies to selector, implementation, review, and closeout-selector threads. Do not launch child threads with inherited `fast`, `xhigh`, current UI, or orchestrator-thread settings.
|
|
65
|
+
- Orchestrator-callback implementation threads are swarm-first for non-trivial phases: they must run massive bounded scout, slice-plan, and implementation-helper swarms before broad edits, synthesize one coherent slice plan, integrate helper output, and include `swarm_summary` in the implementation callback.
|
|
66
|
+
- For `single-thread-subagent`, the coordinator orchestrates, synthesizes, integrates, owns branch/PR/Beads state, and closes out. Each phase must launch per-phase selector, scout, slice-plan, implementation-helper, review, and CI swarms unless the phase is explicitly tiny and the reason is recorded in the turn doc. Direct coordinator implementation is for integration, glue, conflict resolution, and final repair work.
|
|
67
|
+
- Use large bounded subagent swarms: per-phase for `single-thread-subagent`, swarm-first inside non-trivial `orchestrator-callback` implementation threads, 8+ by default for scout, slice-plan, implementation-helper, and review work, and up to 20 when the phase warrants it.
|
|
65
68
|
- Closeout generates `storyboard-post-run-mm-dd-yyyy.html`.
|
|
66
69
|
- The storyboard should use `impeccable` when present. If it is missing, continue without it and add a brief note that the skill was not found and was skipped during closeout.
|
|
67
70
|
- Closeout must install `@pierre/diffs` in the target repo if missing, then use `@pierre/diffs/ssr` for every storyboard diff. SSR is required for every diff block.
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
These examples show the shape `$dirtyloops create` should produce.
|
|
4
4
|
|
|
5
5
|
- `single-thread-subagent/` shows one visible coordinator thread with mass subagent swarms, slice planning, implementation helpers, review, and CI verification.
|
|
6
|
-
- `orchestrator-callback/` shows the original thread-callback loop: orchestrator thread, implementation threads, review threads, concrete callback targets, and callback payloads.
|
|
6
|
+
- `orchestrator-callback/` shows the original thread-callback loop: orchestrator thread, selector and closeout-selector subagents, implementation threads, review threads, concrete callback targets, and callback payloads.
|
|
7
7
|
|
|
8
|
-
Treat these as shape examples, not content to copy verbatim. New loops should fill in repo-specific Beads ids, phase docs, gates, branch policy, callback target ids, thread defaults, swarm policy, and prompt wording.
|
|
8
|
+
Treat these as shape examples, not content to copy verbatim. New loops should fill in repo-specific Beads ids, phase docs, gates, branch policy, callback target ids, actor-specific thread defaults, swarm policy, and prompt wording.
|
|
@@ -6,13 +6,15 @@ Topology:
|
|
|
6
6
|
|
|
7
7
|
```text
|
|
8
8
|
orchestrator thread
|
|
9
|
-
-> selector subagent
|
|
9
|
+
-> selector subagent chooses first ready phase
|
|
10
10
|
-> implementation thread with exact callback target
|
|
11
|
+
-> scout/slice-plan/implementation-helper swarms
|
|
12
|
+
-> worker integrates one coherent PR
|
|
11
13
|
-> implementation callback when PR-ready
|
|
12
14
|
-> review thread with exact callback target
|
|
13
15
|
-> review callback when review + CI resolved
|
|
14
|
-
->
|
|
15
|
-
->
|
|
16
|
+
-> closeout-selector subagent verifies closeout and next phase
|
|
17
|
+
-> orchestrator applies closeout and continues or stops
|
|
16
18
|
```
|
|
17
19
|
|
|
18
20
|
Beads is canonical. The docs are execution context. Implementation and review callbacks echo the concrete orchestrator thread id and source thread id. Review and CI update the existing phase turn doc.
|
|
@@ -13,7 +13,7 @@ Replace an old reporting path with a simpler evidence-backed implementation whil
|
|
|
13
13
|
## Sources Of Truth
|
|
14
14
|
|
|
15
15
|
- Beads epic: `example-epic`
|
|
16
|
-
- Beads loop metadata: workflow, run policy, callback policy, thread defaults, quality gates, and branch/PR policy
|
|
16
|
+
- Beads loop metadata: workflow, run policy, callback policy, actor-specific thread defaults, quality gates, and branch/PR policy
|
|
17
17
|
- Roadmap: `docs/implementation/example-stream/00-roadmap.md`
|
|
18
18
|
- Loop state mirror: `docs/implementation/example-stream/loop-state.md`
|
|
19
19
|
- Phase docs linked from Beads child issues
|
|
@@ -23,28 +23,51 @@ Replace an old reporting path with a simpler evidence-backed implementation whil
|
|
|
23
23
|
|
|
24
24
|
Only the orchestrator creates implementation and review threads.
|
|
25
25
|
|
|
26
|
+
Selector subagents:
|
|
27
|
+
|
|
28
|
+
- run before the first implementation thread
|
|
29
|
+
- launch with `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false` unless Beads metadata overrides the selector actor
|
|
30
|
+
- read Beads, `IMPLEMENT.md`, `loop-state.md`, and linked phase docs
|
|
31
|
+
- return a `swarm-report` with mission `selector`
|
|
32
|
+
- never implement, mutate Beads, edit files, or create threads
|
|
33
|
+
|
|
26
34
|
Implementation threads:
|
|
27
35
|
|
|
28
36
|
- receive the full phase doc, Beads issue id, branch policy, quality gates, and orchestrator thread id
|
|
29
|
-
-
|
|
37
|
+
- launch with `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false` unless Beads metadata overrides the implementation actor
|
|
30
38
|
- have prompt text that names the exact orchestrator thread id as callback target
|
|
31
|
-
-
|
|
39
|
+
- run 8-20 scout agents, 8-16 slice-plan agents, and 8-16 implementation-helper agents for non-trivial phases
|
|
40
|
+
- synthesize swarm reports into one coherent slice plan before broad edits
|
|
41
|
+
- integrate helper output, resolve conflicts, and own final branch/PR state
|
|
32
42
|
- update the existing phase turn doc
|
|
33
43
|
- open the PR
|
|
34
|
-
- call back exactly once when PR-ready or blocked, echoing `orchestrator_thread_id` and
|
|
44
|
+
- call back exactly once when PR-ready or blocked, echoing `orchestrator_thread_id`, including `source_thread_id`, and reporting `swarm_summary`
|
|
35
45
|
- do not create review threads
|
|
36
46
|
|
|
37
47
|
Review threads:
|
|
38
48
|
|
|
39
49
|
- use `thermo-nuclear-code-quality-review`
|
|
40
|
-
-
|
|
50
|
+
- launch with `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false` unless Beads metadata overrides the review actor
|
|
41
51
|
- have prompt text that names the exact orchestrator thread id as callback target
|
|
42
52
|
- may use reviewer and CI verification subagents
|
|
43
53
|
- own CI, repairs, reruns, and evidence
|
|
44
54
|
- update the existing phase turn doc
|
|
45
55
|
- call back exactly once when review and CI are resolved, echoing `orchestrator_thread_id` and including `source_thread_id`
|
|
46
56
|
|
|
47
|
-
|
|
57
|
+
Closeout-selector subagents:
|
|
58
|
+
|
|
59
|
+
- run after each review callback and before the orchestrator closes, stops, or launches another worker
|
|
60
|
+
- launch with `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false` unless Beads metadata overrides the closeout-selector actor
|
|
61
|
+
- check the review callback, PR/CI evidence, existing turn doc, Beads dependencies, and `loop-state.md`
|
|
62
|
+
- recommend exact closeout actions and at most one next phase
|
|
63
|
+
- return a `swarm-report` with mission `closeout-selector`
|
|
64
|
+
- never implement, review, repair, mutate Beads, edit files, or create threads
|
|
65
|
+
|
|
66
|
+
The orchestrator validates selector reports, owns Beads closeout, and launches only the selected next phase. The loop continues phase-by-phase until the epic is complete, blocked, interrupted, or review/CI is unresolved.
|
|
67
|
+
|
|
68
|
+
After launching implementation or review threads, the orchestrator waits for the single callback. It does not repeatedly read, monitor, summarize, or status-check the child thread unless a sparse fallback heartbeat is needed for an overdue callback or liveness recovery.
|
|
69
|
+
|
|
70
|
+
No `orchestrator-callback` child thread inherits current UI settings, recent Codex thread defaults, or parent/orchestrator speed/reasoning. `fast` speed and `xhigh` reasoning are allowed only when Beads metadata explicitly names that value for the actor being launched.
|
|
48
71
|
|
|
49
72
|
## Phase Ledger
|
|
50
73
|
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Closeout-Selector Subagent Prompt: Example Stream
|
|
2
|
+
|
|
3
|
+
You are the closeout-selector subagent for an `orchestrator-callback` dirtyloop.
|
|
4
|
+
|
|
5
|
+
Canonical tracker: Beads epic `example-epic`
|
|
6
|
+
|
|
7
|
+
Mission: verify the just-reviewed phase can be closed out, then recommend stop or at most one next phase.
|
|
8
|
+
|
|
9
|
+
Launch defaults:
|
|
10
|
+
|
|
11
|
+
- speed: `standard`
|
|
12
|
+
- reasoning: `high`
|
|
13
|
+
- inherit_orchestrator_thread_settings: `false`
|
|
14
|
+
|
|
15
|
+
Do not run this closeout-selector with inherited UI, recent thread, parent/orchestrator, `fast`, or `xhigh` settings unless Beads metadata explicitly overrides the closeout-selector actor.
|
|
16
|
+
|
|
17
|
+
Read:
|
|
18
|
+
|
|
19
|
+
- Beads epic `example-epic`
|
|
20
|
+
- the reviewed phase issue
|
|
21
|
+
- the implementation callback
|
|
22
|
+
- the review callback
|
|
23
|
+
- PR and CI evidence
|
|
24
|
+
- the existing phase turn doc
|
|
25
|
+
- `docs/implementation/example-stream/IMPLEMENT.md`
|
|
26
|
+
- `docs/implementation/example-stream/loop-state.md`
|
|
27
|
+
- linked phase docs for the next ready candidates
|
|
28
|
+
|
|
29
|
+
Rules:
|
|
30
|
+
|
|
31
|
+
- Do not implement.
|
|
32
|
+
- Do not review or repair.
|
|
33
|
+
- Do not mutate Beads.
|
|
34
|
+
- Do not edit files.
|
|
35
|
+
- Do not create implementation or review threads.
|
|
36
|
+
- Recommend exact closeout actions for the reviewed phase.
|
|
37
|
+
- Recommend stop when the epic is complete, blocked, interrupted, unresolved, or this is a `--once` run.
|
|
38
|
+
- Recommend exactly one next phase only when continuation is allowed and Beads dependencies make it ready.
|
|
39
|
+
|
|
40
|
+
Return a compact report matching `schemas/swarm-report.schema.json` with `mission: "closeout-selector"`.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Implementation Swarm Subagent Prompt: Example Stream
|
|
2
|
+
|
|
3
|
+
You are an implementation swarm subagent inside an `orchestrator-callback` implementation thread.
|
|
4
|
+
|
|
5
|
+
Mission: `scout|slice-plan|implementation-helper`
|
|
6
|
+
|
|
7
|
+
Allowed missions:
|
|
8
|
+
|
|
9
|
+
- `scout`: inspect a bounded surface and report facts, risks, likely files, and tests
|
|
10
|
+
- `slice-plan`: propose non-overlapping implementation slices and integration order
|
|
11
|
+
- `implementation-helper`: work one assigned slice in parallel and return patch guidance, changed files, gates, and integration notes
|
|
12
|
+
|
|
13
|
+
Inputs:
|
|
14
|
+
|
|
15
|
+
- Beads issue: `example-epic.1`
|
|
16
|
+
- Phase doc: `docs/implementation/example-stream/01-foundation.md`
|
|
17
|
+
- Turn doc: `docs/implementation/example-stream/turn-docs/01-foundation.md`
|
|
18
|
+
- Slice id: assigned by the implementation thread
|
|
19
|
+
- Assigned scope: assigned by the implementation thread
|
|
20
|
+
|
|
21
|
+
Rules:
|
|
22
|
+
|
|
23
|
+
- Stay inside the assigned scope.
|
|
24
|
+
- Do not mutate Beads.
|
|
25
|
+
- Do not create PRs or review threads.
|
|
26
|
+
- Do not own loop state or callback.
|
|
27
|
+
- Implementation-helper agents may prepare patches or concrete edit guidance only for their assigned slice.
|
|
28
|
+
- Return compact structured output matching `schemas/swarm-report.schema.json`.
|
|
29
|
+
|
|
@@ -15,16 +15,25 @@ Send your final callback to exact orchestrator thread id `THREAD_ORCHESTRATOR_ID
|
|
|
15
15
|
- Implementation index: `docs/implementation/example-stream/IMPLEMENT.md`
|
|
16
16
|
- Turn doc: `docs/implementation/example-stream/turn-docs/01-foundation.md`
|
|
17
17
|
- Branch policy: create or use `example-stream/01-foundation`
|
|
18
|
-
-
|
|
18
|
+
- Launch defaults: speed `standard`, reasoning `high`, inherit_orchestrator_thread_settings `false`
|
|
19
|
+
- Do not run this worker with inherited UI, recent thread, parent/orchestrator, `fast`, or `xhigh` settings unless Beads metadata explicitly overrides the implementation actor
|
|
19
20
|
|
|
20
21
|
## Rules
|
|
21
22
|
|
|
22
23
|
- Implement exactly this phase.
|
|
23
24
|
- Do not widen scope.
|
|
24
|
-
-
|
|
25
|
+
- Do not do broad solo implementation.
|
|
26
|
+
- For non-trivial phases, run massive bounded swarms before broad edits:
|
|
27
|
+
- 8-20 scout agents across files, modules, risks, tests, and integration edges
|
|
28
|
+
- 8-16 slice-plan agents to propose non-overlapping implementation slices
|
|
29
|
+
- 8-16 implementation-helper agents assigned to slices in parallel
|
|
30
|
+
- If this phase is tiny enough to use fewer than the default agents, record the reason in the turn doc and callback `swarm_summary`.
|
|
31
|
+
- Synthesize swarm reports into one coherent slice plan before broad edits.
|
|
32
|
+
- Integrate helper output yourself; own conflicts, final repairs, gates, branch state, PR state, and callback.
|
|
25
33
|
- Update the existing Markdown turn doc.
|
|
26
34
|
- Run local gates before PR when feasible.
|
|
27
35
|
- Open or update the PR.
|
|
28
36
|
- Do not create the review thread.
|
|
29
37
|
- Call back exactly once to the orchestrator when PR-ready or blocked.
|
|
30
38
|
- The callback payload must include `orchestrator_thread_id: "THREAD_ORCHESTRATOR_ID"` and your `source_thread_id`.
|
|
39
|
+
- The callback payload must include `swarm_summary` with scout, slice-plan, implementation-helper, slice, synthesis, and under-default rationale fields.
|
|
@@ -21,12 +21,13 @@ Use:
|
|
|
21
21
|
- Turn doc: `docs/implementation/example-stream/turn-docs/01-foundation.md`
|
|
22
22
|
- PR: `#123`
|
|
23
23
|
- Required gates: `bun test`, `bun run typecheck`
|
|
24
|
-
-
|
|
24
|
+
- Launch defaults: speed `standard`, reasoning `high`, inherit_orchestrator_thread_settings `false`
|
|
25
|
+
- Do not run this reviewer with inherited UI, recent thread, parent/orchestrator, `fast`, or `xhigh` settings unless Beads metadata explicitly overrides the review actor
|
|
25
26
|
|
|
26
27
|
## Rules
|
|
27
28
|
|
|
28
29
|
- Be ambitious about structural simplification.
|
|
29
|
-
- Use reviewer and CI verification subagents
|
|
30
|
+
- Use reviewer and CI verification subagents for review and CI evidence. If the phase is tiny enough to use fewer than the default review/CI agents, record why in the turn doc.
|
|
30
31
|
- Own CI through green, repaired-and-green, unavailable-with-evidence, or blocked-with-cause.
|
|
31
32
|
- Apply safe in-scope repairs when assigned.
|
|
32
33
|
- Update the existing Markdown turn doc.
|
|
@@ -13,11 +13,15 @@ Start from:
|
|
|
13
13
|
## Rules
|
|
14
14
|
|
|
15
15
|
- Beads is canonical.
|
|
16
|
-
- Orchestrator
|
|
16
|
+
- Orchestrator launches a selector subagent to select exactly one next ready Beads child issue before the first worker.
|
|
17
17
|
- Continue phase-by-phase until the epic is complete, blocked, interrupted, or review/CI is unresolved.
|
|
18
18
|
- Only the orchestrator creates implementation and review threads.
|
|
19
|
-
-
|
|
19
|
+
- Selector, implementation, review, and closeout-selector threads launch with explicit actor settings: `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false`, unless Beads metadata overrides that actor.
|
|
20
|
+
- Do not inherit current UI settings, recent Codex thread defaults, parent/orchestrator settings, `fast`, or `xhigh` unless Beads metadata explicitly names that value for the actor being launched.
|
|
20
21
|
- Worker and reviewer prompt text must include the exact orchestrator thread id `THREAD_ORCHESTRATOR_ID` as callback target.
|
|
22
|
+
- After launching a worker or reviewer, wait for its single callback; do not repeatedly read, monitor, summarize, or status-check the child thread.
|
|
23
|
+
- Implementation threads are swarm-first for non-trivial phases: 8-20 scout agents, 8-16 slice-plan agents, and 8-16 implementation-helper agents before broad edits.
|
|
24
|
+
- Implementation threads synthesize swarm reports into the turn doc, integrate helper output coherently, and include `swarm_summary` in the callback.
|
|
21
25
|
- Implementation threads call back exactly once when PR-ready or blocked.
|
|
22
26
|
- Implementation callbacks echo `orchestrator_thread_id` and include `source_thread_id`.
|
|
23
27
|
- Implementation threads do not create review threads.
|
|
@@ -25,9 +29,11 @@ Start from:
|
|
|
25
29
|
- Review threads own CI, repairs, reruns, and evidence.
|
|
26
30
|
- Review threads call back exactly once when review and CI are resolved.
|
|
27
31
|
- Review callbacks echo `orchestrator_thread_id` and include `source_thread_id`.
|
|
28
|
-
-
|
|
32
|
+
- After every review callback, the orchestrator launches a closeout-selector subagent before closing, stopping, or continuing.
|
|
33
|
+
- Selector and closeout-selector subagents return `swarm-report` payloads and never mutate Beads or create threads.
|
|
34
|
+
- Workers and reviewers update the existing Markdown phase turn doc; the orchestrator records selector reports, callbacks, Beads updates, and closeout there.
|
|
29
35
|
- Update Beads first, then update `loop-state.md`.
|
|
30
36
|
|
|
31
37
|
## Start Prompt
|
|
32
38
|
|
|
33
|
-
Run the Example Stream dirtyloop with workflow `orchestrator-callback`. Use Beads epic `example-epic` as canonical. Read `docs/implementation/example-stream/IMPLEMENT.md` and `docs/implementation/example-stream/loop-state.md`, select one next ready Beads child issue
|
|
39
|
+
Run the Example Stream dirtyloop with workflow `orchestrator-callback`. Use Beads epic `example-epic` as canonical. Read `docs/implementation/example-stream/IMPLEMENT.md` and `docs/implementation/example-stream/loop-state.md`, launch a selector subagent with `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false` to select one next ready Beads child issue, create an implementation thread with those same explicit defaults, the full linked phase doc, and exact callback target `THREAD_ORCHESTRATOR_ID` in the prompt text. The implementation thread must run 8-20 scout agents, 8-16 slice-plan agents, and 8-16 implementation-helper agents for non-trivial phases, synthesize their reports into one coherent slice plan, integrate helper output, and include `swarm_summary` in its callback. Wait for an implementation callback that echoes `orchestrator_thread_id` and includes `source_thread_id` without repeatedly reading or monitoring the worker thread. Create a review thread with those same explicit defaults that uses `thermo-nuclear-code-quality-review` and owns CI, then wait for its single callback the same way. After the review callback reports concrete CI state and echoes the same callback target, launch a closeout-selector subagent with those same explicit defaults to verify closeout and select stop or at most one next phase. Do not inherit current UI, recent thread, parent/orchestrator, `fast`, or `xhigh` settings unless Beads metadata explicitly overrides the actor being launched. Apply Beads and loop-state updates only from the orchestrator. Do not let worker threads create review threads. Continue to the next selected phase unless the epic is complete, blocked, interrupted, or review/CI is unresolved.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Selector Subagent Prompt: Example Stream
|
|
2
|
+
|
|
3
|
+
You are the selector subagent for an `orchestrator-callback` dirtyloop.
|
|
4
|
+
|
|
5
|
+
Canonical tracker: Beads epic `example-epic`
|
|
6
|
+
|
|
7
|
+
Mission: select at most one next ready Beads phase for the orchestrator.
|
|
8
|
+
|
|
9
|
+
Launch defaults:
|
|
10
|
+
|
|
11
|
+
- speed: `standard`
|
|
12
|
+
- reasoning: `high`
|
|
13
|
+
- inherit_orchestrator_thread_settings: `false`
|
|
14
|
+
|
|
15
|
+
Do not run this selector with inherited UI, recent thread, parent/orchestrator, `fast`, or `xhigh` settings unless Beads metadata explicitly overrides the selector actor.
|
|
16
|
+
|
|
17
|
+
Read:
|
|
18
|
+
|
|
19
|
+
- Beads epic `example-epic`
|
|
20
|
+
- Beads loop metadata
|
|
21
|
+
- `docs/implementation/example-stream/IMPLEMENT.md`
|
|
22
|
+
- `docs/implementation/example-stream/loop-state.md`
|
|
23
|
+
- linked phase docs for ready or nearly-ready child issues
|
|
24
|
+
|
|
25
|
+
Rules:
|
|
26
|
+
|
|
27
|
+
- Do not implement.
|
|
28
|
+
- Do not review.
|
|
29
|
+
- Do not mutate Beads.
|
|
30
|
+
- Do not edit files.
|
|
31
|
+
- Do not create implementation or review threads.
|
|
32
|
+
- Select exactly one phase only when Beads says it is ready and the linked phase doc is coherent.
|
|
33
|
+
- If no phase is ready or the state is ambiguous, report `blocked` with evidence.
|
|
34
|
+
|
|
35
|
+
Return a compact report matching `schemas/swarm-report.schema.json` with `mission: "selector"`.
|
|
@@ -8,11 +8,13 @@ This is the single Markdown turn doc for the phase.
|
|
|
8
8
|
|
|
9
9
|
## Phase Selection
|
|
10
10
|
|
|
11
|
-
Selected by
|
|
11
|
+
Selected by selector subagent `THREAD_SELECTOR_ID` after `bd ready` showed `example-epic.1` unblocked.
|
|
12
12
|
|
|
13
13
|
## Implementation Log
|
|
14
14
|
|
|
15
15
|
- Implementation thread `THREAD_IMPLEMENTATION_ID` created with orchestrator callback target `THREAD_ORCHESTRATOR_ID`.
|
|
16
|
+
- Worker launched 12 scout agents, 8 slice-plan agents, and 10 implementation-helper agents.
|
|
17
|
+
- Worker synthesized swarm reports into five file-group slices, integrated helper output, and resolved final test wiring in the main worker thread.
|
|
16
18
|
- Worker created branch `example-stream/01-foundation`.
|
|
17
19
|
- Worker opened PR `#123`.
|
|
18
20
|
|
|
@@ -31,6 +33,14 @@ Selected by the orchestrator after `bd ready` showed `example-epic.1` unblocked.
|
|
|
31
33
|
"turn_doc": "docs/implementation/example-stream/turn-docs/01-foundation.md",
|
|
32
34
|
"local_gates": ["bun test: passed"],
|
|
33
35
|
"changed_files": ["src/reporting/model.ts", "src/reporting/model.test.ts"],
|
|
36
|
+
"swarm_summary": {
|
|
37
|
+
"scout_agents": 12,
|
|
38
|
+
"slice_plan_agents": 8,
|
|
39
|
+
"implementation_helper_agents": 10,
|
|
40
|
+
"slice_count": 5,
|
|
41
|
+
"synthesis": "Scout findings were collapsed into five file-group slices; helper outputs were integrated by the worker before PR.",
|
|
42
|
+
"used_less_than_default_reason": null
|
|
43
|
+
},
|
|
34
44
|
"blockers": [],
|
|
35
45
|
"context_to_keep": ["The new model boundary is report-in/report-out and does not know UI concerns."]
|
|
36
46
|
}
|
|
@@ -76,4 +86,6 @@ Evidence:
|
|
|
76
86
|
|
|
77
87
|
## Closeout
|
|
78
88
|
|
|
79
|
-
|
|
89
|
+
Closeout-selector subagent `THREAD_CLOSEOUT_SELECTOR_ID` verified the review callback, PR `#123`, `ci-repaired-and-green` evidence, and Beads dependencies. It recommended closing `example-epic.1` and continuing with `example-epic.2`.
|
|
90
|
+
|
|
91
|
+
Orchestrator merged PR `#123`, closed `example-epic.1`, refreshed Beads export, updated `loop-state.md`, and launched the selected next phase.
|
|
@@ -12,3 +12,4 @@ main coordinator thread
|
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
Beads is canonical. Subagents are bounded and disposable. The main thread owns loop state, branch/PR state, integration, and closeout. Broad implementation starts only after a mass subagent slice plan.
|
|
15
|
+
Every phase uses selector, scout, slice-plan, implementation-helper, reviewer, and CI swarms unless the coordinator records an explicit tiny-phase exception in the turn doc before implementation.
|
|
@@ -23,7 +23,7 @@ Replace an old reporting path with a simpler evidence-backed implementation whil
|
|
|
23
23
|
|
|
24
24
|
The main coordinator thread owns integration, branch state, PR state, Beads updates, and closeout.
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
Every phase uses bounded swarms:
|
|
27
27
|
|
|
28
28
|
- selector swarm: 4-8 agents
|
|
29
29
|
- scout swarm: 8-20 agents
|
|
@@ -34,7 +34,7 @@ Subagents are bounded swarms:
|
|
|
34
34
|
|
|
35
35
|
Subagents split the phase into slices, inspect, prepare implementation guidance or patches, review, verify, and report. They do not own loop state.
|
|
36
36
|
|
|
37
|
-
The coordinator runs a slice planning swarm before
|
|
37
|
+
The coordinator runs a slice planning swarm before implementation. Direct coordinator implementation is limited to synthesis, integration, glue, conflicts, final repairs, and Beads/PR closeout. If a phase is tiny enough to use fewer than the default per-phase swarms, the coordinator records the reason in the turn doc before implementation.
|
|
38
38
|
|
|
39
39
|
## Phase Ledger
|
|
40
40
|
|
|
@@ -10,13 +10,14 @@ Canonical tracker: Beads epic `example-epic`
|
|
|
10
10
|
- Do not create separate Codex worker or reviewer threads.
|
|
11
11
|
- Continue phase-by-phase until the epic is complete, blocked, interrupted, or review/CI is unresolved.
|
|
12
12
|
- The main thread owns integration, branch state, PR state, Beads updates, and closeout.
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
13
|
+
- For every phase, use selector, scout, slice-plan, implementation-helper, reviewer, and CI subagent swarms.
|
|
14
|
+
- Default per-phase sizes: selector 4-8 agents, scout 8-20 agents, slice-plan 8-16 agents, implementation-helper 8-16 agents, reviewer 8-20 agents, and CI verification 4-12 agents.
|
|
15
|
+
- If a phase is tiny enough to use fewer than the default per-phase swarms, record why in the turn doc before implementation.
|
|
16
|
+
- Run a slice planning swarm before implementation.
|
|
16
17
|
- Reviewer agents use `thermo-nuclear-code-quality-review`.
|
|
17
18
|
- Reviewer and CI verification agents own CI evidence.
|
|
18
19
|
- Update the existing Markdown turn doc.
|
|
19
20
|
|
|
20
21
|
## Start Prompt
|
|
21
22
|
|
|
22
|
-
Run the Example Stream dirtyloop with workflow `single-thread-subagent`. Use Beads epic `example-epic` as canonical. Read `docs/implementation/example-stream/IMPLEMENT.md` and `docs/implementation/example-stream/loop-state.md`, select one next ready Beads child issue, use mass subagent swarms for selector/scout/slice/implementation-helper/review/CI work, synthesize the slice plan before
|
|
23
|
+
Run the Example Stream dirtyloop with workflow `single-thread-subagent`. Use Beads epic `example-epic` as canonical. Read `docs/implementation/example-stream/IMPLEMENT.md` and `docs/implementation/example-stream/loop-state.md`, select one next ready Beads child issue, use per-phase mass subagent swarms for selector/scout/slice-plan/implementation-helper/review/CI work, synthesize the slice plan before implementation, integrate only the selected phase in the main thread, update the existing Markdown turn doc, update Beads first, then update `loop-state.md`. If a phase is tiny enough to use fewer than the default per-phase swarms, record why in the turn doc before implementation. Continue to the next ready phase unless the epic is complete, blocked, interrupted, or review/CI is unresolved.
|
|
@@ -11,11 +11,11 @@ Selected by the main coordinator after Beads showed `example-epic.1` ready.
|
|
|
11
11
|
## Subagent Swarms
|
|
12
12
|
|
|
13
13
|
- Selector swarm confirmed no dependencies.
|
|
14
|
-
- Scout swarm
|
|
15
|
-
- Slice planning swarm split implementation into `slice-model-boundary`, `slice-tests`, and `slice-adapter-cleanup`.
|
|
16
|
-
- Implementation helper swarm
|
|
17
|
-
- Reviewer swarm used `thermo-nuclear-code-quality-review`.
|
|
18
|
-
- CI verification swarm
|
|
14
|
+
- Scout swarm used 12 agents to check old reporting behavior, likely files, tests, and integration risks.
|
|
15
|
+
- Slice planning swarm used 8 agents to split implementation into `slice-model-boundary`, `slice-tests`, and `slice-adapter-cleanup`.
|
|
16
|
+
- Implementation helper swarm used 10 agents to prepare patch guidance for each slice.
|
|
17
|
+
- Reviewer swarm used 12 agents with `thermo-nuclear-code-quality-review`.
|
|
18
|
+
- CI verification swarm used 4 agents to resolve gate evidence.
|
|
19
19
|
|
|
20
20
|
## Implementation Log
|
|
21
21
|
|
|
@@ -438,7 +438,7 @@
|
|
|
438
438
|
<div class="workflow">
|
|
439
439
|
<article class="workflow-card">
|
|
440
440
|
<h3>single-thread-subagent</h3>
|
|
441
|
-
<p>One visible coordinator owns loop state, integration, PRs, and closeout.
|
|
441
|
+
<p>One visible coordinator owns loop state, integration, PRs, and closeout. Every phase uses mass selector, scout, slice-plan, implementation-helper, review, and CI swarms unless a tiny-phase exception is recorded.</p>
|
|
442
442
|
<div class="flow">
|
|
443
443
|
<div class="node">
|
|
444
444
|
<b>1</b>
|
|
@@ -446,7 +446,7 @@
|
|
|
446
446
|
</div>
|
|
447
447
|
<div class="node">
|
|
448
448
|
<b>2</b>
|
|
449
|
-
<div><strong>
|
|
449
|
+
<div><strong>Per-phase swarms split the phase</strong><span>Selector, scout, slice-plan, implementation-helper, reviewer, and CI agents return compact reports.</span></div>
|
|
450
450
|
</div>
|
|
451
451
|
<div class="node">
|
|
452
452
|
<b>3</b>
|
|
@@ -457,20 +457,24 @@
|
|
|
457
457
|
|
|
458
458
|
<article class="workflow-card callback">
|
|
459
459
|
<h3>orchestrator-callback</h3>
|
|
460
|
-
<p>The original loop shape. A main orchestrator creates standard
|
|
460
|
+
<p>The original loop shape. A main orchestrator delegates phase gates to selector subagents, creates child threads with explicit standard speed, high reasoning, and no inherited settings, requires swarm-first implementation workers, waits without monitoring, then advances after validated callbacks and closeout reports.</p>
|
|
461
461
|
<div class="flow">
|
|
462
462
|
<div class="node callback">
|
|
463
463
|
<b>1</b>
|
|
464
|
-
<div><strong>
|
|
464
|
+
<div><strong>Selector picks phase</strong><span>Selector subagent reads Beads, loop state, and linked phase docs before the first worker.</span></div>
|
|
465
465
|
</div>
|
|
466
466
|
<div class="node callback">
|
|
467
467
|
<b>2</b>
|
|
468
|
-
<div><strong>Implementation thread
|
|
468
|
+
<div><strong>Implementation thread swarms</strong><span>Worker runs scout, slice-plan, and implementation-helper swarms, then integrates one coherent PR.</span></div>
|
|
469
469
|
</div>
|
|
470
470
|
<div class="node callback">
|
|
471
471
|
<b>3</b>
|
|
472
472
|
<div><strong>Review thread owns CI</strong><span>Reviewer uses thermo-nuclear review, handles CI/repairs, then echoes the callback id.</span></div>
|
|
473
473
|
</div>
|
|
474
|
+
<div class="node callback">
|
|
475
|
+
<b>4</b>
|
|
476
|
+
<div><strong>Closeout selector gates next</strong><span>Closeout-selector subagent verifies review, PR, CI, Beads, and loop state before stop or next phase.</span></div>
|
|
477
|
+
</div>
|
|
474
478
|
</div>
|
|
475
479
|
</article>
|
|
476
480
|
</div>
|
|
@@ -491,7 +495,7 @@
|
|
|
491
495
|
<tr>
|
|
492
496
|
<td>Phase selection</td>
|
|
493
497
|
<td>Main coordinator with selector subagents.</td>
|
|
494
|
-
<td>
|
|
498
|
+
<td>Initial selector subagent; closeout-selector subagent between phases.</td>
|
|
495
499
|
</tr>
|
|
496
500
|
<tr>
|
|
497
501
|
<td>Implementation</td>
|
|
@@ -511,12 +515,12 @@
|
|
|
511
515
|
<tr>
|
|
512
516
|
<td>Beads closeout</td>
|
|
513
517
|
<td>Main coordinator updates Beads first, then loop-state.</td>
|
|
514
|
-
<td>Orchestrator updates Beads after
|
|
518
|
+
<td>Orchestrator updates Beads after callback validation and closeout-selector report.</td>
|
|
515
519
|
</tr>
|
|
516
520
|
<tr>
|
|
517
521
|
<td>Next phase</td>
|
|
518
522
|
<td>Main coordinator continues after closeout unless complete, blocked, interrupted, unresolved, or <code>--once</code>.</td>
|
|
519
|
-
<td>Orchestrator launches the
|
|
523
|
+
<td>Orchestrator launches only the phase selected by the closeout-selector unless complete, blocked, interrupted, unresolved, or <code>--once</code>.</td>
|
|
520
524
|
</tr>
|
|
521
525
|
</tbody>
|
|
522
526
|
</table>
|
|
@@ -576,7 +580,7 @@ Repo: .
|
|
|
576
580
|
Stream slug: example-stream
|
|
577
581
|
Epic title: Example stream migration
|
|
578
582
|
Run policy: until complete; use --once only for one-shot operation
|
|
579
|
-
Thread defaults: implementation standard,
|
|
583
|
+
Thread defaults: selector/implementation/review/closeout-selector speed standard, reasoning high, no inherit
|
|
580
584
|
Quality gates: bun test, bun run typecheck, targeted browser QA
|
|
581
585
|
Branch/PR policy: one active implementation PR at a time</code></pre>
|
|
582
586
|
</section>
|