@yemi33/minions 0.1.631 → 0.1.633
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 +9 -1
- package/engine/lifecycle.js +16 -11
- package/engine.js +2 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.633 (2026-04-08)
|
|
4
|
+
|
|
5
|
+
### Fixes
|
|
6
|
+
- spread pending mutations into dispatch meta.item snapshot
|
|
7
|
+
|
|
8
|
+
## 0.1.632 (2026-04-08)
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
- store _prdFilename on work item for deterministic completion check
|
|
4
12
|
|
|
5
13
|
### Fixes
|
|
6
14
|
- PRD existence check scans by source_plan, not filename
|
package/engine/lifecycle.js
CHANGED
|
@@ -1349,18 +1349,23 @@ async function runPostCompletionHooks(dispatchItem, agentId, code, stdout, confi
|
|
|
1349
1349
|
|
|
1350
1350
|
// Detect plan-to-prd tasks that completed without creating a PRD file
|
|
1351
1351
|
if (effectiveSuccess && type === WORK_TYPE.PLAN_TO_PRD && meta?.item?.planFile) {
|
|
1352
|
-
//
|
|
1353
|
-
const planFile = meta.item.planFile;
|
|
1352
|
+
// Check by stored filename first (deterministic), fall back to source_plan scan
|
|
1354
1353
|
let prdFound = false;
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1354
|
+
const expectedFile = meta.item._prdFilename;
|
|
1355
|
+
if (expectedFile) {
|
|
1356
|
+
prdFound = fs.existsSync(path.join(PRD_DIR, expectedFile));
|
|
1357
|
+
}
|
|
1358
|
+
if (!prdFound) {
|
|
1359
|
+
try {
|
|
1360
|
+
for (const f of fs.readdirSync(PRD_DIR)) {
|
|
1361
|
+
if (!f.endsWith('.json')) continue;
|
|
1362
|
+
try {
|
|
1363
|
+
const prd = safeJson(path.join(PRD_DIR, f));
|
|
1364
|
+
if (prd && prd.source_plan === meta.item.planFile) { prdFound = true; break; }
|
|
1365
|
+
} catch {}
|
|
1366
|
+
}
|
|
1367
|
+
} catch {}
|
|
1368
|
+
}
|
|
1364
1369
|
if (!prdFound) {
|
|
1365
1370
|
const hasOutput = stdout && stdout.length > 500;
|
|
1366
1371
|
const wiPath = resolveWorkItemPath(meta);
|
package/engine.js
CHANGED
|
@@ -2305,6 +2305,7 @@ function discoverCentralWorkItems(config) {
|
|
|
2305
2305
|
let prdCounter = 2;
|
|
2306
2306
|
while (prdExisting.has(prdFilename)) { prdFilename = prdBase + '-' + prdCounter + '.json'; prdCounter++; }
|
|
2307
2307
|
vars.prd_filename = prdFilename;
|
|
2308
|
+
mutations.set(item.id, Object.assign(mutations.get(item.id) || {}, { _prdFilename: prdFilename }));
|
|
2308
2309
|
vars.branch_strategy_hint = item.branchStrategy
|
|
2309
2310
|
? `The user requested **${item.branchStrategy}** strategy. Use this unless the analysis strongly suggests otherwise.`
|
|
2310
2311
|
: 'Choose the best strategy based on your analysis of item dependencies.';
|
|
@@ -2329,7 +2330,7 @@ function discoverCentralWorkItems(config) {
|
|
|
2329
2330
|
agentRole,
|
|
2330
2331
|
task: item.title || item.description?.slice(0, 80) || item.id,
|
|
2331
2332
|
prompt,
|
|
2332
|
-
meta: { dispatchKey: key, source: 'central-work-item', item, planFileName: item.planFile || mutations.get(item.id)?._planFileName || null, branch: item.branch || item.featureBranch || `work/${item.id}` }
|
|
2333
|
+
meta: { dispatchKey: key, source: 'central-work-item', item: { ...item, ...mutations.get(item.id) }, planFileName: item.planFile || mutations.get(item.id)?._planFileName || null, branch: item.branch || item.featureBranch || `work/${item.id}` }
|
|
2333
2334
|
});
|
|
2334
2335
|
|
|
2335
2336
|
setCooldown(key);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.633",
|
|
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"
|