@yemi33/minions 0.1.2391 → 0.1.2392

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.
@@ -155,7 +155,7 @@ const RENDER_VERSIONS = {
155
155
  // chip row into its own non-interactive "Branch" field (W-mr2qjr3b0002522f).
156
156
  // Bumped 8→9 for paused pre-dispatch evaluation guidance.
157
157
  // Bumped 9→10: row actions now preserve work-item source scope when IDs collide.
158
- workItems: 10,
158
+ workItems: 11,
159
159
  skills: 1,
160
160
  commands: 1,
161
161
  mcpServers: 1,
@@ -179,13 +179,9 @@ function wiRow(item) {
179
179
  : (item.branchStrategy === 'shared-branch' && item.status === 'done')
180
180
  ? '<span style="font-size:var(--text-xs);color:var(--muted)" title="Part of shared branch — aggregate PR created at verify stage">shared branch</span>'
181
181
  : '<span style="color:var(--muted)">—</span>';
182
- // W-mqrdn6qq Non-retryable failures surface their red failReason snippet in
183
- // the PR column (not the Agent column). The engine prefixes failReason with
184
- // "Non-retryable failure:" and stamps item._failureClass on non-retryable
185
- // demotion (engine/dispatch.js writeDispatchResult / force-demote path).
186
- var isNonRetryableFail = !!item._failureClass
187
- || /^Non-retryable failure:/i.test(item.failReason || '')
188
- || /^Project "[^"]+" not found\./i.test(item.failReason || '');
182
+ // W-mqrdn6qq / W-mrkqc0pl ALL failure/error snippets (retryable AND
183
+ // non-retryable) surface their red failReason snippet in the PR column,
184
+ // never the Agent column.
189
185
  var failSnippet = item.failReason
190
186
  ? '<span style="display:block;font-size:var(--text-xs);color:var(--red)" title="' + escapeHtml(item.failReason) + '">' + escapeHtml(item.failReason.slice(0, 30)) + '</span>'
191
187
  : '';
@@ -234,9 +230,8 @@ function wiRow(item) {
234
230
  (item.completedAgents && item.completedAgents.length > 0
235
231
  ? '<span class="pr-agent">' + escapeHtml(item.completedAgents.join(', ')) + '</span>'
236
232
  : '<span class="pr-agent">' + escapeHtml(item.dispatched_to || item.agent || '—') + '</span>') +
237
- (failSnippet && !isNonRetryableFail ? failSnippet : '') +
238
233
  '</td>' +
239
- '<td>' + prLink + (failSnippet && isNonRetryableFail ? failSnippet : '') + '</td>' +
234
+ '<td>' + prLink + (failSnippet ? failSnippet : '') + '</td>' +
240
235
  '<td><span class="pr-date">' + escapeHtml((item.created || '').slice(0, 16).replace('T', ' ')) + '</span></td>' +
241
236
  '<td style="white-space:nowrap;font-size:var(--text-xs);color:var(--muted)">' +
242
237
  (function() {
@@ -1,32 +1,32 @@
1
1
  [
2
2
  {
3
3
  "id": "agent-config-skills-field",
4
- "description": "Legacy per-agent descriptive-metadata array `agents.<id>.skills` in config.json, renamed to `agents.<id>.expertise` to remove the name collision with executable runtime/harness skills (SKILL.md). The field is metadata only (capability tags like `architecture`, `bug-fixes`); nothing in the dispatch path reads it for behavior. A read-compat shim honors the old key so operator configs still carrying `skills` (and no `expertise`) keep working.",
4
+ "description": "Legacy per-agent descriptive-metadata array `agents.<id>.skills` in config.json, renamed to `agents.<id>.expertise` to remove the name collision with executable runtime/harness skills (SKILL.md). The tags appear in the agent identity prompt and provide a soft preference to `pickReReviewAgentHints` when selecting a re-reviewer; they are not hard routing constraints. A read-compat shim honors the old key so operator configs still carrying `skills` (and no `expertise`) keep working.",
5
5
  "code": [
6
6
  {
7
7
  "file": "engine/playbook.js",
8
- "lines": "950",
8
+ "lines": "1094",
9
9
  "note": "buildSystemPrompt reads `agent.expertise ?? agent.skills ?? []` for the `Expertise:` identity line"
10
10
  },
11
11
  {
12
12
  "file": "engine/lifecycle.js",
13
- "lines": "4620-4621",
13
+ "lines": "5317-5321",
14
14
  "note": "pickReReviewAgentHints reads `agent.expertise` with an `agent.skills` array fallback"
15
15
  },
16
16
  {
17
17
  "file": "engine/queries.js",
18
- "lines": "731",
18
+ "lines": "830-832",
19
19
  "note": "getAgents normalizes `expertise: a.expertise ?? a.skills ?? []` so the dashboard/settings UI always receives `expertise`"
20
20
  },
21
21
  {
22
22
  "file": "dashboard.js",
23
- "lines": "10708-10716",
23
+ "lines": "11245-11252",
24
24
  "note": "settings POST accepts a legacy `updates.skills` key, persists as `config.agents[id].expertise`, and deletes the old `skills` key"
25
25
  }
26
26
  ],
27
27
  "removalGate": "Telemetry / a config sweep across all known engines must show no persisted `config.agents.<id>.skills` key (only `expertise`) for >=30 consecutive days, confirming every operator config has been re-saved through the dashboard (which drops the legacy key) or hand-migrated.",
28
28
  "targetRemovalDate": "2026-09-17",
29
- "notes": "Safe to remove on or after 2026-09-17 (~3 release windows) once the removal gate clears. Removal scope: drop the `?? agent.skills` / `?? a.skills` fallbacks in engine/playbook.js:950, engine/lifecycle.js:4620-4621, and engine/queries.js:731; drop the `updates.skills` legacy branch + `delete config.agents[id].skills` in dashboard.js:10708-10716; and update docs/named-agents.md to stop mentioning the legacy key. Does NOT touch the unrelated executable-skills system (queries.js harnesses, runtime adapters, dashboard renderSkills, SKILL.md tooling)."
29
+ "notes": "Safe to remove on or after 2026-09-17 (~3 release windows) once the removal gate clears. Removal scope: drop the `?? agent.skills` / `?? a.skills` fallbacks in engine/playbook.js:1094, engine/lifecycle.js:5317-5319, and engine/queries.js:832; drop the `updates.skills` legacy branch + `delete config.agents[id].skills` in dashboard.js:11245-11252; and update docs/named-agents.md to stop mentioning the legacy key. Does NOT touch the unrelated executable-skills system (queries.js harnesses, runtime adapters, dashboard renderSkills, SKILL.md tooling)."
30
30
  },
31
31
  {
32
32
  "id": "config-poll-key-migration",