@yemi33/minions 0.1.810 → 0.1.812

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,9 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.810 (2026-04-10)
3
+ ## 0.1.812 (2026-04-11)
4
4
 
5
5
  ### Features
6
+ - Restructure decompose.md sub-task output format (#655)
6
7
  - CC race condition fixes, doc-chat expand, settings save fix, metric rate
7
8
  - configurable ignored comment authors — auto-filtered, never trigger fixes
8
9
  - add open-source community sources to agentic research pipeline
@@ -10,6 +11,7 @@
10
11
  - cap review→fix cycles at evalMaxIterations (default 3)
11
12
 
12
13
  ### Fixes
14
+ - CC queue drain uses combined flush, not one-at-a-time while loop (#818)
13
15
  - allow agents to explain rationale instead of blindly fixing review feedback
14
16
  - don't URL-encode ADO branchName filter (refs/heads/ format expected raw)
15
17
  - ADO build query filters by source branch (not all org builds)
@@ -29,7 +31,6 @@
29
31
  - repair invalid JSON in daily-arch-improvement pipeline
30
32
  - flush queued CC messages as single combined request
31
33
  - human feedback fixes are never capped (only minion review→fix loop is)
32
- - 5 bugs from comprehensive audit
33
34
 
34
35
  ## 0.1.782 (2026-04-10)
35
36
 
@@ -186,7 +186,7 @@ function checkPlanCompletion(meta, config) {
186
186
 
187
187
  // 4. Create verification work item (build, test, start webapp, write testing guide)
188
188
  const existingVerify = allWorkItems.find(w => w.sourcePlan === planFile && w.itemType === 'verify');
189
- if (!existingVerify && doneItems.length > 0 && failedItems.length === 0) {
189
+ if (!existingVerify && doneItems.length > 0) {
190
190
  const verifyId = 'PL-' + shared.uid();
191
191
  const planSlug = planFile.replace('.json', '');
192
192
 
@@ -1352,7 +1352,7 @@ function handleDecompositionResult(stdout, meta, config) {
1352
1352
  // Create child work items
1353
1353
  for (const sub of subItems) {
1354
1354
  if (data.some(i => i.id === sub.id)) continue; // dedupe
1355
- data.push({
1355
+ const childItem = {
1356
1356
  id: sub.id,
1357
1357
  title: sub.name || sub.title || `Sub-task of ${parentId}`,
1358
1358
  type: (sub.estimated_complexity === 'large') ? 'implement:large' : 'implement',
@@ -1367,7 +1367,15 @@ function handleDecompositionResult(stdout, meta, config) {
1367
1367
  featureBranch: p.featureBranch,
1368
1368
  created: ts(),
1369
1369
  createdBy: 'decomposition',
1370
- });
1370
+ };
1371
+ // Persist structured fields from decompose output (additive — safe if absent)
1372
+ if (Array.isArray(sub.acceptance_criteria) && sub.acceptance_criteria.length > 0) {
1373
+ childItem.acceptance_criteria = sub.acceptance_criteria;
1374
+ }
1375
+ if (Array.isArray(sub.scope_boundaries) && sub.scope_boundaries.length > 0) {
1376
+ childItem.scope_boundaries = sub.scope_boundaries;
1377
+ }
1378
+ data.push(childItem);
1371
1379
  }
1372
1380
  return data;
1373
1381
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.810",
3
+ "version": "0.1.812",
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"
@@ -48,13 +48,13 @@ Write the decomposition result as a JSON code block in your response:
48
48
  {
49
49
  "id": "{{item_id}}-a",
50
50
  "name": "Short descriptive name",
51
- "objective": "One-sentence goal: what this sub-task achieves.",
51
+ "objective": "One-sentence goal what this sub-task achieves in the overall plan.",
52
52
  "description": "What to build, where, and how. Be specific enough that an engineer can implement without further exploration.",
53
+ "expected_output": "What 'done' looks like — artifact produced, PR shape, file format, or observable behavior.",
54
+ "scope_boundaries": ["What is explicitly OUT of scope for this sub-task", "Another exclusion"],
53
55
  "estimated_complexity": "small|medium",
54
56
  "depends_on": [],
55
- "acceptance_criteria": ["Criterion 1", "Criterion 2"],
56
- "expected_output": "What done looks like — the artifact produced (e.g., a PR adding X, a new file at Y, a config change).",
57
- "scope_boundaries": ["Out-of-scope item 1", "Out-of-scope item 2"]
57
+ "acceptance_criteria": ["Verifiable criterion 1", "Verifiable criterion 2"]
58
58
  }
59
59
  ]
60
60
  }