@yemi33/minions 0.1.775 → 0.1.776

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,12 +1,13 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.775 (2026-04-10)
3
+ ## 0.1.776 (2026-04-10)
4
4
 
5
5
  ### Features
6
6
  - auto-rebase dependent PRs after dependency merge
7
7
  - show PR merged/active status on PRD item links
8
8
 
9
9
  ### Fixes
10
+ - better agent comment filtering — detect by patterns, not just signature
10
11
  - filter CI bot noise from PR human comment detection
11
12
 
12
13
  ### Other
package/engine/ado.js CHANGED
@@ -458,12 +458,18 @@ async function pollPrHumanComments(config) {
458
458
  for (const thread of threads) {
459
459
  for (const comment of (thread.comments || [])) {
460
460
  if (!comment.content || comment.commentType === 'system') continue;
461
- if (/\bMinions\s*\(/i.test(comment.content)) continue; // skip minions's own comments
461
+ const content = comment.content;
462
+ // Minions agent signatures
463
+ if (/\bMinions\s*\(/i.test(content)) continue;
464
+ if (/\b(Review|Fixed|Explored|Verified|Tested)\s+by\s+Minions\b/i.test(content)) continue;
465
+ if (/\[minions\]/i.test(content)) continue;
462
466
  // Skip bot/service account comments
463
467
  const authorName = (comment.author?.displayName || '').toLowerCase();
464
468
  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;
469
+ // Short comments from same author that look agent-generated
470
+ if (content.length < 500 && /\b(fixed|addressed|resolved|pushed|updated|rebased)\b/i.test(content) && /\b(review|feedback|comment|finding)\b/i.test(content)) continue;
471
+ // Automated status comments (coverage, build reports)
472
+ if (/^#{1,3}\s*(Coverage|Build|Test|Deploy|Pipeline)\s*(Report|Status|Result|Summary)/i.test(content)) continue;
467
473
 
468
474
  const entry = {
469
475
  threadId: thread.id,
package/engine/github.js CHANGED
@@ -441,17 +441,25 @@ async function pollPrHumanComments(config) {
441
441
  ...(Array.isArray(reviewComments) ? reviewComments : []).map(c => ({ ...c, _type: 'review' }))
442
442
  ];
443
443
 
444
- // Filter out bot comments, minions's own comments, and CI noise
444
+ // Filter out bot comments, minions agent comments, and CI noise
445
+ // Agents post as the PAT owner — detect by signature patterns, not account type
446
+ const prAuthorLogin = (prData?.user?.login || '').toLowerCase();
445
447
  const humanComments = allComments.filter(c => {
446
448
  if (c.user?.type === 'Bot') return false;
447
- if (/\bMinions\s*\(/i.test(c.body || '')) return false;
448
- // Common CI bot usernames
449
+ const body = c.body || '';
450
+ // Minions agent signatures (review, fix, explore, etc.)
451
+ if (/\bMinions\s*\(/i.test(body)) return false;
452
+ if (/\b(Review|Fixed|Explored|Verified|Tested)\s+by\s+Minions\b/i.test(body)) return false;
453
+ if (/\[minions\]/i.test(body)) return false;
454
+ // Comments from the PR author account are likely agent-generated (agents use same PAT)
455
+ // Only skip if the comment looks automated (short, or has agent patterns)
449
456
  const login = (c.user?.login || '').toLowerCase();
457
+ if (login === prAuthorLogin && body.length < 500 && /\b(fixed|addressed|resolved|pushed|updated|rebased)\b/i.test(body)) return false;
458
+ // Common CI bot usernames
450
459
  if (/\b(bot|codecov|sonar|dependabot|renovate|github-actions|azure-pipelines)\b/i.test(login)) return false;
451
460
  // Automated status comments (coverage reports, build badges, etc.)
452
- const body = c.body || '';
453
461
  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
462
+ if (/!\[.*\]\(https?:\/\/.*badge/i.test(body)) return false;
455
463
  return true;
456
464
  });
457
465
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.775",
3
+ "version": "0.1.776",
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"