@yemi33/minions 0.1.372 → 0.1.373

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,6 +1,6 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.372 (2026-04-06)
3
+ ## 0.1.373 (2026-04-06)
4
4
 
5
5
  ### Features
6
6
  - Fix review re-dispatch infinite loop (#226)
@@ -8,6 +8,7 @@
8
8
  - Fix 2 failing source-pattern test assertions (#224)
9
9
 
10
10
  ### Fixes
11
+ - critical engine bugs — pipeline async, lifecycle null guard, scheduler (#215)
11
12
  - restore dispatched_to on work items when marking done after retry
12
13
  - copy button preserves markdown formatting
13
14
 
@@ -784,7 +784,7 @@ async function handlePostMerge(pr, project, config, newStatus) {
784
784
 
785
785
  const prNum = (pr.id || '').replace('PR-', '');
786
786
 
787
- if (pr.branch) {
787
+ if (pr.branch && project) {
788
788
  const root = path.resolve(project.localPath);
789
789
  const wtRoot = path.resolve(root, config.engine?.worktreeRoot || '../worktrees');
790
790
  // Find worktrees matching this branch — dir format is {slug}-{branch}-{suffix}
@@ -358,7 +358,7 @@ function executeScheduleStage(stage, stageState, config) {
358
358
  return { status: 'completed', completedAt: ts() };
359
359
  }
360
360
 
361
- function executeParallelStage(stage, stageState, run, pipeline, config) {
361
+ async function executeParallelStage(stage, stageState, run, pipeline, config) {
362
362
  const subStages = stage.stages || [];
363
363
  const subResults = {};
364
364
  for (const sub of subStages) {
@@ -496,7 +496,7 @@ function isStageComplete(stage, stageState, run, config) {
496
496
 
497
497
  // ── Discovery (called per tick) ──────────────────────────────────────────────
498
498
 
499
- function discoverPipelineWork(config) {
499
+ async function discoverPipelineWork(config) {
500
500
  const pipelines = getPipelines();
501
501
  if (pipelines.length === 0) return;
502
502
 
@@ -114,7 +114,7 @@ function discoverScheduledWork(config) {
114
114
  mutateJsonFileLocked(SCHEDULE_RUNS_PATH, (runs) => {
115
115
  for (const sched of schedules) {
116
116
  if (!sched.id || !sched.cron || !sched.title) continue;
117
- if (sched.enabled !== true) continue; // explicit true required undefined/null/false all skip
117
+ if (!sched.enabled) continue; // truthy checkmatches dashboard UI badge behavior
118
118
 
119
119
  const lastRun = runs[sched.id] || null;
120
120
  if (!shouldRunNow(sched, lastRun)) continue;
package/engine.js CHANGED
@@ -2104,7 +2104,7 @@ function discoverWork(config) {
2104
2104
  // Pipeline orchestration — check stage completions and start ready stages
2105
2105
  try {
2106
2106
  const { discoverPipelineWork } = require('./engine/pipeline');
2107
- discoverPipelineWork(config);
2107
+ await discoverPipelineWork(config);
2108
2108
  } catch (e) { log('warn', 'discover pipeline work: ' + e.message); }
2109
2109
 
2110
2110
  // Periodic plan completion sweep — catch PRDs that completed while engine was down
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.372",
3
+ "version": "0.1.373",
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"