@yemi33/minions 0.1.1020 → 0.1.1022
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 +53 -0
- package/dashboard.js +1 -0
- package/engine/github.js +17 -1
- package/engine.js +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,58 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.1022 (2026-04-16)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
- route implement items to dedicated implement playbook (#1115)
|
|
7
|
+
|
|
8
|
+
### Fixes
|
|
9
|
+
- auto-review not firing for manually-linked PRs with autoObserve=true
|
|
10
|
+
- mark PR abandoned on 404 instead of silently retrying each tick
|
|
11
|
+
- replace undefined PROJECTS with config.projects in checkWatches (#1108)
|
|
12
|
+
- write permission for publish workflow
|
|
13
|
+
- run tests inline and post check runs for publish PRs
|
|
14
|
+
- add maxBuffer to all GitHub CLI spawns + paginate PR list (#1130)
|
|
15
|
+
- add required CI checks for PRs + update publish for auto-merge
|
|
16
|
+
- revert to PR merge now that stale status check is removed
|
|
17
|
+
- guard live review check against undefined vote/state values (#1132)
|
|
18
|
+
- push version bump directly to master instead of via PR
|
|
19
|
+
- add push-triggered CI for chore/publish branches
|
|
20
|
+
- publish workflow chore PRs failing to merge
|
|
21
|
+
- harden KB ordering
|
|
22
|
+
- harden audited state transitions
|
|
23
|
+
|
|
24
|
+
### Other
|
|
25
|
+
- chore: test publish after removing stale status check
|
|
26
|
+
- chore: trigger publish test
|
|
27
|
+
- chore: test publish workflow fix
|
|
28
|
+
- chore: trigger publish workflow test
|
|
29
|
+
|
|
30
|
+
## 0.1.1021 (2026-04-16)
|
|
31
|
+
|
|
32
|
+
### Features
|
|
33
|
+
- route implement items to dedicated implement playbook (#1115)
|
|
34
|
+
|
|
35
|
+
### Fixes
|
|
36
|
+
- mark PR abandoned on 404 instead of silently retrying each tick
|
|
37
|
+
- replace undefined PROJECTS with config.projects in checkWatches (#1108)
|
|
38
|
+
- write permission for publish workflow
|
|
39
|
+
- run tests inline and post check runs for publish PRs
|
|
40
|
+
- add maxBuffer to all GitHub CLI spawns + paginate PR list (#1130)
|
|
41
|
+
- add required CI checks for PRs + update publish for auto-merge
|
|
42
|
+
- revert to PR merge now that stale status check is removed
|
|
43
|
+
- guard live review check against undefined vote/state values (#1132)
|
|
44
|
+
- push version bump directly to master instead of via PR
|
|
45
|
+
- add push-triggered CI for chore/publish branches
|
|
46
|
+
- publish workflow chore PRs failing to merge
|
|
47
|
+
- harden KB ordering
|
|
48
|
+
- harden audited state transitions
|
|
49
|
+
|
|
50
|
+
### Other
|
|
51
|
+
- chore: test publish after removing stale status check
|
|
52
|
+
- chore: trigger publish test
|
|
53
|
+
- chore: test publish workflow fix
|
|
54
|
+
- chore: trigger publish workflow test
|
|
55
|
+
|
|
3
56
|
## 0.1.1020 (2026-04-16)
|
|
4
57
|
|
|
5
58
|
### Features
|
package/dashboard.js
CHANGED
package/engine/github.js
CHANGED
|
@@ -88,7 +88,10 @@ const isGhThrottled = () => _ghThrottle.isThrottled();
|
|
|
88
88
|
/** Returns a snapshot of the current GitHub throttle state. */
|
|
89
89
|
const getGhThrottleState = () => _ghThrottle.getState();
|
|
90
90
|
|
|
91
|
-
/**
|
|
91
|
+
/** Sentinel returned by ghApi when the resource does not exist (HTTP 404). */
|
|
92
|
+
const GH_NOT_FOUND = Object.freeze({ _notFound: true });
|
|
93
|
+
|
|
94
|
+
/** Run a `gh api` call and parse JSON result. Returns null on failure, GH_NOT_FOUND on 404.
|
|
92
95
|
* @param {string} endpoint - API endpoint (e.g. '/pulls?state=open')
|
|
93
96
|
* @param {string} slug - owner/repo slug
|
|
94
97
|
* @param {object} [opts] - Options: { paginate: boolean, timeout: number }
|
|
@@ -110,6 +113,10 @@ async function ghApi(endpoint, slug, opts = {}) {
|
|
|
110
113
|
const retryAfterMs = secMatch ? parseInt(secMatch[1], 10) * 1000 : 0;
|
|
111
114
|
_ghThrottle.recordThrottle(retryAfterMs);
|
|
112
115
|
}
|
|
116
|
+
if (/HTTP 404|Not Found/i.test(msg)) {
|
|
117
|
+
log('warn', `GitHub API error (${endpoint}): ${e.message}`);
|
|
118
|
+
return GH_NOT_FOUND;
|
|
119
|
+
}
|
|
113
120
|
log('warn', `GitHub API error (${endpoint}): ${e.message}`);
|
|
114
121
|
return null;
|
|
115
122
|
}
|
|
@@ -305,6 +312,15 @@ async function pollPrStatus(config) {
|
|
|
305
312
|
const totalUpdated = await forEachActiveGhPr(config, async (project, pr, prNum, slug) => {
|
|
306
313
|
const prData = await ghApi(`/pulls/${prNum}`, slug);
|
|
307
314
|
if (!prData) return false;
|
|
315
|
+
if (prData === GH_NOT_FOUND) {
|
|
316
|
+
// PR no longer exists — mark abandoned so it stops being polled
|
|
317
|
+
if (pr.status !== PR_STATUS.ABANDONED) {
|
|
318
|
+
pr.status = PR_STATUS.ABANDONED;
|
|
319
|
+
log('info', `PR ${pr.id} returned 404 — marking abandoned`);
|
|
320
|
+
return true;
|
|
321
|
+
}
|
|
322
|
+
return false;
|
|
323
|
+
}
|
|
308
324
|
|
|
309
325
|
let updated = false;
|
|
310
326
|
|
package/engine.js
CHANGED
|
@@ -1931,8 +1931,8 @@ async function discoverFromPrs(config, project) {
|
|
|
1931
1931
|
continue;
|
|
1932
1932
|
}
|
|
1933
1933
|
// Skip human-authored PRs not linked to any work item — only auto-manage agent PRs
|
|
1934
|
-
// Manually-linked PRs with autoObserve are allowed through
|
|
1935
|
-
const isAgentPr = knownAgents.has((pr.agent || '').toLowerCase()) || (pr.prdItems && pr.prdItems.length > 0) || pr.
|
|
1934
|
+
// Manually-linked PRs with autoObserve=true (_manual && !_contextOnly) are allowed through
|
|
1935
|
+
const isAgentPr = knownAgents.has((pr.agent || '').toLowerCase()) || (pr.prdItems && pr.prdItems.length > 0) || (pr._manual && !pr._contextOnly);
|
|
1936
1936
|
if (!isAgentPr) continue;
|
|
1937
1937
|
|
|
1938
1938
|
const prNumber = shared.getPrNumber(pr);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1022",
|
|
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"
|