@yemi33/minions 0.1.950 → 0.1.952

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,8 +1,9 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.950 (2026-04-14)
3
+ ## 0.1.952 (2026-04-14)
4
4
 
5
5
  ### Features
6
+ - gate auto-fix conflict dispatch behind autoFixConflicts flag
6
7
  - add PR/build status CLI shim and agent guidance
7
8
  - make ADO poll frequency configurable and ungate reconcilePrs
8
9
  - update render-work-items.js output viewer to use renderAgentOutput
@@ -22,9 +23,9 @@
22
23
  - fix dispatch.js mutator fallback to use nullish coalescing (#966)
23
24
  - fix stall recovery nested lock violation (#965)
24
25
  - fix pending-rebases.json race condition with file locking (#964)
25
- - add missing resolveWorkItemPath import in engine.js (#963)
26
26
 
27
27
  ### Fixes
28
+ - add autoFixConflicts to boolean settings persist list
28
29
  - tighten build query guard to require mergeCommitId
29
30
  - restore sourceVersion filter after refs/pull merge ref switch
30
31
  - use refs/pull/{id}/merge for build status scoping
@@ -44,7 +45,6 @@
44
45
  - CC streaming auto-retries fresh session when resume fails
45
46
  - 429 retry on abort race applies to all sends, not just queued
46
47
  - show actionable failure context instead of Unknown error (#1003)
47
- - prioritize error_max_turns over permission-blocked in classifyFailure (#1001)
48
48
 
49
49
  ### Other
50
50
  - refactor(ado): simplify ado-status and extract build/review status helpers
@@ -49,6 +49,7 @@ async function openSettings() {
49
49
  settingsToggle('Auto-decompose', 'set-autoDecompose', e.autoDecompose !== false, 'Large implement items are auto-split into sub-tasks') +
50
50
  settingsToggle('Allow Temp Agents', 'set-allowTempAgents', !!e.allowTempAgents, 'Spawn ephemeral agents when all permanent agents are busy') +
51
51
  settingsToggle('Auto-archive Plans', 'set-autoArchive', !!e.autoArchive, 'Automatically archive plans after verify completes (off = manual archive via dashboard)') +
52
+ settingsToggle('Auto-fix Conflicts', 'set-autoFixConflicts', e.autoFixConflicts !== false, 'Auto-dispatch fix agents when a PR has merge conflicts') +
52
53
  settingsToggle('ADO Polling', 'set-adoPollEnabled', e.adoPollEnabled !== false, 'Poll ADO PR status and comments each tick (reconciliation always runs)') +
53
54
  settingsToggle('GitHub Polling', 'set-ghPollEnabled', e.ghPollEnabled !== false, 'Poll GitHub PR status and comments each tick (reconciliation always runs)') +
54
55
  '</div>' +
@@ -237,6 +238,7 @@ async function saveSettings() {
237
238
  autoDecompose: document.getElementById('set-autoDecompose').checked,
238
239
  allowTempAgents: document.getElementById('set-allowTempAgents').checked,
239
240
  autoArchive: document.getElementById('set-autoArchive').checked,
241
+ autoFixConflicts: document.getElementById('set-autoFixConflicts').checked,
240
242
  adoPollEnabled: document.getElementById('set-adoPollEnabled').checked,
241
243
  ghPollEnabled: document.getElementById('set-ghPollEnabled').checked,
242
244
  adoPollStatusEvery: document.getElementById('set-adoPollStatusEvery').value,
package/dashboard.js CHANGED
@@ -3783,7 +3783,7 @@ What would you like to discuss or change? When you're happy, say "approve" and I
3783
3783
  config.engine.maxTurnsByType = mbt;
3784
3784
  }
3785
3785
  // Boolean fields
3786
- for (const key of ['autoApprovePlans', 'evalLoop', 'autoDecompose', 'allowTempAgents', 'autoArchive', 'adoPollEnabled', 'ghPollEnabled']) {
3786
+ for (const key of ['autoApprovePlans', 'evalLoop', 'autoDecompose', 'allowTempAgents', 'autoArchive', 'autoFixConflicts', 'adoPollEnabled', 'ghPollEnabled']) {
3787
3787
  if (e[key] !== undefined) config.engine[key] = !!e[key];
3788
3788
  }
3789
3789
  // Eval loop settings
package/engine/shared.js CHANGED
@@ -533,6 +533,7 @@ const ENGINE_DEFAULTS = {
533
533
  autoApprovePlans: false, // auto-approve PRDs without waiting for human approval
534
534
  autoArchive: false, // opt-in: auto-archive plans after verify completes (false = mark ready, user archives manually)
535
535
  autoReview: true, // auto-dispatch review agents for new PRs (disable for manual review workflow)
536
+ autoFixConflicts: true, // auto-dispatch fix agents when a PR has merge conflicts
536
537
  meetingRoundTimeout: 600000, // 10min per meeting round before auto-advance
537
538
  evalLoop: true, // enable review→fix loop after implementation completes
538
539
  evalMaxIterations: 3, // max review→fix cycles before escalating to human
package/engine.js CHANGED
@@ -2118,8 +2118,9 @@ async function discoverFromPrs(config, project) {
2118
2118
  }
2119
2119
  }
2120
2120
 
2121
- // PRs with merge conflicts — dispatch fix to resolve
2122
- if (pr.status === PR_STATUS.ACTIVE && pr._mergeConflict && !fixDispatched) {
2121
+ // PRs with merge conflicts — dispatch fix to resolve (gated by autoFixConflicts)
2122
+ const autoFixConflicts = config.engine?.autoFixConflicts ?? ENGINE_DEFAULTS.autoFixConflicts;
2123
+ if (autoFixConflicts && pr.status === PR_STATUS.ACTIVE && pr._mergeConflict && !fixDispatched) {
2123
2124
  const key = `conflict-fix-${project?.name || 'default'}-${pr.id}`;
2124
2125
  // Suppress re-dispatch for 10 min after last attempt — ADO/GitHub recomputes
2125
2126
  // mergeStatus asynchronously (1–5 min lag), so the flag may stay set even after
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.950",
3
+ "version": "0.1.952",
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"