@yemi33/minions 0.1.1885 → 0.1.1887
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/docs/distribution.md +79 -0
- package/docs/index.html +33 -45
- package/engine/lifecycle.js +16 -2
- package/package.json +1 -1
- package/playbooks/explore.md +1 -1
- package/playbooks/meeting-conclude.md +13 -3
- package/playbooks/meeting-investigate.md +4 -0
- package/playbooks/plan.md +16 -10
- package/playbooks/review.md +7 -4
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Distribution & Publishing
|
|
2
|
+
|
|
3
|
+
Minions is distributed as an npm package (`@yemi33/minions`) from a sanitized package boundary.
|
|
4
|
+
|
|
5
|
+
## Distribution Boundary
|
|
6
|
+
|
|
7
|
+
| Surface | Purpose | What's included |
|
|
8
|
+
|------|---------|----------------|
|
|
9
|
+
| **source repository** | Private development and automation | Working code, project history, and release workflows |
|
|
10
|
+
| **npm package** (`@yemi33/minions`) | Public installation for users | Engine, dashboard, playbooks, charters, skills, docs, and package files |
|
|
11
|
+
|
|
12
|
+
## What Gets Stripped
|
|
13
|
+
|
|
14
|
+
These files are excluded from published packages:
|
|
15
|
+
|
|
16
|
+
| Category | Pattern | Reason |
|
|
17
|
+
|----------|---------|--------|
|
|
18
|
+
| Agent history | `agents/*/history.md` | Session-specific task logs |
|
|
19
|
+
| Notes archive | `notes/archive/*` | Historical agent findings |
|
|
20
|
+
| Notes inbox | `notes/inbox/*` | Pending agent findings |
|
|
21
|
+
| Notes summary | `notes.md` | Consolidated knowledge (runtime) |
|
|
22
|
+
| Work items | `work-items.json` | Runtime dispatch tracking |
|
|
23
|
+
| Project instructions | `CLAUDE.md` | Org-specific context |
|
|
24
|
+
|
|
25
|
+
## npm Package
|
|
26
|
+
|
|
27
|
+
**Package:** `@yemi33/minions`
|
|
28
|
+
**Registry:** https://www.npmjs.com/package/@yemi33/minions
|
|
29
|
+
|
|
30
|
+
### What's in the package
|
|
31
|
+
|
|
32
|
+
Controlled by the `files` field in `package.json`:
|
|
33
|
+
- `bin/minions.js` — CLI entry point
|
|
34
|
+
- `engine.js`, `dashboard.js`, `dashboard/` (fragments), `minions.js` — core scripts
|
|
35
|
+
- `engine/spawn-agent.js`, `engine/ado-mcp-wrapper.js` — engine helpers
|
|
36
|
+
- `agents/*/charter.md` — agent role definitions
|
|
37
|
+
- `playbooks/*.md` — task templates
|
|
38
|
+
- `config.template.json` — starter config
|
|
39
|
+
- `routing.md`, `team.md` — editable team config
|
|
40
|
+
- `skills/`, `docs/` — documentation and workflows
|
|
41
|
+
|
|
42
|
+
### How `minions init` works
|
|
43
|
+
|
|
44
|
+
1. Copies all package files from `node_modules/@yemi33/minions/` to `~/.minions/`
|
|
45
|
+
2. Creates `config.json` from `config.template.json` if it doesn't exist
|
|
46
|
+
3. Creates runtime directories (`engine/`, `notes/inbox/`, `notes/archive/`, etc.)
|
|
47
|
+
4. Runs `minions.js init` to populate config with default agents
|
|
48
|
+
5. On `--force`, overwrites `.js` and `.html` files but preserves user-modified `.md` files
|
|
49
|
+
|
|
50
|
+
### How updates work
|
|
51
|
+
|
|
52
|
+
- Users run `npm update -g @yemi33/minions` then `minions init --force` to update engine code
|
|
53
|
+
- `npx @yemi33/minions` always fetches the latest version
|
|
54
|
+
|
|
55
|
+
## Auto-Publishing
|
|
56
|
+
|
|
57
|
+
A GitHub Action on the personal repo auto-publishes to npm on every push to master.
|
|
58
|
+
|
|
59
|
+
### How it works
|
|
60
|
+
|
|
61
|
+
1. Push to `yemi33/minions` master triggers `.github/workflows/publish.yml`
|
|
62
|
+
2. Action queries npm for the current published version
|
|
63
|
+
3. Bumps patch version (e.g., `0.1.5` → `0.1.6`)
|
|
64
|
+
4. Publishes to npm with the new version
|
|
65
|
+
5. Commits the version bump back to the repo with `[skip ci]` to prevent loops
|
|
66
|
+
|
|
67
|
+
### Why version comes from npm, not the repo
|
|
68
|
+
|
|
69
|
+
The sync-to-personal workflow force-pushes, which overwrites any version bump commits from previous action runs. So the action reads the latest version from the npm registry and bumps from there.
|
|
70
|
+
|
|
71
|
+
### Setup requirements
|
|
72
|
+
|
|
73
|
+
- `NPM_TOKEN` secret on `yemi33/minions` — a granular access token with publish permissions and 2FA bypass enabled
|
|
74
|
+
- The workflow file (`.github/workflows/publish.yml`) is not included in the npm package
|
|
75
|
+
|
|
76
|
+
## Sync Workflow
|
|
77
|
+
|
|
78
|
+
Repository and package publishing automation should keep private repository names, tokens, runtime state, and internal-only metadata out of public docs and public package contents.
|
|
79
|
+
|
package/docs/index.html
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>Minions
|
|
7
|
-
<meta name="description" content="
|
|
6
|
+
<title>Minions — Multi-Agent AI Dev Team</title>
|
|
7
|
+
<meta name="description" content="5 autonomous AI agents, one engine, one dashboard. Minions orchestrates Claude-powered agents to plan, implement, review, and ship code autonomously.">
|
|
8
8
|
<style>
|
|
9
9
|
:root { --bg: #0d1117; --surface: #161b22; --border: #30363d; --text: #c9d1d9; --muted: #8b949e; --blue: #58a6ff; --green: #3fb950; --yellow: #d29922; --red: #f85149; --purple: #bc8cff; }
|
|
10
10
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
@@ -83,15 +83,15 @@
|
|
|
83
83
|
<!-- Hero -->
|
|
84
84
|
<div class="hero">
|
|
85
85
|
<h1>Minions <span>Mission Control</span></h1>
|
|
86
|
-
<p class="tagline">
|
|
86
|
+
<p class="tagline">5 autonomous AI agents, one engine, one dashboard. Plan, implement, review, and ship code — hands-free.</p>
|
|
87
87
|
<div class="hero-badges">
|
|
88
|
-
<span class="hero-badge green">
|
|
89
|
-
<span class="hero-badge blue">Claude
|
|
88
|
+
<span class="hero-badge green">Zero Dependencies</span>
|
|
89
|
+
<span class="hero-badge blue">Claude-Powered</span>
|
|
90
90
|
<span class="hero-badge yellow">Multi-Project</span>
|
|
91
|
-
<span class="hero-badge purple">
|
|
91
|
+
<span class="hero-badge purple">Self-Improving</span>
|
|
92
92
|
</div>
|
|
93
93
|
<div class="cta">
|
|
94
|
-
<a href="https://
|
|
94
|
+
<a href="https://github.com/yemi33/minions" class="cta-primary">View on GitHub</a>
|
|
95
95
|
<a href="#quickstart" class="cta-secondary">Quick Start</a>
|
|
96
96
|
</div>
|
|
97
97
|
</div>
|
|
@@ -108,25 +108,24 @@
|
|
|
108
108
|
<!-- Features -->
|
|
109
109
|
<div class="container">
|
|
110
110
|
<div class="features">
|
|
111
|
-
<div class="feature"><h3>Autonomous Dispatch</h3><p>Engine discovers work from plans, PRs,
|
|
112
|
-
<div class="feature"><h3>Plan Lifecycle</h3><p>Plan → Approve → PRD → Execute → Review → Verify.
|
|
111
|
+
<div class="feature"><h3>Autonomous Dispatch</h3><p>Engine discovers work from plans, PRs, pipelines, and queues — routes to the right agent based on skills and availability.</p></div>
|
|
112
|
+
<div class="feature"><h3>Plan Lifecycle</h3><p>Plan → Approve → PRD → Execute → Review → Verify. Human-in-the-loop at every gate.</p></div>
|
|
113
113
|
<div class="feature"><h3>Team Meetings</h3><p>Multi-agent meetings with investigate, debate, and conclude rounds. Agents research, discuss, and produce actionable conclusions.</p></div>
|
|
114
114
|
<div class="feature"><h3>Multi-Stage Pipelines</h3><p>Chain tasks, meetings, plans, and more into automated workflows. Cron triggers or manual. Artifacts flow between stages.</p></div>
|
|
115
|
-
<div class="feature"><h3>
|
|
115
|
+
<div class="feature"><h3>Eval Loop</h3><p>After implementation, auto-dispatches review → fix cycles. Configurable iterations and cost ceiling per work item.</p></div>
|
|
116
116
|
<div class="feature"><h3>Git Worktree Isolation</h3><p>Each agent works in its own worktree. No conflicts, no cross-contamination, safe parallel execution.</p></div>
|
|
117
|
-
<div class="feature"><h3>Knowledge Consolidation</h3><p>Agent findings
|
|
118
|
-
<div class="feature"><h3>PR Integration</h3><p>
|
|
119
|
-
<div class="feature"><h3>Scheduled Tasks
|
|
120
|
-
<div class="feature"><h3>Command Center
|
|
121
|
-
<div class="feature"><h3>
|
|
122
|
-
<div class="feature"><h3>
|
|
123
|
-
<div class="feature"><h3>One-Command Updates</h3><p><code>minions update</code> pulls the latest npm package, reapplies files, and restarts while preserving config and customizations.</p></div>
|
|
117
|
+
<div class="feature"><h3>Knowledge Consolidation</h3><p>Agent findings auto-consolidate into team notes and a searchable knowledge base. The team learns as it works.</p></div>
|
|
118
|
+
<div class="feature"><h3>PR Integration</h3><p>Auto-syncs PRs from Azure DevOps and GitHub. Detects review feedback, build failures, and human comments.</p></div>
|
|
119
|
+
<div class="feature"><h3>Scheduled Tasks</h3><p>Cron-style recurring work: nightly tests, weekly audits, daily standups. Visual cron builder in the dashboard.</p></div>
|
|
120
|
+
<div class="feature"><h3>Command Center</h3><p>Natural language interface for delegating work to agents. CC orchestrates — agents implement.</p></div>
|
|
121
|
+
<div class="feature"><h3>Live Dashboard</h3><p>Real-time mission control on port 7331. Paginated views, optimistic updates, and visibility-aware polling.</p></div>
|
|
122
|
+
<div class="feature"><h3>One-Command Updates</h3><p><code>minions update</code> pulls latest from npm and applies. Config and charters preserved automatically.</p></div>
|
|
124
123
|
</div>
|
|
125
124
|
|
|
126
125
|
<!-- Demo scenarios -->
|
|
127
126
|
<div class="scenario">
|
|
128
127
|
<div class="scenario-header"><div class="scenario-num">1</div><h2>Dashboard Overview</h2></div>
|
|
129
|
-
<p>Home page with agent status cards, project bar, setup guidance
|
|
128
|
+
<p>Home page with agent status cards, project bar, and setup guidance. All agents visible at a glance.</p>
|
|
130
129
|
<div class="demo-frame">
|
|
131
130
|
<img src="demo/01-dashboard-overview.png" alt="Dashboard overview with agent cards">
|
|
132
131
|
<div class="demo-caption">Home page showing Minions Members, project bar, and engine status badge</div>
|
|
@@ -135,7 +134,7 @@
|
|
|
135
134
|
|
|
136
135
|
<div class="scenario">
|
|
137
136
|
<div class="scenario-header"><div class="scenario-num">2</div><h2>Work Items</h2></div>
|
|
138
|
-
<p>Paginated table with status, type, priority, agent,
|
|
137
|
+
<p>Paginated table with status, type, priority, agent, and linked PRs. <span class="badge badge-yellow">PENDING</span> <span class="badge badge-blue">DISPATCHED</span> <span class="badge badge-green">DONE</span> <span class="badge badge-red">FAILED</span>. Retry, delete, and archive with optimistic updates.</p>
|
|
139
138
|
<div class="demo-frame">
|
|
140
139
|
<img src="demo/02-work-items.png" alt="Work items table">
|
|
141
140
|
<div class="demo-caption">Work items page — 20 per page with create, edit, retry, and delete actions</div>
|
|
@@ -144,7 +143,7 @@
|
|
|
144
143
|
|
|
145
144
|
<div class="scenario">
|
|
146
145
|
<div class="scenario-header"><div class="scenario-num">3</div><h2>Plans & PRD</h2></div>
|
|
147
|
-
<p>Plan cards with Approve / Discuss & Revise / Reject. PRD dependency graph with per-item retry
|
|
146
|
+
<p>Plan cards with Approve / Discuss & Revise / Reject. PRD dependency graph with per-item retry. Archive completed plans.</p>
|
|
148
147
|
<div class="demo-frame">
|
|
149
148
|
<img src="demo/03-plans-prd.png" alt="Plans and PRD progress">
|
|
150
149
|
<div class="demo-caption">Plans page with status-colored cards, PRD dependency graph, and action buttons</div>
|
|
@@ -153,7 +152,7 @@
|
|
|
153
152
|
|
|
154
153
|
<div class="scenario">
|
|
155
154
|
<div class="scenario-header"><div class="scenario-num">4</div><h2>Pull Requests</h2></div>
|
|
156
|
-
<p>PR tracker sorted by date, with review, build,
|
|
155
|
+
<p>PR tracker sorted by date, with review, build, and merge status. Linked to work items and PRD items. Manual PR linking supported.</p>
|
|
157
156
|
<div class="demo-frame">
|
|
158
157
|
<img src="demo/04-pull-requests.png" alt="Pull requests tracker">
|
|
159
158
|
<div class="demo-caption">PRs sorted newest-first with build status, review status, and agent attribution</div>
|
|
@@ -171,7 +170,7 @@
|
|
|
171
170
|
|
|
172
171
|
<div class="scenario">
|
|
173
172
|
<div class="scenario-header"><div class="scenario-num">6</div><h2>Pipelines</h2></div>
|
|
174
|
-
<p>Multi-stage workflows chaining tasks, meetings, plans,
|
|
173
|
+
<p>Multi-stage workflows chaining tasks, meetings, plans, and more. Cron triggers or manual. Artifact tracking between stages.</p>
|
|
175
174
|
<div class="demo-frame">
|
|
176
175
|
<img src="demo/06-pipelines.png" alt="Pipelines page">
|
|
177
176
|
<div class="demo-caption">Pipeline cards with stage flow visualization, run history, and progress bars</div>
|
|
@@ -180,7 +179,7 @@
|
|
|
180
179
|
|
|
181
180
|
<div class="scenario">
|
|
182
181
|
<div class="scenario-header"><div class="scenario-num">7</div><h2>Notes & Knowledge Base</h2></div>
|
|
183
|
-
<p>Inbox for agent findings,
|
|
182
|
+
<p>Inbox for agent findings, consolidated team notes, and categorized knowledge base. Inline Q&A on any document.</p>
|
|
184
183
|
<div class="demo-frame">
|
|
185
184
|
<img src="demo/07-notes-kb.png" alt="Notes and knowledge base">
|
|
186
185
|
<div class="demo-caption">Notes inbox, team notes, and knowledge base with category tabs and pagination</div>
|
|
@@ -189,7 +188,7 @@
|
|
|
189
188
|
|
|
190
189
|
<div class="scenario">
|
|
191
190
|
<div class="scenario-header"><div class="scenario-num">8</div><h2>Scheduled Tasks</h2></div>
|
|
192
|
-
<p>Cron-style recurring work with
|
|
191
|
+
<p>Cron-style recurring work with visual builder. Natural language parsing — type "every weekday at 9am" and it generates the cron.</p>
|
|
193
192
|
<div class="demo-frame">
|
|
194
193
|
<img src="demo/08-schedules.png" alt="Schedules page">
|
|
195
194
|
<div class="demo-caption">Schedule list with cron expressions, last-run times, and enable/disable toggles</div>
|
|
@@ -198,7 +197,7 @@
|
|
|
198
197
|
|
|
199
198
|
<div class="scenario">
|
|
200
199
|
<div class="scenario-header"><div class="scenario-num">9</div><h2>Engine & Metrics</h2></div>
|
|
201
|
-
<p>Dispatch queue, engine log, agent metrics, token usage,
|
|
200
|
+
<p>Dispatch queue, engine log, agent metrics, token usage, and context pressure. All paginated.</p>
|
|
202
201
|
<div class="demo-frame">
|
|
203
202
|
<img src="demo/09-engine.png" alt="Engine page">
|
|
204
203
|
<div class="demo-caption">Active/pending dispatches, completed history, engine log, and per-agent quality metrics</div>
|
|
@@ -207,7 +206,7 @@
|
|
|
207
206
|
|
|
208
207
|
<div class="scenario">
|
|
209
208
|
<div class="scenario-header"><div class="scenario-num">10</div><h2>Command Center</h2></div>
|
|
210
|
-
<p>Natural language delegation. CC orchestrates — agents implement.
|
|
209
|
+
<p>Natural language delegation. CC orchestrates — agents implement. Session persists across refreshes. Actions auto-execute.</p>
|
|
211
210
|
<div class="demo-frame">
|
|
212
211
|
<img src="demo/10-command-center.png" alt="Command Center panel">
|
|
213
212
|
<div class="demo-caption">Command Center side panel with conversation history, action execution, and session indicator</div>
|
|
@@ -217,27 +216,17 @@
|
|
|
217
216
|
<!-- Quick Start -->
|
|
218
217
|
<div class="quickstart" id="quickstart">
|
|
219
218
|
<h2>Quick Start</h2>
|
|
220
|
-
<pre><span class="comment">#
|
|
221
|
-
<span class="comment"># Install Claude Code or GitHub Copilot CLI separately, then install Minions</span>
|
|
219
|
+
<pre><span class="comment"># Install</span>
|
|
222
220
|
npm install -g @yemi33/minions
|
|
223
221
|
|
|
224
|
-
<span class="comment">#
|
|
222
|
+
<span class="comment"># Initialize — prompts for project locations, starts engine + dashboard</span>
|
|
225
223
|
minions init
|
|
226
224
|
|
|
227
|
-
<span class="comment"># Or add a specific project later</span>
|
|
228
|
-
minions add ~/my-project
|
|
229
|
-
|
|
230
|
-
<span class="comment"># Start engine + dashboard, then open http://localhost:7331</span>
|
|
231
|
-
minions restart --open
|
|
232
|
-
minions dash
|
|
233
|
-
|
|
234
225
|
<span class="comment"># Give your first task</span>
|
|
235
226
|
minions work "Explore the codebase and document the architecture"
|
|
236
227
|
|
|
237
|
-
<span class="comment">#
|
|
238
|
-
minions
|
|
239
|
-
minions doctor
|
|
240
|
-
minions config set-cli copilot --model gpt-5.4
|
|
228
|
+
<span class="comment"># Open dashboard at http://localhost:7331</span>
|
|
229
|
+
minions dash
|
|
241
230
|
|
|
242
231
|
<span class="comment"># Update to latest</span>
|
|
243
232
|
minions update</pre>
|
|
@@ -252,7 +241,7 @@ minions update</pre>
|
|
|
252
241
|
│ │
|
|
253
242
|
│ engine.js ──── 60s tick loop ────┐ │
|
|
254
243
|
│ │ │ │
|
|
255
|
-
│ discover work spawn agents poll PRs
|
|
244
|
+
│ discover work spawn agents poll PRs │
|
|
256
245
|
│ │ │ │ │
|
|
257
246
|
│ ┌───┴───┐ ┌──────┴──────┐ ┌──┴───┐ │
|
|
258
247
|
│ │ Plans │ │ Worktrees │ │ ADO │ │
|
|
@@ -261,11 +250,10 @@ minions update</pre>
|
|
|
261
250
|
│ └───────┘ └─────────────┘ └──────┘ │
|
|
262
251
|
│ │
|
|
263
252
|
│ dashboard.js ── port 7331 ── mission control │
|
|
264
|
-
│ runtimes/ ── Claude Code or GitHub Copilot CLI │
|
|
265
253
|
│ meetings/ ── multi-agent discussions │
|
|
266
254
|
│ pipelines/ ── multi-stage workflows │
|
|
267
|
-
│
|
|
268
|
-
│
|
|
255
|
+
│ notes.md ── consolidated team knowledge │
|
|
256
|
+
│ knowledge/ ── searchable KB by category │
|
|
269
257
|
└─────────────────────────────────────────────────────┘
|
|
270
258
|
</pre>
|
|
271
259
|
</div>
|
|
@@ -273,7 +261,7 @@ minions update</pre>
|
|
|
273
261
|
</div>
|
|
274
262
|
|
|
275
263
|
<footer>
|
|
276
|
-
<p>Minions — <a href="https://
|
|
264
|
+
<p>Minions — built by <a href="https://github.com/yemi33">yemi33</a> — <a href="https://github.com/yemi33/minions">GitHub</a> — <a href="https://www.npmjs.com/package/@yemi33/minions">npm</a> — MIT License</p>
|
|
277
265
|
</footer>
|
|
278
266
|
|
|
279
267
|
</body>
|
package/engine/lifecycle.js
CHANGED
|
@@ -1624,8 +1624,22 @@ async function updatePrAfterReview(agentId, pr, project, config, resultSummary,
|
|
|
1624
1624
|
if (!postReviewStatus) {
|
|
1625
1625
|
const verdict = reviewVerdictFromCompletion(structuredCompletion) || parseReviewVerdict(resultSummary);
|
|
1626
1626
|
if (verdict) {
|
|
1627
|
-
|
|
1628
|
-
|
|
1627
|
+
// P-e1c8a9d2 — Refuse self-review APPROVE: an agent approving their own PR
|
|
1628
|
+
// is meaningless self-promotion (PR #1867/#1868/#2253 all shipped this way).
|
|
1629
|
+
// Treat it like a bailout — don't apply the verdict (so reviewStatus stays
|
|
1630
|
+
// 'waiting' and the engine routes the next review to a different agent on
|
|
1631
|
+
// the next dispatch tick). The verdict-gate at runPostCompletionHooks sees
|
|
1632
|
+
// the verdict and skips the no-verdict retry path, so _retryCount stays
|
|
1633
|
+
// unchanged. REQUEST_CHANGES from a self-author is still accepted — a
|
|
1634
|
+
// self-author flagging issues on their own PR is harmless and useful.
|
|
1635
|
+
const reviewerLower = String(agentId || '').toLowerCase();
|
|
1636
|
+
const authorLower = String(reviewPr.agent || '').toLowerCase();
|
|
1637
|
+
if (verdict === 'approved' && reviewerLower && authorLower && reviewerLower === authorLower) {
|
|
1638
|
+
log('warn', `review verdict rejected: self-review (reviewer=${reviewerName}, author=${reviewPr.agent})`);
|
|
1639
|
+
} else {
|
|
1640
|
+
postReviewStatus = verdict;
|
|
1641
|
+
log('info', `Read review verdict from agent completion for ${reviewPr.id}: ${verdict}`);
|
|
1642
|
+
}
|
|
1629
1643
|
}
|
|
1630
1644
|
}
|
|
1631
1645
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1887",
|
|
4
4
|
"description": "Multi-agent AI dev team that runs from ~/.minions/ — five autonomous agents share a single engine, dashboard, and knowledge base",
|
|
5
5
|
"bin": {
|
|
6
6
|
"minions": "bin/minions.js"
|
package/playbooks/explore.md
CHANGED
|
@@ -37,7 +37,7 @@ After the requested exploration succeeds, write your findings to `{{team_root}}/
|
|
|
37
37
|
- **Patterns**: conventions and patterns found
|
|
38
38
|
- **Dependencies**: what depends on what
|
|
39
39
|
- **Gaps**: anything missing, broken, or unclear
|
|
40
|
-
- **
|
|
40
|
+
- **Recommended next dispatches**: one bullet per follow-up using the format `<work-type> <agent> — <one-line scope>` (e.g., `implement ralph — wire X helper into Y caller`, `fix lambert — guard Z against null project`). If you have nothing concrete to recommend, the section must read exactly `Recommended next dispatches: none — no follow-up needed`.
|
|
41
41
|
- **Source References**: for EVERY finding, include the source — file paths, line numbers, PR URLs, API endpoints, config keys. Format: `(source: path/to/file.ts:42)` or `(source: PR-12345)`. This is critical — other agents and humans need to verify your findings.
|
|
42
42
|
|
|
43
43
|
If exploration is blocked or fails before you can produce sourced findings, do **not** write an inbox note. Report the blocker in your final response instead.
|
|
@@ -31,11 +31,21 @@ Write a clear, **self-contained** meeting conclusion. Someone reading ONLY this
|
|
|
31
31
|
- What the fix should be (concrete: "change X to Y", "add guard in Z")
|
|
32
32
|
- Estimated complexity (small/medium/large)
|
|
33
33
|
|
|
34
|
-
2. **
|
|
34
|
+
2. **Overrules** — required section. Document every priority where you (the synthesizer) chose differently than a participant argued in debate. Each bullet must take this exact form:
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
- `Overruled <participant>'s claim that <X>; chose <Y> because <reason cited from debate or source file>`
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
The cited reason must be a concrete pointer (debate quote, finding ID, or `path/to/file.ext:line`), not a paraphrase. If the synthesizer truly overruled nothing — every priority above converged in debate — the section must read exactly:
|
|
39
|
+
|
|
40
|
+
- `Overrules: none — every priority converged in debate`
|
|
41
|
+
|
|
42
|
+
Do NOT omit this section. An empty `Overrules:` (without the escape-hatch sentence) is not acceptable.
|
|
43
|
+
|
|
44
|
+
3. **Deferred items** — what was discussed but explicitly deprioritized, and why
|
|
45
|
+
|
|
46
|
+
4. **Unresolved disagreements** — where positions still differ (if any)
|
|
47
|
+
|
|
48
|
+
5. **Open questions for human** — what needs human input before proceeding (if any)
|
|
39
49
|
|
|
40
50
|
**Be concrete, not vague.** Do NOT write "fix 3 bugs" — write which 3 bugs, in which files, with what fix. The conclusion is used as input to create an implementation plan, so it must contain enough detail to act on without re-reading the entire meeting.
|
|
41
51
|
|
|
@@ -25,6 +25,10 @@ Investigate this topic from your unique perspective as {{agent_role}}.
|
|
|
25
25
|
|
|
26
26
|
Focus on what YOU uniquely bring to this discussion. Be thorough but concise.
|
|
27
27
|
|
|
28
|
+
### Evidence rule for code claims
|
|
29
|
+
|
|
30
|
+
Every claim about repository code — a bug, a regression, a missing guard, a test gap, a behavior assertion — must include a concrete citation: a `path/to/file.ext:line` reference (or range like `path:120-145`) for current code, or a `git show <sha>:<path>` hunk reference when the claim is about a specific commit or historical state. Claims you cannot back with such a reference must be tagged `[unverified]` inline (e.g., "the dispatch loop ignores `paused` items `[unverified]`") so debaters in the next round can call them out and either verify or discard them. Do not paraphrase code from memory and present it as fact; if you have not opened the file in this session, it is `[unverified]`.
|
|
31
|
+
|
|
28
32
|
## Output Format
|
|
29
33
|
|
|
30
34
|
Write your findings as a clear markdown document. Start with your key conclusion, then supporting evidence.
|
package/playbooks/plan.md
CHANGED
|
@@ -42,6 +42,7 @@ A user has described a feature they want built. Your job is to create a detailed
|
|
|
42
42
|
- Order by dependency (foundations first)
|
|
43
43
|
- Estimate complexity: `small` (1 file), `medium` (2-5 files), `large` (6+ files)
|
|
44
44
|
- Each item should be independently testable
|
|
45
|
+
- Also list ideas you considered and chose **not** to include — these go in the required `## Rejected items` section so scope is declared explicitly
|
|
45
46
|
|
|
46
47
|
### 5. Write the Plan
|
|
47
48
|
|
|
@@ -65,19 +66,24 @@ What exists today, what needs to change, key files involved.
|
|
|
65
66
|
## Approach
|
|
66
67
|
High-level design decisions and rationale.
|
|
67
68
|
|
|
68
|
-
## Work
|
|
69
|
+
## Work items
|
|
69
70
|
|
|
70
|
-
|
|
71
|
-
1. **Item name** (complexity: small/medium/large)
|
|
72
|
-
- What to build
|
|
73
|
-
- Files to create/modify
|
|
74
|
-
- Acceptance criteria
|
|
71
|
+
Flat numbered list, ordered by dependency in prose (not by phase). Use phases only when items genuinely block each other across PR boundaries; otherwise the plan is a flat numbered list.
|
|
75
72
|
|
|
76
|
-
###
|
|
77
|
-
|
|
73
|
+
### 1. <item name> (complexity: small/medium/large)
|
|
74
|
+
- What to build
|
|
75
|
+
- Files to create/modify
|
|
76
|
+
- Acceptance criteria
|
|
78
77
|
|
|
79
|
-
###
|
|
80
|
-
|
|
78
|
+
### 2. <item name> (complexity: small/medium/large)
|
|
79
|
+
- ...
|
|
80
|
+
|
|
81
|
+
## Rejected items
|
|
82
|
+
|
|
83
|
+
Required section. Declare scope by listing ideas you considered and chose not to include, one line per rejected item with the reason.
|
|
84
|
+
|
|
85
|
+
- <rejected idea> — <one-line reason>
|
|
86
|
+
- <rejected idea> — <one-line reason>
|
|
81
87
|
|
|
82
88
|
## Risks & Open Questions
|
|
83
89
|
- Risk or question that needs user input
|
package/playbooks/review.md
CHANGED
|
@@ -54,7 +54,6 @@ Use subagents only for genuinely parallel, independent tasks (e.g., reviewing un
|
|
|
54
54
|
|
|
55
55
|
8. If the code is genuinely ready:
|
|
56
56
|
- Verdict: **APPROVE**
|
|
57
|
-
- Note any minor non-blocking suggestions
|
|
58
57
|
- Do not request changes for nits, speculative edge cases, or unrelated improvements
|
|
59
58
|
|
|
60
59
|
## Post Review — Submit your verdict
|
|
@@ -79,10 +78,14 @@ Automated checks:
|
|
|
79
78
|
- `<command>`: pass/fail/skipped — short result or reason
|
|
80
79
|
|
|
81
80
|
Blocking issues:
|
|
82
|
-
-
|
|
81
|
+
- `path:line — failure mode — required fix`
|
|
82
|
+
- (one bullet per blocking finding; the literal string `None` is the only allowed empty form)
|
|
83
83
|
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
Minimum diff to ship: <one-line description of the smallest change that would flip this verdict to APPROVE>
|
|
85
|
+
(REQUEST_CHANGES only — omit this line on APPROVE verdicts)
|
|
86
|
+
|
|
87
|
+
Non-blocking observations: None
|
|
88
|
+
- (default to `None`; if you list any, each must be tied to an existing diff line in the form `path:line — observation`)
|
|
86
89
|
```
|
|
87
90
|
|
|
88
91
|
After running the command, confirm it succeeded (check the command output for errors). If it fails, retry once.
|