@yemi33/minions 0.1.488 → 0.1.490

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.490 (2026-04-07)
4
+
5
+ ### Fixes
6
+ - steering feedback — toast notification, ensure polling resumes
7
+ - remove pipelines/ from git tracking — user-local config
8
+
3
9
  ## 0.1.488 (2026-04-07)
4
10
 
5
11
  ### Fixes
@@ -139,9 +139,10 @@ async function sendSteering() {
139
139
  const el = document.getElementById('live-messages');
140
140
  if (el) {
141
141
  el.innerHTML += '<div style="align-self:flex-end;background:var(--blue);color:#fff;padding:6px 12px;border-radius:12px 12px 2px 12px;max-width:80%;margin:4px 0;font-size:12px">' + escHtml(message) +
142
- '<div id="steer-pending" style="font-size:9px;opacity:0.7;margin-top:2px">Sending...</div></div>';
142
+ '<div id="steer-pending" style="font-size:9px;opacity:0.7;margin-top:2px">\u2197 Sending...</div></div>';
143
143
  el.scrollTop = el.scrollHeight;
144
144
  }
145
+ showToast('cmd-toast', 'Steering message sent to ' + currentAgentId, true);
145
146
 
146
147
  try {
147
148
  const res = await fetch('/api/agents/steer', {
@@ -186,7 +187,13 @@ async function sendSteering() {
186
187
  const pending = document.getElementById('steer-pending');
187
188
  if (pending) { pending.textContent = '\u26A0 ' + e.message; pending.style.opacity = '1'; }
188
189
  } finally {
189
- setTimeout(() => { _steerInFlight = false; refreshLiveOutput(); }, 500);
190
+ // Resume polling delay slightly so the [human-steering] line is in the log
191
+ setTimeout(() => {
192
+ _steerInFlight = false;
193
+ refreshLiveOutput();
194
+ // Ensure polling continues (may have stopped if tab switched during steering)
195
+ if (!livePollingInterval && currentTab === 'live') startLivePolling();
196
+ }, 1000);
190
197
  }
191
198
  }
192
199
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.488",
3
+ "version": "0.1.490",
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,58 +0,0 @@
1
- {
2
- "id": "daily-arch-improvement",
3
- "title": "Daily Architecture & Improvement Pipeline",
4
- "stages": [
5
- {
6
- "id": "anthropic-research",
7
- "type": "task",
8
- "taskType": "explore",
9
- "title": "Weekly Anthropic best practices research",
10
- "description": "Research the latest Anthropic blog posts and guidance to surface relevant improvements for Minions.\n\nSteps:\n1. Use WebSearch and WebFetch to find recent posts on https://www.anthropic.com/news and https://docs.anthropic.com. Focus on: agent best practices, prompt engineering, multi-agent systems, safety, tool use, and anything relevant to orchestration engines.\n2. Collect the 3-5 most relevant/recent items with key takeaways.\n3. Write findings to `inbox/anthropic-research-{{date}}.md` (one section per finding: title, summary, relevance to Minions).\n\nThis output will be used to inform today's architecture meeting."
11
- },
12
- {
13
- "id": "arch-meeting",
14
- "type": "meeting",
15
- "title": "Daily Architecture & Bug Review",
16
- "agenda": "Morning architecture review and improvement planning for the Minions agentic harness.\n\n1. What bugs or reliability issues have surfaced since yesterday?\n2. Which parts of the engine, lifecycle, or dashboard feel fragile or need rework?\n3. Are there architectural improvements worth tackling today (patterns, abstractions, performance, correctness)?\n4. What are the 1-3 highest-leverage improvements to plan for today?\n5. Agree on a focused improvement scope � not too broad, shippable today or tomorrow.\n6. Ripley will have researched the latest Anthropic best practices before this meeting. Review findings in `inbox/` and discuss: do any recommendations apply to Minions? Should any be planned?\n\nOutput: bulleted list of agreed improvements and bugs, prioritised, with rough complexity estimates. This output will be used directly to create a plan.",
17
- "participants": [
18
- "all"
19
- ],
20
- "dependsOn": [
21
- "anthropic-research"
22
- ]
23
- },
24
- {
25
- "id": "arch-review-wait",
26
- "type": "wait",
27
- "title": "Review meeting conclusions before planning",
28
- "description": "Review the architecture meeting conclusions above, then continue to create and dispatch the improvement plan.",
29
- "dependsOn": [
30
- "arch-meeting"
31
- ]
32
- },
33
- {
34
- "id": "create-and-execute-plan",
35
- "type": "plan",
36
- "title": "Create improvement plan from architecture meeting",
37
- "description": "Based on today's architecture meeting findings, create a focused improvement plan.",
38
- "dependsOn": [
39
- "arch-review-wait"
40
- ],
41
- "autoApprove": true
42
- },
43
- {
44
- "id": "executive-summary",
45
- "type": "task",
46
- "taskType": "explore",
47
- "title": "Write executive summary and save to reports",
48
- "description": "Write a concise executive summary of today's architecture review and the plan that was queued.\n\nSteps:\n1. Read the meeting transcript and plan from previous stages.\n2. Write an executive summary covering: (a) top issues identified, (b) plan created and what it will fix, (c) expected impact.\n3. Save the summary to notes/inbox/ using the writeToInbox pattern (filename: executive-summary-{{date}}.md).\n\nKeep the summary concise — 3-5 bullet points per section, executive-readable.",
49
- "dependsOn": [
50
- "create-and-execute-plan"
51
- ]
52
- }
53
- ],
54
- "trigger": {
55
- "cron": "0 9 1,2,3,4,5"
56
- },
57
- "enabled": true
58
- }
@@ -1,35 +0,0 @@
1
- {
2
- "id": "weekly-bug-audit",
3
- "title": "Weekly Comprehensive Bug Audit",
4
- "stages": [
5
- {
6
- "id": "bug-audit",
7
- "type": "task",
8
- "taskType": "explore",
9
- "title": "Comprehensive bug audit — engine, dashboard, CLI, all modules",
10
- "description": "Perform a thorough bug audit of the entire Minions codebase (D:/squad). Read every core module and look for real bugs, not style issues.\n\nCover:\n- engine.js — tick logic, spawn chain, orphan detection, concurrency, state transitions\n- dashboard.js — all API handlers, null/undefined guards, race conditions, auth, error paths\n- engine/shared.js, queries.js, lifecycle.js, dispatch.js, consolidation.js, ado.js, github.js, cli.js, preflight.js, scheduler.js, pipeline.js, meeting.js, cooldown.js, llm.js\n- All status/type constant usage — look for raw strings that should use WI_STATUS, WORK_TYPE, etc.\n- Concurrency safety — any safeWrite() on files that need mutateJsonFileLocked()\n- Cross-platform hazards — direct proc.kill(), process.env.HOME, unescaped Windows paths\n- Null/undefined crashes — missing guards before .filter(), .map(), .find() on possibly-null values\n- Logic bugs — off-by-one, wrong condition, incorrect status transitions, stale state reads\n- Error handling gaps — unhandled promise rejections, missing try/catch in tick phases\n- Config access before guard — reading projects[0] without checking projects.length\n\nFor each bug found, record:\n- File and line number\n- Severity: critical / high / medium / low\n- Description of the bug and how it manifests\n- Proposed fix\n\nProduce a structured findings report. Do NOT make any code changes — analysis only."
11
- },
12
- {
13
- "id": "audit-review-wait",
14
- "type": "wait",
15
- "title": "Review audit findings before planning",
16
- "description": "Ripley has completed the bug audit. Review the findings in the agent output, then continue to generate the fix plan.",
17
- "dependsOn": [
18
- "bug-audit"
19
- ]
20
- },
21
- {
22
- "id": "fix-plan",
23
- "type": "plan",
24
- "title": "Bug fix plan from weekly audit",
25
- "description": "Based on the bug audit findings:\n\n{{stages.bug-audit.output}}\n\nWrite a detailed implementation plan to fix the bugs identified. Group related fixes where it makes sense. Each item should be concrete, scoped to specific files/functions, and ordered by severity (critical first). The plan will go to human review before any execution begins — do not auto-approve.",
26
- "dependsOn": [
27
- "audit-review-wait"
28
- ]
29
- }
30
- ],
31
- "trigger": {
32
- "cron": "0 9 3"
33
- },
34
- "enabled": true
35
- }
@@ -1,48 +0,0 @@
1
- {
2
- "id": "weekly-performance-review",
3
- "title": "Weekly Performance Review & Fix Pipeline",
4
- "stages": [
5
- {
6
- "id": "perf-audit",
7
- "type": "task",
8
- "taskType": "explore",
9
- "title": "Performance audit — hangs, blocking ops, async issues",
10
- "description": "Perform a thorough performance audit of the entire Minions codebase (D:/squad). Read all core modules (engine.js, dashboard.js, engine/*.js, dashboard/*.js) and identify real performance problems.\n\nFocus areas:\n- **Hangs / blocking I/O**: synchronous fs calls (readFileSync, writeFileSync) on the hot path, blocking requires inside functions, synchronous JSON parsing of large files\n- **Lack of optimistic updates**: dashboard API handlers that wait for a full file write before responding, work item mutations that could return immediately and confirm async, UI state that stalls on round-trips\n- **Waiting for API**: serial `await` chains that could be `Promise.all`, ADO/GitHub polling that blocks the tick loop, agent live-stream handlers that await unnecessarily\n- **Async operation issues**: unresolved promise chains, fire-and-forget mutations without error handling, missing concurrency limits on fan-out spawns, tick phases that don't yield between items\n- **Lock contention**: mutateJsonFileLocked calls that hold locks too long or are called unnecessarily in read-only paths\n- **SSE/streaming**: response streams not flushed promptly, missing heartbeat causing client timeouts, large payloads serialized synchronously before first byte sent\n\nFor each issue found, record:\n- File and line number\n- Category: hang / no-optimistic-update / api-wait / async-issue / lock-contention / sse\n- Severity: critical / high / medium / low\n- Description and how it manifests under load or in the UI\n- Proposed fix\n\nProduce a structured findings report. Do NOT make any code changes — analysis only."
11
- },
12
- {
13
- "id": "perf-meeting",
14
- "type": "meeting",
15
- "title": "Performance Review — agree on fixes",
16
- "agenda": "Ripley has completed a performance audit of the Minions codebase. Review findings and agree on what to fix.\n\nFindings:\n{{stages.perf-audit.output}}\n\nDiscussion points:\n1. Review each finding — is it a real problem or acceptable tradeoff?\n2. For no-optimistic-update issues: agree on which API endpoints should return immediately vs. wait\n3. For hangs and blocking ops: agree on whether to move to async, use streams, or cache\n4. For async/await chains: agree on where Promise.all parallelisation is safe\n5. Prioritise — critical and high severity first, limit scope to what can ship in one plan\n6. Produce a concrete, ordered list of agreed fixes with rationale and file references",
17
- "participants": [
18
- "all"
19
- ],
20
- "dependsOn": [
21
- "perf-audit"
22
- ]
23
- },
24
- {
25
- "id": "perf-review-wait",
26
- "type": "wait",
27
- "title": "Review meeting conclusions before planning",
28
- "description": "Review the performance meeting conclusions above, then continue to create and dispatch the fix plan.",
29
- "dependsOn": [
30
- "perf-meeting"
31
- ]
32
- },
33
- {
34
- "id": "perf-plan",
35
- "type": "plan",
36
- "title": "Performance fix plan from weekly review",
37
- "description": "Based on the agreed performance fixes from the meeting:\n\n{{stages.perf-meeting.output}}\n\nWrite a detailed implementation plan for the agreed performance improvements to the Minions codebase. Each item must:\n- Reference the specific file(s) and function(s) to change\n- Describe the before/after behaviour\n- Be independently shippable (one PR per item where possible)\n- Be ordered by severity (critical first)\n\nThe plan will be auto-approved and dispatched to agents immediately.",
38
- "dependsOn": [
39
- "perf-review-wait"
40
- ],
41
- "autoApprove": true
42
- }
43
- ],
44
- "trigger": {
45
- "cron": "0 9 4"
46
- },
47
- "enabled": true
48
- }
@@ -1,47 +0,0 @@
1
- {
2
- "id": "weekly-simplify-review",
3
- "title": "Weekly Simplify Review & Improvement Plan",
4
- "stages": [
5
- {
6
- "id": "simplify-analysis",
7
- "type": "task",
8
- "taskType": "explore",
9
- "title": "Simplify analysis � Minions codebase",
10
- "description": "Perform a thorough simplify review of the entire Minions codebase (D:/squad). Read all core modules (engine.js, dashboard.js, engine/*.js) and identify: redundant code, missed reuse of shared utilities, premature abstractions, magic strings/numbers, copy-paste patterns, functions that could be generalized, and architectural inconsistencies. Produce a structured findings report with specific file:line references and concrete recommendations for each issue. Do NOT make any code changes � analysis and reporting only."
11
- },
12
- {
13
- "id": "simplify-meeting",
14
- "type": "meeting",
15
- "title": "Weekly Code Quality & Simplification Review",
16
- "agenda": "Ripley has completed a simplify analysis of the Minions codebase. Review the findings and reach consensus on what to fix.\n\nFindings:\n{{stages.simplify-analysis.output}}\n\nDiscussion points:\n1. Review each finding and assess severity/impact\n2. Debate proposed solutions and tradeoffs\n3. Prioritize � what is worth doing vs. not worth the churn?\n4. Agree on a concrete, scoped set of improvements\n5. Produce a clear list of agreed-upon changes with rationale",
17
- "participants": [
18
- "all"
19
- ],
20
- "dependsOn": [
21
- "simplify-analysis"
22
- ]
23
- },
24
- {
25
- "id": "user-review-wait",
26
- "type": "wait",
27
- "title": "Awaiting your sign-off on proposed improvements",
28
- "description": "Review the meeting conclusions and continue the pipeline when satisfied with the agreed improvements.",
29
- "dependsOn": [
30
- "simplify-meeting"
31
- ]
32
- },
33
- {
34
- "id": "improvement-plan",
35
- "type": "plan",
36
- "title": "Create improvement plan from simplify review",
37
- "description": "Based on the agreed improvements from the simplify review meeting:\n\n{{stages.simplify-meeting.output}}\n\nWrite a detailed implementation plan for the agreed code quality improvements to the Minions codebase. Each item should be scoped, concrete, and reference specific files and functions. The plan will be submitted for user review before any execution begins.",
38
- "dependsOn": [
39
- "user-review-wait"
40
- ]
41
- }
42
- ],
43
- "trigger": {
44
- "cron": "0 9 2"
45
- },
46
- "enabled": true
47
- }