@yemi33/minions 0.1.712 → 0.1.714
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 +7 -1
- package/README.md +34 -15
- package/dashboard.js +35 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.714 (2026-04-09)
|
|
4
|
+
|
|
5
|
+
### Other
|
|
6
|
+
- docs: update README with session features
|
|
7
|
+
|
|
8
|
+
## 0.1.713 (2026-04-09)
|
|
4
9
|
|
|
5
10
|
### Fixes
|
|
11
|
+
- trigger-verify handles already-completed PRDs and existing verify WIs
|
|
6
12
|
- move re-execute action card out of doc-chat thread
|
|
7
13
|
- modal derivePlanStatus was called with wrong args, plans not cached
|
|
8
14
|
|
package/README.md
CHANGED
|
@@ -243,12 +243,14 @@ The web dashboard at `http://localhost:7331` provides:
|
|
|
243
243
|
- **Meetings** — create multi-agent meetings, view live progress per round, advance/end/archive. Paginated (10/page). Create plan from meeting conclusion.
|
|
244
244
|
- **Pipelines** — multi-stage pipeline builder. Create, trigger, continue past wait stages, view run history with artifact links. Paginated (10/page).
|
|
245
245
|
- **Pull Requests** — paginated PR tracker (25/page) sorted by date, with review/build/merge status. Link external PRs manually.
|
|
246
|
-
- **Notes & KB** — inbox (paginated, 15/page), team notes (editable), knowledge base by category (paginated, 30/page) with inline Q&A. Pinned
|
|
246
|
+
- **Notes & KB** — inbox (paginated, 15/page), team notes (editable), knowledge base by category (paginated, 30/page) with inline Q&A. Pin-to-top for quick reference (UI-only, localStorage). Pinned tab in KB. Protected from sweep dedup.
|
|
247
247
|
- **Schedules** — create/edit/delete scheduled tasks with visual cron builder and natural language parsing. Paginated (15/page).
|
|
248
248
|
- **Skills & MCP** — agent-created reusable workflows (minions-wide + project-specific), click to view full content. MCP server listing.
|
|
249
|
-
- **Engine** — dispatch queue (completed paginated, 20/page), engine log (paginated, 50/page), LLM call performance (avg runtime by call type), agent metrics (with avg runtime), token usage.
|
|
250
|
-
- **Settings** — engine config, eval loop, agent management, routing editor.
|
|
251
|
-
- **Document modals** — inline Q&A on any document modal. Auto-polls for live updates with scroll preservation.
|
|
249
|
+
- **Engine** — dispatch queue (completed paginated, 20/page), engine log (paginated, 50/page), LLM call performance (avg runtime by call type), agent metrics (with avg runtime), token usage, worktree count.
|
|
250
|
+
- **Settings** — engine config, CC model/effort level, per-type max-turns, eval loop, agent management, routing editor.
|
|
251
|
+
- **Document modals** — inline Q&A on any document modal. Auto-polls for live updates with scroll preservation. Back button for navigation between linked modals. Pin button for inbox/KB docs.
|
|
252
|
+
- **Work item artifacts** — output logs, inbox notes (or KB entries after consolidation), branch, source plan, PR links shown as clickable pills in work item detail modal.
|
|
253
|
+
- **Pipeline visualization** — horizontal node chain showing stages with type icons, status colors (pulse animation on running), arrows, condition forks, wait durations, loop indicators, and stop conditions. Compact mode on cards, full mode in detail modal.
|
|
252
254
|
|
|
253
255
|
## Project Config
|
|
254
256
|
|
|
@@ -451,7 +453,11 @@ Routing rules in `routing.md`. Charters in `agents/{name}/charter.md`. Both are
|
|
|
451
453
|
| `meeting-debate.md` | Meeting round 2: debate approaches |
|
|
452
454
|
| `meeting-conclude.md` | Meeting round 3: synthesize conclusion |
|
|
453
455
|
|
|
454
|
-
All playbooks use `{{template_variables}}` filled from project config.
|
|
456
|
+
All playbooks use `{{template_variables}}` filled from project config. Conditional blocks `{{#key}}...{{/key}}` are included only when the variable is truthy. Common rules from `playbooks/shared-rules.md` are auto-injected into every playbook.
|
|
457
|
+
|
|
458
|
+
Every playbook has an explicit "When to Stop" section telling agents exactly what constitutes completion. Code-pushing playbooks enforce **build → test → repo checks → push** ordering. Per-type max-turns prevent runaway tool loops (explore=30, ask=20, implement=75, verify=100).
|
|
459
|
+
|
|
460
|
+
Playbooks are fully customizable — edit them to match your workflow. System prompts for CC and plan advisor live in `prompts/` with `{{variable}}` substitution.
|
|
455
461
|
|
|
456
462
|
## Health Monitoring
|
|
457
463
|
|
|
@@ -541,6 +547,13 @@ Engine behavior is controlled via `config.json`. Key settings:
|
|
|
541
547
|
| `evalMaxIterations` | 3 | Max review → fix cycles before escalating to human |
|
|
542
548
|
| `evalMaxCost` | null | USD ceiling per work item across all eval iterations (null = no limit) |
|
|
543
549
|
| `meetingRoundTimeout` | 600000 (10min) | Timeout per meeting round before auto-advance |
|
|
550
|
+
| `ccModel` | `sonnet` | Model for Command Center and doc-chat (sonnet/haiku/opus) |
|
|
551
|
+
| `ccEffort` | null | Effort level for CC/doc-chat (null/low/medium/high) |
|
|
552
|
+
| `agentEffort` | null | Override effort level for all agent dispatches |
|
|
553
|
+
| `maxTurnsByType` | `{}` | Per-type max-turns override (e.g., `{"explore": 40, "fix": 100}`) |
|
|
554
|
+
| `maxBuildFixAttempts` | 3 | Max auto-fix dispatches per PR before escalating |
|
|
555
|
+
|
|
556
|
+
Per-type max-turns defaults (when `maxTurnsByType` not set): explore=30, ask=20, review=30, plan=30, decompose=15, plan-to-prd=20, implement=75, fix=75, test=50, verify=100. Configurable from the Settings page.
|
|
544
557
|
|
|
545
558
|
### Scheduled Tasks
|
|
546
559
|
|
|
@@ -666,23 +679,29 @@ To move to a new machine: `npm install -g @yemi33/minions && minions init --forc
|
|
|
666
679
|
routing.md <- Dispatch rules table (generated, editable)
|
|
667
680
|
notes.md <- Team rules + consolidated learnings (generated)
|
|
668
681
|
work-items.json <- Central work queue (generated)
|
|
682
|
+
prompts/
|
|
683
|
+
cc-system.md <- Command Center system prompt (editable, {{minions_dir}} substitution)
|
|
684
|
+
plan-advisor-system.md <- Plan review advisor prompt (editable, {{plan_path}} substitution)
|
|
669
685
|
playbooks/
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
686
|
+
shared-rules.md <- Common rules injected into ALL playbooks automatically
|
|
687
|
+
work-item.md <- Generic fallback template
|
|
688
|
+
implement.md <- Build a PRD item (build → test → push → PR)
|
|
689
|
+
implement-shared.md <- Implement on a shared branch (no individual PR)
|
|
690
|
+
review.md <- Review a PR (comment + vote)
|
|
691
|
+
fix.md <- Fix review feedback (build → test → push)
|
|
692
|
+
explore.md <- Codebase exploration (write findings to inbox)
|
|
693
|
+
ask.md <- Answer a question (write answer to inbox)
|
|
694
|
+
test.md <- Run tests (write findings to inbox)
|
|
676
695
|
build-and-test.md <- Build project and run test suite
|
|
677
|
-
plan-to-prd.md <- Convert plan to PRD
|
|
696
|
+
plan-to-prd.md <- Convert plan to structured PRD JSON
|
|
678
697
|
plan.md <- Generate a plan from user request
|
|
679
|
-
|
|
680
|
-
ask.md <- Answer a question about the codebase
|
|
681
|
-
verify.md <- Plan verification: build, test, start webapp, testing guide
|
|
698
|
+
verify.md <- Plan verification: merge, build, test, testing guide, E2E PR
|
|
682
699
|
decompose.md <- Break large work items into 2-5 sub-tasks
|
|
683
700
|
meeting-investigate.md <- Meeting round 1: research
|
|
684
701
|
meeting-debate.md <- Meeting round 2: debate
|
|
685
702
|
meeting-conclude.md <- Meeting round 3: conclude
|
|
703
|
+
templates/
|
|
704
|
+
verify-guide.md <- Verification report template (lazy-loaded by verify agent)
|
|
686
705
|
skills/ <- Agent-created reusable workflows (generated)
|
|
687
706
|
agents/
|
|
688
707
|
{name}/
|
package/dashboard.js
CHANGED
|
@@ -969,21 +969,51 @@ const server = http.createServer(async (req, res) => {
|
|
|
969
969
|
safeWrite(activePath, plan);
|
|
970
970
|
}
|
|
971
971
|
|
|
972
|
-
// Trigger completion check
|
|
973
|
-
const lifecycle = require('./engine/lifecycle');
|
|
974
972
|
const config = queries.getConfig();
|
|
975
|
-
lifecycle.checkPlanCompletion({ item: { sourcePlan: body.file, id: 'manual' } }, config);
|
|
976
|
-
|
|
977
|
-
// Check if verify was created
|
|
978
973
|
const project = PROJECTS.find(p => {
|
|
979
974
|
const plan = safeJson(activePath) || safeJson(prdPath);
|
|
980
975
|
return plan && p.name?.toLowerCase() === (plan.project || '').toLowerCase();
|
|
981
976
|
}) || PROJECTS[0] || null;
|
|
977
|
+
|
|
978
|
+
// Check for existing verify WI — reset to pending if already done (re-verify)
|
|
979
|
+
if (project) {
|
|
980
|
+
const wiPath = shared.projectWorkItemsPath(project);
|
|
981
|
+
let existingVerify = null;
|
|
982
|
+
mutateWorkItems(wiPath, items => {
|
|
983
|
+
const v = items.find(w => w.sourcePlan === body.file && w.itemType === 'verify');
|
|
984
|
+
if (v && (v.status === 'done' || v.status === 'failed')) {
|
|
985
|
+
v.status = 'pending';
|
|
986
|
+
delete v.completedAt;
|
|
987
|
+
delete v.dispatched_to;
|
|
988
|
+
delete v.dispatched_at;
|
|
989
|
+
v._retryCount = 0;
|
|
990
|
+
existingVerify = v;
|
|
991
|
+
} else if (v) {
|
|
992
|
+
existingVerify = v;
|
|
993
|
+
}
|
|
994
|
+
});
|
|
995
|
+
if (existingVerify) {
|
|
996
|
+
invalidateStatusCache();
|
|
997
|
+
return jsonReply(res, 200, { ok: true, verifyId: existingVerify.id });
|
|
998
|
+
}
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
// No existing verify — clear completion flag and trigger fresh creation
|
|
1002
|
+
const planData = safeJson(activePath);
|
|
1003
|
+
if (planData?._completionNotified) {
|
|
1004
|
+
planData._completionNotified = false;
|
|
1005
|
+
safeWrite(activePath, planData);
|
|
1006
|
+
}
|
|
1007
|
+
|
|
1008
|
+
const lifecycle = require('./engine/lifecycle');
|
|
1009
|
+
lifecycle.checkPlanCompletion({ item: { sourcePlan: body.file, id: 'manual' } }, config);
|
|
1010
|
+
|
|
982
1011
|
if (project) {
|
|
983
1012
|
const wiPath = shared.projectWorkItemsPath(project);
|
|
984
1013
|
const items = safeJsonArr(wiPath);
|
|
985
1014
|
const verify = items.find(w => w.sourcePlan === body.file && w.itemType === 'verify');
|
|
986
1015
|
if (verify) {
|
|
1016
|
+
invalidateStatusCache();
|
|
987
1017
|
return jsonReply(res, 200, { ok: true, verifyId: verify.id });
|
|
988
1018
|
}
|
|
989
1019
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.714",
|
|
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"
|