@yemi33/minions 0.1.1704 → 0.1.1705

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,10 +1,13 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.1704 (2026-05-04)
3
+ ## 0.1.1705 (2026-05-04)
4
+
5
+ ### Features
6
+ - prevent one-shot PR contamination
7
+
8
+ ## 0.1.1703 (2026-05-04)
4
9
 
5
10
  ### Features
6
- - Add manual run control for schedules
7
- - deduplicate work item creation
8
11
  - isolate review metadata
9
12
 
10
13
  ## 0.1.1702 (2026-05-04)
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "runtime": "copilot",
3
3
  "models": null,
4
- "cachedAt": "2026-05-04T07:35:19.967Z"
4
+ "cachedAt": "2026-05-04T07:52:35.839Z"
5
5
  }
package/engine/shared.js CHANGED
@@ -1977,6 +1977,15 @@ function normalizePrLinkItems(value) {
1977
1977
  return [...new Set(items.filter(item => typeof item === 'string' && item))];
1978
1978
  }
1979
1979
 
1980
+ function isAutoManagedPrRecord(pr) {
1981
+ if (!pr || typeof pr !== 'object' || pr._contextOnly === true) return false;
1982
+ if (normalizePrLinkItems(pr.prdItems).length > 0) return true;
1983
+ if (pr._autoObserve === true) return true;
1984
+ if (pr.sourcePlan || pr.itemType) return true;
1985
+ const agent = String(pr.agent || '').trim().toLowerCase();
1986
+ return !!agent && agent !== 'human';
1987
+ }
1988
+
1980
1989
  function mergePrLinkItems(links, prId, itemIds) {
1981
1990
  if (!prId) return;
1982
1991
  const merged = new Set([...(links[prId] || []), ...normalizePrLinkItems(itemIds)]);
@@ -2146,14 +2155,19 @@ function upsertPullRequestRecord(prPath, entry, { project = null, itemId = null,
2146
2155
  } else {
2147
2156
  target.id = canonicalId;
2148
2157
  if (prNumber != null) target.prNumber = prNumber;
2158
+ const targetWasAutoManaged = isAutoManagedPrRecord(target);
2149
2159
  for (const key of ['url', 'title', 'description', 'agent', 'branch', 'reviewStatus', 'status', 'created', 'sourcePlan', 'itemType']) {
2150
2160
  if (normalizedEntry[key] != null && normalizedEntry[key] !== '' && (target[key] == null || target[key] === '')) {
2151
2161
  target[key] = normalizedEntry[key];
2152
2162
  }
2153
2163
  }
2154
- for (const key of ['_manual', '_contextOnly', '_autoObserve', '_context']) {
2164
+ for (const key of ['_manual', '_autoObserve', '_context']) {
2155
2165
  if (normalizedEntry[key] != null) target[key] = normalizedEntry[key];
2156
2166
  }
2167
+ if (normalizedEntry._contextOnly != null) {
2168
+ const wouldDemoteManagedPr = normalizedEntry._contextOnly === true && targetWasAutoManaged;
2169
+ if (!wouldDemoteManagedPr) target._contextOnly = normalizedEntry._contextOnly;
2170
+ }
2157
2171
  }
2158
2172
  target.prdItems = normalizePrLinkItems(target.prdItems || []);
2159
2173
  for (const linkedItemId of linkedItemIds) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.1704",
3
+ "version": "0.1.1705",
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"