@yemi33/minions 0.1.447 → 0.1.448

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,12 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.447 (2026-04-06)
3
+ ## 0.1.448 (2026-04-06)
4
4
 
5
5
  ### Features
6
6
  - notification dot on Notes & KB sidebar when sweep completes/fails
7
7
 
8
8
  ### Fixes
9
+ - block all fix dispatches while awaiting re-review after a fix
9
10
  - prevent double-dispatch — dedup by work item ID and dispatchKey
10
11
  - pipeline agent is optional — set only when user explicitly requests
11
12
  - remove hardcoded agent assignments from all pipeline JSONs
package/engine.js CHANGED
@@ -1279,6 +1279,10 @@ function discoverFromPrs(config, project) {
1279
1279
  // minionsReview tracks metadata (reviewer, note) but not the authoritative status
1280
1280
  const reviewStatus = pr.reviewStatus || 'pending';
1281
1281
 
1282
+ // Skip fix dispatch if a fix was recently submitted and awaiting re-review.
1283
+ // The poller holds reviewStatus at 'waiting' until the reviewer acts on the new code.
1284
+ const awaitingReReview = reviewStatus === 'waiting' && !!pr.minionsReview?.fixedAt;
1285
+
1282
1286
  // PRs needing review: pending review status and not already reviewed without new commits
1283
1287
  const autoReview = config.engine?.autoReview !== false;
1284
1288
  // Skip re-dispatch if already reviewed and no new commits pushed since last review
@@ -1298,7 +1302,7 @@ function discoverFromPrs(config, project) {
1298
1302
  }
1299
1303
 
1300
1304
  // PRs with changes requested → route back to author for fix
1301
- if (reviewStatus === 'changes-requested') {
1305
+ if (reviewStatus === 'changes-requested' && !awaitingReReview) {
1302
1306
  const key = `fix-${project?.name || 'default'}-${pr.id}`;
1303
1307
  if (isAlreadyDispatched(key) || isOnCooldown(key, cooldownMs)) continue;
1304
1308
  const agentId = resolveAgent('fix', config, pr.agent);
@@ -1314,7 +1318,7 @@ function discoverFromPrs(config, project) {
1314
1318
  // PRs with pending human feedback (or coalesced comments from while agent was fixing)
1315
1319
  const humanFixKey = `human-fix-${project?.name || 'default'}-${pr.id}`;
1316
1320
  const hasCoalescedFeedback = (dispatchCooldowns.get(humanFixKey)?.pendingContexts || []).length > 0;
1317
- if (pr.humanFeedback?.pendingFix || hasCoalescedFeedback) {
1321
+ if ((pr.humanFeedback?.pendingFix || hasCoalescedFeedback) && !awaitingReReview) {
1318
1322
  const key = humanFixKey;
1319
1323
  if (isAlreadyDispatched(key) || isOnCooldown(key, cooldownMs)) {
1320
1324
  // 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.447",
3
+ "version": "0.1.448",
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"