@yemi33/minions 0.1.701 → 0.1.702
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 +5 -0
- package/engine/ado.js +2 -0
- package/engine/github.js +2 -0
- package/engine.js +10 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/engine/ado.js
CHANGED
|
@@ -383,6 +383,8 @@ async function pollPrStatus(config) {
|
|
|
383
383
|
pr.buildStatus = buildStatus;
|
|
384
384
|
if (buildFailReason) pr.buildFailReason = buildFailReason;
|
|
385
385
|
else delete pr.buildFailReason;
|
|
386
|
+
// Build transitioned — clear grace period so next failure can trigger immediately
|
|
387
|
+
delete pr._buildFixPushedAt;
|
|
386
388
|
if (buildStatus !== 'failing') {
|
|
387
389
|
delete pr._buildFailNotified;
|
|
388
390
|
delete pr.buildErrorLog;
|
package/engine/github.js
CHANGED
|
@@ -393,6 +393,8 @@ async function pollPrStatus(config) {
|
|
|
393
393
|
pr.buildStatus = buildStatus;
|
|
394
394
|
if (buildFailReason) pr.buildFailReason = buildFailReason;
|
|
395
395
|
else delete pr.buildFailReason;
|
|
396
|
+
// Build transitioned — clear grace period so next failure can trigger immediately
|
|
397
|
+
delete pr._buildFixPushedAt;
|
|
396
398
|
if (buildStatus !== 'failing') {
|
|
397
399
|
delete pr._buildFailNotified;
|
|
398
400
|
delete pr.buildErrorLog;
|
package/engine.js
CHANGED
|
@@ -1601,6 +1601,12 @@ async function discoverFromPrs(config, project) {
|
|
|
1601
1601
|
}
|
|
1602
1602
|
|
|
1603
1603
|
// PRs with build failures — route to author (has session context from implementing)
|
|
1604
|
+
// Grace period: after a build fix push, wait for CI to run before re-dispatching
|
|
1605
|
+
// Skip if build hasn't transitioned since last fix (still showing the old failure)
|
|
1606
|
+
if (pr._buildFixPushedAt && pr.buildStatus === 'failing') {
|
|
1607
|
+
const gracePeriodMs = config.engine?.buildFixGracePeriod ?? 600000; // 10 min default
|
|
1608
|
+
if (Date.now() - new Date(pr._buildFixPushedAt).getTime() < gracePeriodMs) continue;
|
|
1609
|
+
}
|
|
1604
1610
|
if (pr.status === PR_STATUS.ACTIVE && pr.buildStatus === 'failing') {
|
|
1605
1611
|
const maxBuildFix = config.engine?.maxBuildFixAttempts ?? ENGINE_DEFAULTS.maxBuildFixAttempts;
|
|
1606
1612
|
|
|
@@ -1646,7 +1652,10 @@ async function discoverFromPrs(config, project) {
|
|
|
1646
1652
|
const prPath = projectPrPath(project);
|
|
1647
1653
|
mutatePullRequests(prPath, prs => {
|
|
1648
1654
|
const target = prs.find(p => p.id === pr.id);
|
|
1649
|
-
if (target)
|
|
1655
|
+
if (target) {
|
|
1656
|
+
target.buildFixAttempts = (target.buildFixAttempts || 0) + 1;
|
|
1657
|
+
target._buildFixPushedAt = ts();
|
|
1658
|
+
}
|
|
1650
1659
|
});
|
|
1651
1660
|
} catch (e) { log('warn', 'increment build fix attempts: ' + e.message); }
|
|
1652
1661
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.702",
|
|
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"
|