@yemi33/minions 0.1.701 → 0.1.703
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 +10 -0
- package/engine/ado.js +2 -0
- package/engine/github.js +2 -0
- package/engine/shared.js +1 -0
- package/engine.js +10 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.703 (2026-04-09)
|
|
4
|
+
|
|
5
|
+
### Other
|
|
6
|
+
- refactor: move buildFixGracePeriod to ENGINE_DEFAULTS (no magic numbers)
|
|
7
|
+
|
|
8
|
+
## 0.1.702 (2026-04-09)
|
|
9
|
+
|
|
10
|
+
### Fixes
|
|
11
|
+
- build fix grace period — wait for CI before re-dispatching
|
|
12
|
+
|
|
3
13
|
## 0.1.701 (2026-04-09)
|
|
4
14
|
|
|
5
15
|
### Fixes
|
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/shared.js
CHANGED
|
@@ -544,6 +544,7 @@ const ENGINE_DEFAULTS = {
|
|
|
544
544
|
lockRetries: 2, // retry lock acquisition this many times after initial timeout (total attempts = 1 + lockRetries)
|
|
545
545
|
lockRetryBackoffMs: 500, // base backoff between lock retries (doubles each attempt: 500ms, 1s, 2s, ...)
|
|
546
546
|
maxBuildFixAttempts: 3, // max consecutive auto-fix dispatch cycles per PR before escalation to human
|
|
547
|
+
buildFixGracePeriod: 600000, // 10min — wait for CI to run after build fix before re-dispatching
|
|
547
548
|
ccModel: 'sonnet', // model for Command Center and doc-chat (sonnet, haiku, opus)
|
|
548
549
|
ccEffort: null, // effort level for CC/doc-chat (null, 'low', 'medium', 'high')
|
|
549
550
|
};
|
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 ?? ENGINE_DEFAULTS.buildFixGracePeriod;
|
|
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.703",
|
|
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"
|