@yemi33/minions 0.1.903 → 0.1.905

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,8 +1,12 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.903 (2026-04-12)
3
+ ## 0.1.905 (2026-04-12)
4
+
5
+ ### Features
6
+ - add red dot notification on CC tab when response completes (#934) (#946)
4
7
 
5
8
  ### Fixes
9
+ - remove KB watchdog — checkpoint never written, restore never worked
6
10
  - make KB sweep endpoint async with status polling (#933)
7
11
  - prohibit agents from self-merging their own PRs
8
12
 
@@ -662,7 +662,9 @@ async function _ccDoSend(message, skipUserMsg) {
662
662
  ccRenderTabBar();
663
663
  try { clearInterval(phaseTimer); } catch { /* may not be defined if error before reader */ }
664
664
  try { localStorage.removeItem('cc-sending'); } catch {}
665
- if (!_ccOpen) showNotifBadge(document.getElementById('cc-toggle-btn'));
665
+ // Show red dot badge on CC button when response completes while drawer is closed.
666
+ // Skip badge on user-initiated abort — they don't need notification for their own action.
667
+ if (!_ccOpen && !_wasAborted) showNotifBadge(document.getElementById('cc-toggle-btn'));
666
668
  }
667
669
  return _wasAborted;
668
670
  }
package/engine/cleanup.js CHANGED
@@ -440,59 +440,6 @@ function runCleanup(config, verbose = false) {
440
440
  }
441
441
  } catch (e) { log('warn', 'cleanup swept KB files: ' + e.message); }
442
442
 
443
- // 9. KB watchdog — restore deleted KB files from git if count dropped vs checkpoint
444
- try {
445
- const checkpoint = safeJson(path.join(ENGINE_DIR, 'kb-checkpoint.json'));
446
- if (checkpoint && checkpoint.count > 0) {
447
- const cats = KB_CATEGORIES;
448
- const knowledgeDir = path.join(MINIONS_DIR, 'knowledge');
449
- let current = 0;
450
- for (const cat of cats) {
451
- const d = path.join(knowledgeDir, cat);
452
- try {
453
- if (fs.existsSync(d)) current += fs.readdirSync(d).length;
454
- } catch (e) {
455
- log('warn', `KB watchdog: failed to read ${cat} directory — ${e.message}`);
456
- }
457
- }
458
- if (current < checkpoint.count) {
459
- log('warn', `KB watchdog: file count dropped ${checkpoint.count} → ${current}, restoring from git`);
460
- try {
461
- const trackedCheck = execSilent('git ls-tree --name-only HEAD -- knowledge', { cwd: MINIONS_DIR }).toString().trim();
462
- if (!trackedCheck) {
463
- log('warn', 'KB watchdog: knowledge/ is not tracked in git HEAD — skipping restore');
464
- } else {
465
- // Bug #29: Check exit code and verify restore succeeded
466
- let restoreOutput;
467
- try {
468
- restoreOutput = execSilent('git checkout HEAD -- knowledge', { cwd: MINIONS_DIR });
469
- } catch (restoreErr) {
470
- log('warn', `KB watchdog: git checkout exited with error — ${restoreErr.message}`);
471
- restoreOutput = null;
472
- }
473
- if (restoreOutput !== null) {
474
- // Verify the restore actually recovered files
475
- let postRestoreCount = 0;
476
- for (const cat of cats) {
477
- const d = path.join(knowledgeDir, cat);
478
- try {
479
- if (fs.existsSync(d)) postRestoreCount += fs.readdirSync(d).length;
480
- } catch { /* count what we can */ }
481
- }
482
- if (postRestoreCount < checkpoint.count) {
483
- log('warn', `KB watchdog: restore incomplete — expected ${checkpoint.count} files, got ${postRestoreCount}`);
484
- } else {
485
- log('info', `KB watchdog: restored knowledge/ from git HEAD (${postRestoreCount} files)`);
486
- }
487
- }
488
- }
489
- } catch (err) {
490
- log('error', `KB watchdog: git restore failed — ${err.message}`);
491
- }
492
- }
493
- }
494
- } catch (e) { log('warn', 'KB watchdog check: ' + e.message); }
495
-
496
443
  // 6a. Reconcile failed work items that have an attached PR (#407)
497
444
  // If a work item is 'failed' but already has _pr, it should be 'done'.
498
445
  for (const project of projects) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.903",
3
+ "version": "0.1.905",
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"