@yemi33/minions 0.1.802 → 0.1.803
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 +2 -1
- package/engine.js +19 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.803 (2026-04-10)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
6
|
- configurable ignored comment authors — auto-filtered, never trigger fixes
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
- cap review→fix cycles at evalMaxIterations (default 3)
|
|
10
10
|
|
|
11
11
|
### Fixes
|
|
12
|
+
- handle force-pushed dep branches on retry (closes #738) (#806)
|
|
12
13
|
- project-scoped skill work items instruct wrong file path format (closes #790) (#804)
|
|
13
14
|
- move ignoredAuthors construction outside inner comment loop (ADO)
|
|
14
15
|
- approved is permanent — no path can ever downgrade it
|
package/engine.js
CHANGED
|
@@ -493,8 +493,25 @@ async function spawnAgent(dispatchItem, config) {
|
|
|
493
493
|
await execAsync(`git merge "origin/${depBranch}" --no-edit`, { ..._gitOpts, cwd: worktreePath });
|
|
494
494
|
log('info', `Merged dependency branch ${depBranch} (${prId}) into worktree ${branchName}`);
|
|
495
495
|
} catch (mergeErr) {
|
|
496
|
-
|
|
497
|
-
|
|
496
|
+
// Merge failed — possibly due to diverged history from a force-pushed (rebased) dep branch.
|
|
497
|
+
// Abort partial merge, reset worktree to clean main base, and re-merge all deps from scratch.
|
|
498
|
+
log('warn', `Merge of ${depBranch} into ${branchName} failed: ${mergeErr.message} — attempting reset and re-merge of all deps`);
|
|
499
|
+
try { await execAsync(`git merge --abort`, { ..._gitOpts, cwd: worktreePath }); } catch (_) { /* no merge in progress */ }
|
|
500
|
+
const mainRef = sanitizeBranch(shared.resolveMainBranch(rootDir, project.mainBranch));
|
|
501
|
+
try {
|
|
502
|
+
await execAsync(`git reset --hard "origin/${mainRef}"`, { ..._gitOpts, cwd: worktreePath });
|
|
503
|
+
log('info', `Reset worktree ${branchName} to origin/${mainRef} for clean dep re-merge`);
|
|
504
|
+
// Re-merge ALL fetched dep branches from scratch on clean base
|
|
505
|
+
for (const { branch: reBranch, prId: rePrId } of fetched) {
|
|
506
|
+
await execAsync(`git merge "origin/${reBranch}" --no-edit`, { ..._gitOpts, cwd: worktreePath });
|
|
507
|
+
log('info', `Re-merged dependency branch ${reBranch} (${rePrId}) into worktree ${branchName}`);
|
|
508
|
+
}
|
|
509
|
+
log('info', `Successfully re-merged all ${fetched.length} dep branches after reset for ${branchName}`);
|
|
510
|
+
} catch (resetErr) {
|
|
511
|
+
log('warn', `Failed to reset and re-merge deps for ${branchName}: ${resetErr.message}`);
|
|
512
|
+
try { await execAsync(`git merge --abort`, { ..._gitOpts, cwd: worktreePath }); } catch (_) { /* no merge in progress */ }
|
|
513
|
+
depMergeFailed = true;
|
|
514
|
+
}
|
|
498
515
|
break;
|
|
499
516
|
}
|
|
500
517
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.803",
|
|
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"
|