@yemi33/minions 0.1.891 → 0.1.893

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 CHANGED
@@ -1,11 +1,17 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.891 (2026-04-11)
3
+ ## 0.1.893 (2026-04-11)
4
+
5
+ ### Fixes
6
+ - suppress conflict-fix re-dispatch during ADO mergeStatus recompute lag (#921)
7
+
8
+ ## 0.1.892 (2026-04-11)
4
9
 
5
10
  ### Features
6
11
  - add 13 missing CC action types for full dashboard parity
7
12
 
8
13
  ### Fixes
14
+ - merge version bump PR immediately with --admin instead of --auto
9
15
  - parse review verdict from agent output for GitHub self-approval (#912) (#918)
10
16
  - verify PRD file exists before marking plan-to-prd done (#893) (#911)
11
17
  - re-open done work items when PRD item reset to missing (#906) (#910)
package/engine/ado.js CHANGED
@@ -485,6 +485,7 @@ async function pollPrStatus(config) {
485
485
  }
486
486
  } else if (pr._mergeConflict) {
487
487
  delete pr._mergeConflict;
488
+ delete pr._conflictFixedAt; // ADO confirmed clean — allow re-dispatch if conflicts recur
488
489
  updated = true;
489
490
  }
490
491
 
package/engine/github.js CHANGED
@@ -432,6 +432,7 @@ async function pollPrStatus(config) {
432
432
  }
433
433
  } else if (pr._mergeConflict) {
434
434
  delete pr._mergeConflict;
435
+ delete pr._conflictFixedAt; // confirmed clean — allow re-dispatch if conflicts recur
435
436
  updated = true;
436
437
  }
437
438
 
package/engine.js CHANGED
@@ -1899,14 +1899,29 @@ async function discoverFromPrs(config, project) {
1899
1899
  // PRs with merge conflicts — dispatch fix to resolve
1900
1900
  if (pr.status === PR_STATUS.ACTIVE && pr._mergeConflict && !fixDispatched) {
1901
1901
  const key = `conflict-fix-${project?.name || 'default'}-${pr.id}`;
1902
- if (!isAlreadyDispatched(key) && !isOnCooldown(key, cooldownMs)) {
1902
+ // Suppress re-dispatch for 10 min after last attempt — ADO/GitHub recomputes
1903
+ // mergeStatus asynchronously (1–5 min lag), so the flag may stay set even after
1904
+ // a successful push. _conflictFixedAt is cleared when the poller confirms clean status.
1905
+ const conflictFixedAt = pr._conflictFixedAt;
1906
+ const withinLag = conflictFixedAt && Date.now() - new Date(conflictFixedAt).getTime() < 10 * 60 * 1000;
1907
+ if (!withinLag && !isAlreadyDispatched(key) && !isOnCooldown(key, cooldownMs)) {
1903
1908
  const agentId = resolveAgent('fix', config, pr.agent);
1904
1909
  if (agentId) {
1905
1910
  const item = buildPrDispatch(agentId, config, project, pr, 'fix', {
1906
1911
  pr_id: pr.id, pr_branch: pr.branch || '',
1907
1912
  review_note: `This PR has merge conflicts with the target branch. Resolve the conflicts:\n\n1. Pull latest from main/master\n2. Resolve all conflicts (prefer PR branch changes unless main has critical fixes)\n3. Build and test after resolving\n4. Push the resolved branch`,
1908
1913
  }, `Fix merge conflicts on ${pr.id}: ${pr.title || ''}`, { dispatchKey: key, source: 'pr', pr, branch: pr.branch, project: projMeta });
1909
- if (item) { newWork.push(item); setCooldown(key); }
1914
+ if (item) {
1915
+ newWork.push(item);
1916
+ setCooldown(key);
1917
+ // Record dispatch timestamp so re-dispatch is suppressed during ADO lag window
1918
+ try {
1919
+ mutatePullRequests(projectPrPath(project), prs => {
1920
+ const target = prs.find(p => p.id === pr.id);
1921
+ if (target) target._conflictFixedAt = new Date().toISOString();
1922
+ });
1923
+ } catch (e) { log('warn', `conflict-fix timestamp: ${e.message}`); }
1924
+ }
1910
1925
  }
1911
1926
  }
1912
1927
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.891",
3
+ "version": "0.1.893",
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"