@yemi33/minions 0.1.972 → 0.1.974

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,6 +1,6 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.972 (2026-04-14)
3
+ ## 0.1.974 (2026-04-14)
4
4
 
5
5
  ### Features
6
6
  - flush queued CC messages as single combined request
@@ -25,6 +25,7 @@
25
25
  - replace magic string 'active' with PR_STATUS.ACTIVE in lifecycle.js (#969)
26
26
 
27
27
  ### Fixes
28
+ - skip isAlreadyDispatched in needsReReview to allow re-review within 1hr
28
29
  - loop queue flush so messages queued during combined send aren't orphaned
29
30
  - set lastPushedAt on fix completion to unblock re-review without poller
30
31
  - trigger second-pass re-review after fix agent completes
@@ -44,7 +45,6 @@
44
45
  - tighten build query guard to require mergeCommitId
45
46
  - restore sourceVersion filter after refs/pull merge ref switch
46
47
  - use refs/pull/{id}/merge for build status scoping
47
- - use repositoryId+reasonFilter for ADO build query
48
48
 
49
49
  ### Other
50
50
  - refactor(dashboard): extract _releaseCCTab helper and CC_LOCK_WAIT_MS constant
package/engine.js CHANGED
@@ -1984,14 +1984,17 @@ async function discoverFromPrs(config, project) {
1984
1984
  if (item) { newWork.push(item); }
1985
1985
  }
1986
1986
 
1987
- // Re-review after fix: fall back to fixedAt > lastReviewedAt when lastPushedAt lags poller
1987
+ // Re-review after fix: only trigger when fixedAt > lastReviewedAt (not a broad !alreadyReviewed
1988
+ // fallback — that caused infinite re-review loops on GitHub where self-approval is blocked)
1988
1989
  const fixedAfterReview = !!(pr.minionsReview?.fixedAt &&
1989
1990
  pr.lastReviewedAt && pr.minionsReview.fixedAt > pr.lastReviewedAt);
1990
1991
  const needsReReview = autoReview && reviewStatus === 'waiting' &&
1991
- (fixedAfterReview || (!alreadyReviewed && !!pr.minionsReview?.fixedAt)) && !evalEscalated;
1992
+ fixedAfterReview && !evalEscalated;
1992
1993
  if (needsReReview) {
1993
1994
  const key = `review-${project?.name || 'default'}-${pr.id}`;
1994
- if (isAlreadyDispatched(key) || isOnCooldown(key, cooldownMs)) continue;
1995
+ // Skip isAlreadyDispatched fixedAfterReview/alreadyReviewed already dedup; the 1hr
1996
+ // completed-dispatch window would block legitimate re-reviews within the hour after a fix
1997
+ if (isOnCooldown(key, cooldownMs)) continue;
1995
1998
 
1996
1999
  // Pre-dispatch live vote check — cached 'waiting' may be stale if reviewer already acted
1997
2000
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.972",
3
+ "version": "0.1.974",
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"