@yemi33/minions 0.1.434 → 0.1.435
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 +2 -1
- package/engine/ado.js +9 -1
- package/engine/github.js +8 -1
- package/engine/lifecycle.js +2 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.435 (2026-04-06)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
6
|
- version check interval on settings page
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
- Convert remaining lifecycle.js safeWrite calls to mutateJsonFileLocked
|
|
12
12
|
|
|
13
13
|
### Fixes
|
|
14
|
+
- prevent triple dispatch on same PR — 3 root causes
|
|
14
15
|
- don't show 'update available' when running from git repo
|
|
15
16
|
- CC network error shows helpful message + New Session button
|
|
16
17
|
- clicking outside command center dismisses it
|
package/engine/ado.js
CHANGED
|
@@ -170,7 +170,15 @@ async function pollPrStatus(config) {
|
|
|
170
170
|
const votes = reviewers.map(r => r.vote).filter(v => v !== undefined);
|
|
171
171
|
let newReviewStatus = pr.reviewStatus || 'pending';
|
|
172
172
|
if (votes.length > 0) {
|
|
173
|
-
if (votes.some(v => v === -10))
|
|
173
|
+
if (votes.some(v => v === -10)) {
|
|
174
|
+
// Don't re-trigger 'changes-requested' if fix agent already responded (waiting state).
|
|
175
|
+
// Only re-trigger if there's been a new push since the fix (reviewer re-reviewed).
|
|
176
|
+
if (pr.reviewStatus === 'waiting' && pr.minionsReview?.fixedAt && (!pr.lastPushedAt || pr.lastPushedAt <= pr.minionsReview.fixedAt)) {
|
|
177
|
+
newReviewStatus = 'waiting'; // fix was submitted, same vote still present — wait for re-review
|
|
178
|
+
} else {
|
|
179
|
+
newReviewStatus = 'changes-requested';
|
|
180
|
+
}
|
|
181
|
+
}
|
|
174
182
|
else if (votes.some(v => v >= 5)) newReviewStatus = 'approved';
|
|
175
183
|
else if (votes.some(v => v === -5)) newReviewStatus = 'waiting';
|
|
176
184
|
else newReviewStatus = 'pending';
|
package/engine/github.js
CHANGED
|
@@ -204,7 +204,14 @@ async function pollPrStatus(config) {
|
|
|
204
204
|
}
|
|
205
205
|
|
|
206
206
|
let newReviewStatus = pr.reviewStatus || 'pending';
|
|
207
|
-
if (states.some(s => s === 'CHANGES_REQUESTED'))
|
|
207
|
+
if (states.some(s => s === 'CHANGES_REQUESTED')) {
|
|
208
|
+
// Don't re-trigger if fix agent already responded — wait for re-review
|
|
209
|
+
if (pr.reviewStatus === 'waiting' && pr.minionsReview?.fixedAt && (!pr.lastPushedAt || pr.lastPushedAt <= pr.minionsReview.fixedAt)) {
|
|
210
|
+
newReviewStatus = 'waiting';
|
|
211
|
+
} else {
|
|
212
|
+
newReviewStatus = 'changes-requested';
|
|
213
|
+
}
|
|
214
|
+
}
|
|
208
215
|
else if (states.some(s => s === 'APPROVED')) newReviewStatus = 'approved';
|
|
209
216
|
else if (states.length > 0) newReviewStatus = 'pending';
|
|
210
217
|
// If all reviews were COMMENTED (filtered out), states is empty but reviews exist.
|
package/engine/lifecycle.js
CHANGED
|
@@ -762,8 +762,9 @@ function updatePrAfterFix(pr, project, source) {
|
|
|
762
762
|
const target = prs.find(p => p.id === pr.id);
|
|
763
763
|
if (!target) return prs;
|
|
764
764
|
target.reviewStatus = 'waiting';
|
|
765
|
+
// Always clear pendingFix — a fix dispatch (regardless of source) addresses all pending feedback
|
|
766
|
+
if (target.humanFeedback) target.humanFeedback.pendingFix = false;
|
|
765
767
|
if (source === 'pr-human-feedback') {
|
|
766
|
-
if (target.humanFeedback) target.humanFeedback.pendingFix = false;
|
|
767
768
|
target.minionsReview = { ...target.minionsReview, note: 'Fixed human feedback, awaiting re-review', fixedAt: ts() };
|
|
768
769
|
log('info', `Updated ${pr.id} → cleared humanFeedback.pendingFix, reset to waiting for re-review`);
|
|
769
770
|
} else {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.435",
|
|
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"
|