@yemi33/minions 0.1.2198 → 0.1.2200

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/dashboard.js CHANGED
@@ -3958,14 +3958,6 @@ function getWorkItemPrRef(input) {
3958
3958
  return shared.extractWorkItemPrRef(input);
3959
3959
  }
3960
3960
 
3961
- function isPrTargetedWorkType(workType) {
3962
- return ['fix', 'review', 'test'].includes(String(workType || '').toLowerCase());
3963
- }
3964
-
3965
- function trimTrailingPrRefPunctuation(value) {
3966
- return String(value || '').replace(/[),.;:]+$/g, '');
3967
- }
3968
-
3969
3961
  // ── Shared LLM call core — used by CC panel and doc modals ──────────────────
3970
3962
 
3971
3963
  // Session store for doc modals — keyed by filePath or title, persisted to disk.
package/docs/README.md CHANGED
@@ -21,15 +21,18 @@ Architecture, design proposals, and lifecycle references for people working on t
21
21
  - [constellation-style-telemetry.md](constellation-style-telemetry.md) — Feasibility study (design proposal, not implemented) for a local-first usage/analytics layer modelled on Constellation's telemetry stack — typed append-only event log + retention/rollup discipline + dashboard Usage page. Explains why a 1:1 PostgreSQL/multi-tenant port is the wrong goal for Minions.
22
22
  - [cooldown-merge-semantics.md](cooldown-merge-semantics.md) — Scoping deliverable defining merge semantics for `saveCooldowns` (longer-of TTL merge, key-level upserts, gitignored on-disk format).
23
23
  - [copilot-cli-schema.md](copilot-cli-schema.md) — Behavior and schema reference for the GitHub Copilot CLI adapter (capability flags, stdin vs `-p`, model discovery, effort levels).
24
+ - [cross-repo-plans.md](cross-repo-plans.md) — Cross-repo plans: a single plan whose work items ship into two or more configured projects — per-item `project` field, per-project work-item fan-out, and one verify work item per touched repo.
24
25
  - [dead-code-audit-retractions.md](dead-code-audit-retractions.md) — Retracted dead-code-audit findings (false positives) that future audits MUST read before re-citing.
25
26
  - [deprecated-process.md](deprecated-process.md) — Schema for `docs/deprecated.json` and the weekly `cleanup-deprecated` audit walk that retires entries past their removal signal.
26
27
  - [design-state-storage.md](design-state-storage.md) — Design proposal evaluating five database options for replacing Minions' file-based JSON state; recommends `node:sqlite` as the medium-term target (accepted; implementation tracked in CHANGELOG.md Phases 0–9).
27
28
  - [harness-mode.md](harness-mode.md) — Tri-Agent Harness Mode (`harness_mode: "tri_agent"` on scheduled tasks): Planner → Generator → Evaluator loop that iterates a shared on-disk artifact until a rubric passes or the iteration cap fires.
29
+ - [harness-propagation.md](harness-propagation.md) — How user-level and project-local harness assets (skills, slash-commands, MCP config, `CLAUDE.md` / `AGENTS.md`) propagate into an agent's worktree via `--add-dir`, the `harnessPropagateProjectLocal` flag, and the project-local-on-main worktree-visibility footgun.
28
30
  - [kb-sweep.md](kb-sweep.md) — Knowledge-base consolidation sweep (hash dedup → LLM batch dedup/reclassify → per-entry compress) and the detached runner that keeps it alive across `minions restart`.
29
31
  - [keep-processes.md](keep-processes.md) — `meta.keep_processes` sidecar contract: when to use it vs managed-spawn, sidecar schema, caps, and the [`engine/keep-process-sweep.js`](../engine/keep-process-sweep.js) lifecycle.
30
32
  - [live-checkout-mode.md](live-checkout-mode.md) — Per-project opt-in `worktreeMode: 'live'`: skips `git worktree add` and dispatches in-place inside `project.localPath` for `repo`-managed trees, submodule-heavy repos, deep Windows paths, and native build state. Includes the refuse-on-dirty contract and the per-project mutating-concurrency cap of 1.
31
33
  - [managed-spawn.md](managed-spawn.md) — Engine-owned long-running services (managed-spawn primitive): sidecar schema, healthcheck examples, lifecycle, dashboard API, and the WI 1 (build) → WI 2 (test) chained-validation pattern.
32
34
  - [plan-lifecycle.md](plan-lifecycle.md) — Full plan pipeline from `/plan` through PRD materialization, dispatch with dependency gating, verify task, and human archive.
35
+ - [pr-auto-fix-dispatch.md](pr-auto-fix-dispatch.md) — Short reference table mapping each PR auto-fix / review dispatch site in `engine.js#discoverFromPrs` to its gate flag, plus the `pollingPaused` / `autoFixPaused` master kill-switches and the per-provider polling gates.
33
36
  - [pr-comment-followup.md](pr-comment-followup.md) — PR-comment follow-up dispatch contract: fix/review agents may spin off a new WI via `POST /api/work-items` with `meta.pr_followup` instead of broadening the current PR or rebutting the comment.
34
37
  - [pr-review-fix-loop.md](pr-review-fix-loop.md) — How the engine moves a PR from creation through review, fix dispatch, and re-review, including stale-status guards.
35
38
  - [project-skills.md](project-skills.md) — Project-local skill discovery (`.claude/skills/`, `.claude/commands/`, `CLAUDE.md` / `.github/copilot-instructions.md` slash-command mentions): how dispatched agents see and steer toward purpose-built tooling the project ships, plus the intent-vocabulary contract.
@@ -101,10 +101,8 @@ function _readDispatchJsonFallback() {
101
101
  // Surface to logs the same way the legacy queries.getDispatch path
102
102
  // did via shared.readJsonNoRestore. (Phase 1 contract test
103
103
  // "getDispatch warns on corrupt dispatch.json".)
104
- try {
105
- // eslint-disable-next-line no-console
106
- console.warn(`[dispatch-store] corrupt JSON in ${dispatchPath}: ${e.message}`);
107
- } catch { /* console may be wrapped in tests */ }
104
+ // eslint-disable-next-line no-console
105
+ console.warn(`[dispatch-store] corrupt JSON in ${dispatchPath}: ${e.message}`);
108
106
  return _emptySectioned();
109
107
  }
110
108
  }
package/engine/shared.js CHANGED
@@ -2530,7 +2530,6 @@ const ENGINE_DEFAULTS = {
2530
2530
  assertCleanStatusTimeoutMs: 10000,
2531
2531
  workItemCreateDedupWindowMs: 15 * 60 * 1000, // 15min — collapse duplicate CC/API create races
2532
2532
  idleAlertMinutes: 15,
2533
- fanOutTimeout: null, // falls back to agentTimeout
2534
2533
  restartGracePeriod: 1200000, // 20min
2535
2534
  shutdownTimeout: 300000, // 5min — max wait for active agents during graceful shutdown
2536
2535
  allowTempAgents: false, // opt-in: spawn ephemeral agents when all permanent agents are busy
package/engine.js CHANGED
@@ -6026,6 +6026,8 @@ async function discoverFromPrs(config, project) {
6026
6026
  const autoFixPaused = config.engine?.autoFixPaused === true;
6027
6027
  const autoFixReviewFeedback = !autoFixPaused && (config.engine?.autoFixReviewFeedback ?? ENGINE_DEFAULTS.autoFixReviewFeedback);
6028
6028
  const autoFixHumanComments = !autoFixPaused && (config.engine?.autoFixHumanComments ?? ENGINE_DEFAULTS.autoFixHumanComments);
6029
+ const autoFixBuilds = !autoFixPaused && (config.engine?.autoFixBuilds ?? ENGINE_DEFAULTS.autoFixBuilds);
6030
+ const autoFixConflicts = !autoFixPaused && (config.engine?.autoFixConflicts ?? ENGINE_DEFAULTS.autoFixConflicts);
6029
6031
 
6030
6032
  // Collect active PR dispatches to prevent simultaneous review+fix on same PR
6031
6033
  const dispatch = getDispatch();
@@ -6407,7 +6409,6 @@ async function discoverFromPrs(config, project) {
6407
6409
  const gracePeriodMs = config.engine?.buildFixGracePeriod ?? ENGINE_DEFAULTS.buildFixGracePeriod;
6408
6410
  if (Date.now() - new Date(pr._buildFixPushedAt).getTime() < gracePeriodMs) continue;
6409
6411
  }
6410
- const autoFixBuilds = !autoFixPaused && (config.engine?.autoFixBuilds ?? ENGINE_DEFAULTS.autoFixBuilds);
6411
6412
  if (pollEnabled && autoFixBuilds && pr.status === PR_STATUS.ACTIVE && pr.buildStatus === 'failing'
6412
6413
  && !fixDispatched
6413
6414
  && !isPrNoOpFixCauseSuppressed(pr, shared.PR_FIX_CAUSE.BUILD_FAILURE)) {
@@ -6568,7 +6569,6 @@ async function discoverFromPrs(config, project) {
6568
6569
  }
6569
6570
 
6570
6571
  // PRs with merge conflicts — dispatch fix to resolve (gated by provider polling + autoFixConflicts)
6571
- const autoFixConflicts = !autoFixPaused && (config.engine?.autoFixConflicts ?? ENGINE_DEFAULTS.autoFixConflicts);
6572
6572
  if (pollEnabled && autoFixConflicts && pr.status === PR_STATUS.ACTIVE && pr._mergeConflict && !fixDispatched
6573
6573
  && !isPrNoOpFixCauseSuppressed(pr, shared.PR_FIX_CAUSE.MERGE_CONFLICT)) {
6574
6574
  // W-mpritzcr0004afc5 (#2955): "don't fan out a parallel conflict-fix
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.2198",
3
+ "version": "0.1.2200",
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"