@yemi33/minions 0.1.885 → 0.1.887
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 +3 -1
- package/dashboard/js/command-center.js +9 -1
- package/package.json +1 -1
- package/playbooks/review.md +17 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.887 (2026-04-11)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
6
|
- add 13 missing CC action types for full dashboard parity
|
|
7
7
|
|
|
8
8
|
### Fixes
|
|
9
|
+
- require explicit vote step in review playbook
|
|
10
|
+
- CC queued message silently retries on 429 after abort
|
|
9
11
|
- track e2e/ and fix/ branches in PR reconciler
|
|
10
12
|
- show stale banner on paused PRDs (#905) (#909)
|
|
11
13
|
- regenerate-plan now dispatches diff-aware plan-to-prd agent
|
|
@@ -531,6 +531,14 @@ async function _ccDoSend(message, skipUserMsg) {
|
|
|
531
531
|
});
|
|
532
532
|
|
|
533
533
|
if (!res.ok) {
|
|
534
|
+
// 429 = server still processing previous request (abort race) — retry silently up to 3 times
|
|
535
|
+
if (res.status === 429 && (!activeTab._429retries || activeTab._429retries < 3)) {
|
|
536
|
+
activeTab._429retries = (activeTab._429retries || 0) + 1;
|
|
537
|
+
_cleanupStreamDiv();
|
|
538
|
+
await new Promise(function(r) { setTimeout(r, 1500); });
|
|
539
|
+
return await _ccDoSend(message, true);
|
|
540
|
+
}
|
|
541
|
+
activeTab._429retries = 0;
|
|
534
542
|
_cleanupStreamDiv();
|
|
535
543
|
var errText = await res.text();
|
|
536
544
|
addMsg('assistant', '<span style="color:var(--red)">' + escHtml(errText || 'CC error') + '</span>' +
|
|
@@ -648,7 +656,7 @@ async function _ccDoSend(message, skipUserMsg) {
|
|
|
648
656
|
' <button onclick="ccNewTab()" style="margin-top:6px;padding:4px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:4px;color:var(--muted);cursor:pointer;font-size:11px">New Session</button>');
|
|
649
657
|
}
|
|
650
658
|
} finally {
|
|
651
|
-
if (activeTab) { activeTab._sending = false; activeTab._abortController = null; delete activeTab._streamedText; delete activeTab._toolsUsed; delete activeTab._sendStartedAt; }
|
|
659
|
+
if (activeTab) { activeTab._sending = false; activeTab._abortController = null; activeTab._429retries = 0; delete activeTab._streamedText; delete activeTab._toolsUsed; delete activeTab._sendStartedAt; }
|
|
652
660
|
_ccSending = (_ccTabs.some(function(t) { return t._sending; }));
|
|
653
661
|
ccRenderTabBar();
|
|
654
662
|
try { clearInterval(phaseTimer); } catch { /* may not be defined if error before reader */ }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.887",
|
|
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"
|
package/playbooks/review.md
CHANGED
|
@@ -40,26 +40,28 @@ Use subagents only for genuinely parallel, independent tasks (e.g., reviewing un
|
|
|
40
40
|
- Verdict: **APPROVE**
|
|
41
41
|
- Note any minor non-blocking suggestions
|
|
42
42
|
|
|
43
|
-
## Post Review —
|
|
43
|
+
## Post Review — Two required actions, both mandatory
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
You MUST complete BOTH steps below. The review is NOT done until both are confirmed. A comment without a vote is an incomplete review.
|
|
46
46
|
|
|
47
|
-
### Step 1:
|
|
47
|
+
### Step 1: Post a detailed review comment
|
|
48
48
|
|
|
49
49
|
{{pr_comment_instructions}}
|
|
50
|
-
- pullRequestId: `{{pr_number}}`
|
|
51
50
|
- content: Your full review with verdict, findings, and sign-off
|
|
52
51
|
- Sign: `Review by Minions ({{agent_name}} — {{agent_role}})`
|
|
53
52
|
|
|
54
|
-
### Step 2:
|
|
53
|
+
### Step 2: Submit a formal review vote — THIS IS REQUIRED
|
|
54
|
+
|
|
55
|
+
**This is a separate action from Step 1.** Posting a comment does NOT submit a vote. You must explicitly run the vote command:
|
|
55
56
|
|
|
56
57
|
{{pr_vote_instructions}}
|
|
57
|
-
-
|
|
58
|
-
- If your verdict is **
|
|
59
|
-
- If
|
|
60
|
-
|
|
58
|
+
- If your verdict is **APPROVE**: use `--approve`
|
|
59
|
+
- If your verdict is **REQUEST_CHANGES**: use `--request-changes`
|
|
60
|
+
- If you have minor non-blocking suggestions only: use `--approve` with a note
|
|
61
|
+
|
|
62
|
+
**Do not stop after Step 1.** The task is incomplete until Step 2 is done.
|
|
61
63
|
|
|
62
|
-
|
|
64
|
+
After running the vote command, confirm it succeeded (check the command output for errors). If it fails, retry once.
|
|
63
65
|
|
|
64
66
|
## Handling Merge Conflicts
|
|
65
67
|
If you encounter merge conflicts (e.g., the PR shows conflicts):
|
|
@@ -69,5 +71,9 @@ If you encounter merge conflicts (e.g., the PR shows conflicts):
|
|
|
69
71
|
|
|
70
72
|
## When to Stop
|
|
71
73
|
|
|
72
|
-
Your task is complete
|
|
74
|
+
Your task is complete only when BOTH of these are true:
|
|
75
|
+
1. Review comment posted (Step 1)
|
|
76
|
+
2. Formal vote submitted via `gh pr review --approve` or `--request-changes` (Step 2)
|
|
77
|
+
|
|
78
|
+
Do NOT stop after only posting a comment. Do NOT continue reading unrelated files after voting.
|
|
73
79
|
|