@yemi33/minions 0.1.771 → 0.1.773

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,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.773 (2026-04-10)
4
+
5
+ ### Features
6
+ - show PR merged/active status on PRD item links
7
+
8
+ ### Fixes
9
+ - filter CI bot noise from PR human comment detection
10
+
3
11
  ## 0.1.771 (2026-04-10)
4
12
 
5
13
  ### Fixes
@@ -149,9 +149,11 @@ function renderPrdProgress(prog) {
149
149
  }
150
150
 
151
151
  const renderItem = (i) => {
152
- const prLinks = (i.prs || []).map(pr =>
153
- '<a class="pr-title" href="' + escHtml(pr.url || '#') + '" target="_blank" style="font-size:10px;margin-left:4px" title="' + escHtml(pr.title || '') + '">' + escHtml(pr.id) + '</a>'
154
- ).join(' ');
152
+ const prLinks = (i.prs || []).map(function(pr) {
153
+ var statusColor = pr.status === 'merged' ? 'var(--green)' : pr.status === 'abandoned' ? 'var(--red)' : 'var(--blue)';
154
+ var statusIcon = pr.status === 'merged' ? '✓' : pr.status === 'abandoned' ? '✗' : '○';
155
+ return '<a class="pr-title" href="' + escHtml(pr.url || '#') + '" target="_blank" style="font-size:10px;margin-left:4px;color:' + statusColor + '" title="' + escHtml((pr.title || '') + ' (' + (pr.status || 'active') + ')') + '">' + statusIcon + ' ' + escHtml(pr.id) + '</a>';
156
+ }).join(' ');
155
157
  const projBadges = (i.projects || []).map(p =>
156
158
  '<span class="prd-project-badge">' + escHtml(p) + '</span>'
157
159
  ).join(' ');
package/engine/ado.js CHANGED
@@ -459,6 +459,11 @@ async function pollPrHumanComments(config) {
459
459
  for (const comment of (thread.comments || [])) {
460
460
  if (!comment.content || comment.commentType === 'system') continue;
461
461
  if (/\bMinions\s*\(/i.test(comment.content)) continue; // skip minions's own comments
462
+ // Skip bot/service account comments
463
+ const authorName = (comment.author?.displayName || '').toLowerCase();
464
+ if (/\b(bot|service|build|pipeline|codecov|sonar)\b/i.test(authorName)) continue;
465
+ // Skip automated status comments (coverage, build reports)
466
+ if (/^#{1,3}\s*(Coverage|Build|Test|Deploy|Pipeline)\s*(Report|Status|Result|Summary)/i.test(comment.content)) continue;
462
467
 
463
468
  const entry = {
464
469
  threadId: thread.id,
package/engine/github.js CHANGED
@@ -441,10 +441,17 @@ async function pollPrHumanComments(config) {
441
441
  ...(Array.isArray(reviewComments) ? reviewComments : []).map(c => ({ ...c, _type: 'review' }))
442
442
  ];
443
443
 
444
- // Filter out bot comments and minions's own comments
444
+ // Filter out bot comments, minions's own comments, and CI noise
445
445
  const humanComments = allComments.filter(c => {
446
446
  if (c.user?.type === 'Bot') return false;
447
447
  if (/\bMinions\s*\(/i.test(c.body || '')) return false;
448
+ // Common CI bot usernames
449
+ const login = (c.user?.login || '').toLowerCase();
450
+ if (/\b(bot|codecov|sonar|dependabot|renovate|github-actions|azure-pipelines)\b/i.test(login)) return false;
451
+ // Automated status comments (coverage reports, build badges, etc.)
452
+ const body = c.body || '';
453
+ if (/^#{1,3}\s*(Coverage|Build|Test|Deploy|Pipeline)\s*(Report|Status|Result|Summary)/i.test(body)) return false;
454
+ if (/!\[.*\]\(https?:\/\/.*badge/i.test(body)) return false; // badge images
448
455
  return true;
449
456
  });
450
457
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.771",
3
+ "version": "0.1.773",
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"