@yemi33/minions 0.1.960 → 0.1.962
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 -3
- package/dashboard.js +13 -7
- package/package.json +1 -1
- package/playbooks/shared-rules.md +4 -0
- package/prompts/cc-system.md +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.962 (2026-04-14)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
|
+
- add quality standard reminder to all agent and CC prompts
|
|
6
7
|
- surface in-flight tool calls in lastAction (#1064)
|
|
7
8
|
- wire agentBusyReassignMs into settings UI and persist
|
|
8
9
|
- ADO throttle detection, poll guards, and dashboard banner (#1051)
|
|
@@ -22,9 +23,9 @@
|
|
|
22
23
|
- audit and harden log buffering implementation (#971)
|
|
23
24
|
- replace magic string 'active' with PR_STATUS.ACTIVE in lifecycle.js (#969)
|
|
24
25
|
- fix dashboard plan-pause nested lock violation (#968)
|
|
25
|
-
- add missing branch_name to central dispatch vars (#967)
|
|
26
26
|
|
|
27
27
|
### Fixes
|
|
28
|
+
- fix tabId scope and close-event lock race in CC handlers
|
|
28
29
|
- fix CC queued message 'already processing' and thinking UX stacking
|
|
29
30
|
- enforce --timeout 1 on all azureauth calls to prevent agent orphans (#1063)
|
|
30
31
|
- cancel steering kill watcher on resume spawn (#1052) (#1062)
|
|
@@ -44,7 +45,6 @@
|
|
|
44
45
|
- add unhandledRejection/uncaughtException handlers to engine process (#1019)
|
|
45
46
|
- show doc-chat badges on Notes and KB items (#1016)
|
|
46
47
|
- steering kill on no-session re-queues dispatch instead of erroring (#1015)
|
|
47
|
-
- inject cached ADO token into spawned agents (#998) (#1012)
|
|
48
48
|
|
|
49
49
|
### Other
|
|
50
50
|
- refactor(dashboard): extract _releaseCCTab helper and CC_LOCK_WAIT_MS constant
|
package/dashboard.js
CHANGED
|
@@ -3396,12 +3396,13 @@ What would you like to discuss or change? When you're happy, say "approve" and I
|
|
|
3396
3396
|
|
|
3397
3397
|
async function handleCommandCenter(req, res) {
|
|
3398
3398
|
if (checkRateLimit('command-center', 10)) return jsonReply(res, 429, { error: 'Rate limited — max 10 requests/minute' });
|
|
3399
|
+
let tabId;
|
|
3399
3400
|
try {
|
|
3400
3401
|
const body = await readBody(req);
|
|
3401
3402
|
if (!body.message) return jsonReply(res, 400, { error: 'message required' });
|
|
3402
3403
|
|
|
3403
3404
|
// Per-tab concurrency guard
|
|
3404
|
-
|
|
3405
|
+
tabId = body.tabId || 'default';
|
|
3405
3406
|
if (ccInFlightTabs.has(tabId)) {
|
|
3406
3407
|
await new Promise(r => setTimeout(r, CC_LOCK_WAIT_MS));
|
|
3407
3408
|
if (ccInFlightTabs.has(tabId)) {
|
|
@@ -3472,10 +3473,11 @@ What would you like to discuss or change? When you're happy, say "approve" and I
|
|
|
3472
3473
|
|
|
3473
3474
|
async function handleCommandCenterStream(req, res) {
|
|
3474
3475
|
if (checkRateLimit('command-center', 10)) { res.statusCode = 429; res.end('Rate limited'); return; }
|
|
3476
|
+
let tabId;
|
|
3475
3477
|
try {
|
|
3476
3478
|
const body = await readBody(req);
|
|
3477
3479
|
if (!body.message) { res.statusCode = 400; res.end('message required'); return; }
|
|
3478
|
-
|
|
3480
|
+
tabId = body.tabId || 'default';
|
|
3479
3481
|
if (ccInFlightTabs.has(tabId)) {
|
|
3480
3482
|
// Previous request still in-flight — abort its LLM (handles keep-alive abort where close event didn't fire)
|
|
3481
3483
|
const prevAbort = ccInFlightAborts.get(tabId);
|
|
@@ -3490,12 +3492,16 @@ What would you like to discuss or change? When you're happy, say "approve" and I
|
|
|
3490
3492
|
res.writeHead(200, { 'Content-Type': 'text/event-stream', 'Cache-Control': 'no-cache', 'Connection': 'keep-alive' });
|
|
3491
3493
|
let _ccStreamAbort = null;
|
|
3492
3494
|
let _ccStreamEnded = false;
|
|
3493
|
-
// Kill LLM process immediately if client disconnects mid-stream
|
|
3495
|
+
// Kill LLM process immediately if client disconnects mid-stream.
|
|
3496
|
+
// Guard with !_ccStreamEnded: when the stream ends normally, finally already released the lock;
|
|
3497
|
+
// without the guard, this close event (which fires after res.end) could wipe a new request's lock.
|
|
3494
3498
|
req.on('close', () => {
|
|
3495
|
-
|
|
3496
|
-
|
|
3497
|
-
|
|
3498
|
-
|
|
3499
|
+
if (!_ccStreamEnded) {
|
|
3500
|
+
_releaseCCTab(tabId);
|
|
3501
|
+
if (_ccStreamAbort) {
|
|
3502
|
+
console.log(`[CC-stream] Client disconnected for tab ${tabId} — aborting LLM`);
|
|
3503
|
+
_ccStreamAbort();
|
|
3504
|
+
}
|
|
3499
3505
|
}
|
|
3500
3506
|
});
|
|
3501
3507
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.962",
|
|
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"
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
## Quality Standard
|
|
2
|
+
|
|
3
|
+
Codex will review your changes — make sure your implementation is thorough and not lazy.
|
|
4
|
+
|
|
1
5
|
## Context Window Awareness
|
|
2
6
|
|
|
3
7
|
Your context window may be compacted or summarized mid-task by Claude's automatic context management. This is normal and expected for long-running tasks. Do NOT interpret compacted or truncated context as a signal to stop early, wrap up prematurely, or skip remaining work. Continue working toward your stated objective regardless of context window state — re-read key files if needed to recover context.
|
package/prompts/cc-system.md
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
You are the Command Center AI for "Minions" — a multi-agent software engineering orchestrator.
|
|
2
2
|
You have full CLI power (read, write, edit, shell, builds) plus minions-specific actions to delegate work to agents.
|
|
3
3
|
|
|
4
|
+
## Quality Standard
|
|
5
|
+
|
|
6
|
+
Codex will review your changes — make sure your implementation is thorough and not lazy.
|
|
7
|
+
|
|
4
8
|
## Guardrails
|
|
5
9
|
READ ONLY — never write/edit: `engine.js`, `engine/*.js`, `dashboard.js`, `dashboard/**`, `minions.js`, `bin/*.js`, `engine/control.json`, `engine/dispatch.json`, `config.json`.
|
|
6
10
|
CAN modify: notes, plans, knowledge, work items, pull-requests.json, routing.md, charters, skills, playbooks, project repos.
|