@yemi33/minions 0.1.700 → 0.1.701

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.700 (2026-04-09)
3
+ ## 0.1.701 (2026-04-09)
4
4
 
5
5
  ### Fixes
6
+ - prevent duplicate fix dispatch when review-fix and human-feedback fire on same tick
6
7
  - PRD E2E section not updating when pullRequests change
7
8
  - ADO build error log fetches all failing pipelines, not just first
8
9
  - verify/implement playbooks must include PR URL in final message
package/engine.js CHANGED
@@ -1556,6 +1556,7 @@ async function discoverFromPrs(config, project) {
1556
1556
  }
1557
1557
 
1558
1558
  // PRs with changes requested → route back to author for fix
1559
+ let fixDispatched = false;
1559
1560
  if (reviewStatus === 'changes-requested' && !awaitingReReview) {
1560
1561
  const key = `fix-${project?.name || 'default'}-${pr.id}`;
1561
1562
  if (isAlreadyDispatched(key) || isOnCooldown(key, cooldownMs)) continue;
@@ -1566,13 +1567,13 @@ async function discoverFromPrs(config, project) {
1566
1567
  pr_id: pr.id, pr_branch: pr.branch || '',
1567
1568
  review_note: pr.minionsReview?.note || pr.reviewNote || 'See PR thread comments',
1568
1569
  }, `Fix PR ${pr.id} review feedback`, { dispatchKey: key, source: 'pr', pr, branch: pr.branch, project: projMeta });
1569
- if (item) { newWork.push(item); setCooldown(key); }
1570
+ if (item) { newWork.push(item); setCooldown(key); fixDispatched = true; }
1570
1571
  }
1571
1572
 
1572
- // PRs with pending human feedback (or coalesced comments from while agent was fixing)
1573
+ // PRs with pending human feedback (skip if review-fix already dispatched above)
1573
1574
  const humanFixKey = `human-fix-${project?.name || 'default'}-${pr.id}`;
1574
1575
  const hasCoalescedFeedback = (dispatchCooldowns.get(humanFixKey)?.pendingContexts || []).length > 0;
1575
- if ((pr.humanFeedback?.pendingFix || hasCoalescedFeedback) && !awaitingReReview) {
1576
+ if ((pr.humanFeedback?.pendingFix || hasCoalescedFeedback) && !awaitingReReview && !fixDispatched) {
1576
1577
  const key = humanFixKey;
1577
1578
  if (isAlreadyDispatched(key) || isOnCooldown(key, cooldownMs)) {
1578
1579
  // Coalesce: save feedback for next dispatch
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.700",
3
+ "version": "0.1.701",
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"