@yemi33/minions 0.1.620 → 0.1.622
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/CHANGELOG.md +10 -0
- package/engine/lifecycle.js +29 -0
- package/package.json +1 -1
- package/playbooks/ask.md +4 -2
- package/playbooks/decompose.md +4 -0
- package/playbooks/implement-shared.md +2 -1
- package/playbooks/plan-to-prd.md +2 -1
- package/playbooks/plan.md +2 -1
- package/playbooks/test.md +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.622 (2026-04-08)
|
|
4
|
+
|
|
5
|
+
### Fixes
|
|
6
|
+
- add 'When to Stop' to all playbooks missing explicit stop conditions
|
|
7
|
+
|
|
8
|
+
## 0.1.621 (2026-04-08)
|
|
9
|
+
|
|
10
|
+
### Fixes
|
|
11
|
+
- detect plan-to-prd completing without PRD file, auto-retry
|
|
12
|
+
|
|
3
13
|
## 0.1.620 (2026-04-08)
|
|
4
14
|
|
|
5
15
|
### Fixes
|
package/engine/lifecycle.js
CHANGED
|
@@ -1347,6 +1347,35 @@ async function runPostCompletionHooks(dispatchItem, agentId, code, stdout, confi
|
|
|
1347
1347
|
}
|
|
1348
1348
|
}
|
|
1349
1349
|
|
|
1350
|
+
// Detect plan-to-prd tasks that completed without creating a PRD file
|
|
1351
|
+
if (effectiveSuccess && type === WORK_TYPE.PLAN_TO_PRD && meta?.item?.planFile) {
|
|
1352
|
+
const prdFile = meta.item.planFile.replace(/\.md$/, '.json');
|
|
1353
|
+
const prdPath = path.join(PRD_DIR, prdFile);
|
|
1354
|
+
if (!fs.existsSync(prdPath)) {
|
|
1355
|
+
const hasOutput = stdout && stdout.length > 500;
|
|
1356
|
+
const wiPath = resolveWorkItemPath(meta);
|
|
1357
|
+
if (wiPath) {
|
|
1358
|
+
mutateJsonFileLocked(wiPath, data => {
|
|
1359
|
+
if (!Array.isArray(data)) return data;
|
|
1360
|
+
const w = data.find(i => i.id === meta.item.id);
|
|
1361
|
+
if (!w) return data;
|
|
1362
|
+
const retries = w._retryCount || 0;
|
|
1363
|
+
if (retries < ENGINE_DEFAULTS.maxRetries) {
|
|
1364
|
+
w.status = WI_STATUS.PENDING;
|
|
1365
|
+
w._retryCount = retries + 1;
|
|
1366
|
+
delete w.dispatched_at;
|
|
1367
|
+
log('warn', `plan-to-prd ${meta.item.id} completed without PRD file — auto-retry ${retries + 1}/${ENGINE_DEFAULTS.maxRetries}`);
|
|
1368
|
+
} else {
|
|
1369
|
+
w.status = WI_STATUS.FAILED;
|
|
1370
|
+
w.failReason = 'Completed without creating PRD file after ' + ENGINE_DEFAULTS.maxRetries + ' attempts';
|
|
1371
|
+
log('warn', `plan-to-prd ${meta.item.id} failed — no PRD file after ${ENGINE_DEFAULTS.maxRetries} retries`);
|
|
1372
|
+
}
|
|
1373
|
+
return data;
|
|
1374
|
+
});
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1377
|
+
}
|
|
1378
|
+
|
|
1350
1379
|
if (type === WORK_TYPE.REVIEW) await updatePrAfterReview(agentId, meta?.pr, meta?.project, config);
|
|
1351
1380
|
if (type === WORK_TYPE.FIX) updatePrAfterFix(meta?.pr, meta?.project, meta?.source);
|
|
1352
1381
|
checkForLearnings(agentId, config.agents[agentId], dispatchItem.task);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.622",
|
|
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/ask.md
CHANGED
|
@@ -38,11 +38,13 @@ Keep it concise but complete. Write for a senior engineer who wants the real ans
|
|
|
38
38
|
|
|
39
39
|
### 4. Status
|
|
40
40
|
|
|
41
|
+
## When to Stop
|
|
42
|
+
|
|
43
|
+
Your task is complete once you have written your answer to the inbox file. Do NOT modify code, create PRs, or continue exploring beyond the question. Stop after writing.
|
|
44
|
+
|
|
41
45
|
## Rules
|
|
42
46
|
- Do NOT modify any code unless the question explicitly asks you to.
|
|
43
47
|
- Do NOT create PRs or branches — this is a read-only task.
|
|
44
|
-
- Do NOT checkout branches in the main working tree.
|
|
45
|
-
- Read `notes.md` for all team rules before starting.
|
|
46
48
|
|
|
47
49
|
## Team Decisions
|
|
48
50
|
{{notes_content}}
|
package/playbooks/decompose.md
CHANGED
|
@@ -62,3 +62,7 @@ Keep the total number of sub-items between 2 and 5. If the task genuinely cannot
|
|
|
62
62
|
{{pr_create_instructions}}
|
|
63
63
|
|
|
64
64
|
{{pr_comment_instructions}}
|
|
65
|
+
|
|
66
|
+
## When to Stop
|
|
67
|
+
|
|
68
|
+
Your task is complete once you have output the JSON decomposition block. The engine parses it from your output. Do NOT begin implementing the sub-items. Stop after outputting the JSON.
|
|
@@ -71,5 +71,6 @@ After implementation:
|
|
|
71
71
|
- Re-run the build
|
|
72
72
|
- If it fails 3 times, report the build errors in your findings and stop
|
|
73
73
|
|
|
74
|
-
##
|
|
74
|
+
## When to Stop
|
|
75
75
|
|
|
76
|
+
Your task is complete once you have committed and pushed your changes to the shared branch. Do NOT create a PR — the engine creates one when all plan items are done. Stop after pushing.
|
package/playbooks/plan-to-prd.md
CHANGED
|
@@ -100,5 +100,6 @@ Rules for items:
|
|
|
100
100
|
- For `shared-branch`: agents commit to a single branch — one PR is created automatically when all items are done
|
|
101
101
|
- For `parallel`: each agent creates its own branch and PR
|
|
102
102
|
|
|
103
|
-
##
|
|
103
|
+
## When to Stop
|
|
104
104
|
|
|
105
|
+
Your task is complete once you have written the PRD JSON file to `{{team_root}}/prd/{{prd_filename}}`. The engine will detect the file and begin dispatching work. Do NOT create branches, PRs, or modify project code. Stop after writing the JSON file.
|
package/playbooks/plan.md
CHANGED
|
@@ -91,8 +91,9 @@ High-level design decisions and rationale.
|
|
|
91
91
|
- The engine will automatically chain this plan into a PRD conversion step
|
|
92
92
|
- Focus on being thorough but actionable — the PRD agent needs clear items to convert
|
|
93
93
|
|
|
94
|
-
##
|
|
94
|
+
## When to Stop
|
|
95
95
|
|
|
96
|
+
Your task is complete once you have written the plan file to `{{team_root}}/plans/{{plan_file}}`. Do NOT begin implementation. Stop after writing the plan.
|
|
96
97
|
|
|
97
98
|
## Team Notes
|
|
98
99
|
{{notes_content}}
|
package/playbooks/test.md
CHANGED
|
@@ -64,4 +64,8 @@ Include:
|
|
|
64
64
|
- Localhost URL if applicable
|
|
65
65
|
|
|
66
66
|
|
|
67
|
+
## When to Stop
|
|
68
|
+
|
|
69
|
+
Your task is complete once you have run the tests, written findings to the inbox file, and (if applicable) created a PR with new tests. Stop after writing findings.
|
|
70
|
+
|
|
67
71
|
Do NOT remove worktrees — the engine handles cleanup automatically.
|