@yemi33/minions 0.1.883 → 0.1.885

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,11 +1,13 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.883 (2026-04-11)
3
+ ## 0.1.885 (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
+ - track e2e/ and fix/ branches in PR reconciler
10
+ - show stale banner on paused PRDs (#905) (#909)
9
11
  - regenerate-plan now dispatches diff-aware plan-to-prd agent
10
12
  - suppress false [steering-failed] banner when agent responded (closes #894) (#896)
11
13
  - delete .backup sidecar when archiving PRD
@@ -271,10 +271,11 @@ function renderPrdProgress(prog) {
271
271
  : isPaused
272
272
  ? '<span style="color:var(--muted);font-weight:600;font-size:10px;padding:1px 6px;border:1px solid var(--muted);border-radius:3px">PAUSED</span>'
273
273
  : '';
274
- const staleLabel = (!isBlocked && g.planStale)
274
+ const showStale = (!isBlocked || isPaused) && g.planStale;
275
+ const staleLabel = showStale
275
276
  ? '<span style="color:var(--orange);font-weight:700;font-size:10px;padding:1px 6px;border:1px solid var(--orange);border-radius:3px;background:rgba(210,153,34,0.12)" title="Source plan changed after this PRD was generated">STALE</span>'
276
277
  : '';
277
- const staleRecovery = (!isBlocked && g.planStale)
278
+ const staleRecovery = showStale
278
279
  ? '<div style="width:100%;margin-top:4px;padding:6px 8px;border:1px solid rgba(210,153,34,0.35);border-radius:4px;background:rgba(210,153,34,0.08);display:flex;align-items:center;gap:8px;flex-wrap:wrap">' +
279
280
  '<span style="color:var(--orange);font-size:10px;font-weight:600">&#x26A0;&#xFE0F; Source plan was revised. This PRD may be outdated.</span>' +
280
281
  '<span onclick="event.stopPropagation();prdRegenerate(\'' + escHtml(g.file) + '\')" style="color:var(--green);cursor:pointer;font-size:10px;font-weight:700;padding:2px 8px;background:rgba(63,185,80,0.12);border:1px solid rgba(63,185,80,0.35);border-radius:4px" title="Compare revised plan against existing PRD and update items">Regenerate PRD</span>' +
@@ -284,7 +285,7 @@ function renderPrdProgress(prog) {
284
285
  : '';
285
286
  const isCompleted = done > 0 && done === g.items.length;
286
287
  // Hide regular action buttons when stale banner is showing — stale banner has its own actions
287
- const isStale = !isBlocked && g.planStale;
288
+ const isStale = showStale;
288
289
  const pauseResumeBtn = isStale ? '' : isAwaitingApproval
289
290
  ? '<span onclick="event.stopPropagation();planApprove(\'' + escHtml(g.file) + '\',this)" style="color:var(--green);cursor:pointer;font-size:9px;padding:1px 6px;background:rgba(63,185,80,0.1);border:1px solid rgba(63,185,80,0.3);border-radius:3px">Approve</span>'
290
291
  : isPaused
package/dashboard.html CHANGED
@@ -1314,10 +1314,11 @@ function renderPrdProgress(prog) {
1314
1314
  : isPaused
1315
1315
  ? '<span style="color:var(--muted);font-weight:600;font-size:10px;padding:1px 6px;border:1px solid var(--muted);border-radius:3px">PAUSED</span>'
1316
1316
  : '';
1317
- const staleLabel = (!isBlocked && g.planStale)
1317
+ const showStale = (!isBlocked || isPaused) && g.planStale;
1318
+ const staleLabel = showStale
1318
1319
  ? '<span style="color:var(--orange);font-weight:700;font-size:10px;padding:1px 6px;border:1px solid var(--orange);border-radius:3px;background:rgba(210,153,34,0.12)" title="Source plan changed after this PRD was generated">STALE</span>'
1319
1320
  : '';
1320
- const staleRecovery = (!isBlocked && g.planStale)
1321
+ const staleRecovery = showStale
1321
1322
  ? '<div style="width:100%;margin-top:4px;padding:6px 8px;border:1px solid rgba(210,153,34,0.35);border-radius:4px;background:rgba(210,153,34,0.08);display:flex;align-items:center;gap:8px;flex-wrap:wrap">' +
1322
1323
  '<span style="color:var(--orange);font-size:10px;font-weight:600">&#x26A0;&#xFE0F; Source plan was revised. This PRD may be outdated.</span>' +
1323
1324
  '<span onclick="event.stopPropagation();prdRegenerate(\'' + escHtml(g.file) + '\')" style="color:var(--green);cursor:pointer;font-size:10px;font-weight:700;padding:2px 8px;background:rgba(63,185,80,0.12);border:1px solid rgba(63,185,80,0.35);border-radius:4px" title="Regenerate PRD from latest plan">Regenerate now</span>' +
package/engine/github.js CHANGED
@@ -562,7 +562,7 @@ async function pollPrHumanComments(config) {
562
562
 
563
563
  async function reconcilePrs(config) {
564
564
  const projects = getProjects(config).filter(isGitHub);
565
- const branchPatterns = [/^work\//i, /^feat\//i, /^user\/yemishin\//i];
565
+ const branchPatterns = [/^work\//i, /^feat\//i, /^fix\//i, /^e2e\//i, /^user\/yemishin\//i];
566
566
  let totalAdded = 0;
567
567
 
568
568
  for (const project of projects) {
@@ -633,8 +633,11 @@ async function reconcilePrs(config) {
633
633
  continue;
634
634
  }
635
635
 
636
+ // E2E branches are always Minions-generated (verify tasks) — track even without a work item ID in the branch name
637
+ const isE2eBranch = /^e2e\//i.test(branch);
638
+
636
639
  // Only auto-track PRs linked to a minions work item — skip human-authored PRs
637
- if (!confirmedItemId) continue;
640
+ if (!confirmedItemId && !isE2eBranch) continue;
638
641
 
639
642
  const prUrl = project.prUrlBase ? project.prUrlBase + ghPr.number : ghPr.html_url || '';
640
643
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.883",
3
+ "version": "0.1.885",
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"