@mutmutco/cli 4.5.213 → 4.5.215

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.
Files changed (2) hide show
  1. package/dist/main.cjs +13 -11
  2. package/package.json +1 -1
package/dist/main.cjs CHANGED
@@ -27030,10 +27030,10 @@ var rollout_plan_default = {
27030
27030
  note: "The v4.0.0 stamp happens at cut time (D6e #4463); until then the candidate is the origin/development head artifacts (built cli/dist + npm pack), identity proven by dist content hash (D6a)."
27031
27031
  },
27032
27032
  baseline: {
27033
- version: "4.5.213",
27034
- tag: "v4.5.213",
27035
- commit: "e1ff49a784f5",
27036
- npm: "@mutmutco/cli@4.5.213"
27033
+ version: "4.5.215",
27034
+ tag: "v4.5.215",
27035
+ commit: "9e1bef2d6b0c",
27036
+ npm: "@mutmutco/cli@4.5.215"
27037
27037
  },
27038
27038
  exitCriterion: "fleet-n-of-n",
27039
27039
  hubOnlyShortcut: "forbidden",
@@ -27050,14 +27050,14 @@ var rollout_plan_default = {
27050
27050
  repo: "mutmutco/mmi-hub",
27051
27051
  role: "canary",
27052
27052
  schedule: "train",
27053
- v3Target: "v4.5.213"
27053
+ v3Target: "v4.5.215"
27054
27054
  }
27055
27055
  ],
27056
27056
  rollbackTrigger: "Any red inside the post-contract soak window: `devops train gate` FAIL attributable to the v4 doors, Hub endpoint health probe failure, a pre-v4 client admitted instead of receiving actionable HTTP 426, or npm consumer install/doctor failure on the v4-only dist.",
27057
27057
  rollback: {
27058
27058
  independent: true,
27059
- mechanism: "npm dist-tag latest -> 4.5.213 and redeploy the Hub Lambda from tag v4.5.213 (e1ff49a784f5); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
27060
- v3Target: "v4.5.213 (@mutmutco/cli@4.5.213, tag commit e1ff49a784f5 \u2014 last known-good release carrying the repo-index v4-only contract)"
27059
+ mechanism: "npm dist-tag latest -> 4.5.215 and redeploy the Hub Lambda from tag v4.5.215 (9e1bef2d6b0c); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
27060
+ v3Target: "v4.5.215 (@mutmutco/cli@4.5.215, tag commit 9e1bef2d6b0c \u2014 last known-good release carrying the repo-index v4-only contract)"
27061
27061
  }
27062
27062
  },
27063
27063
  {
@@ -31609,8 +31609,10 @@ var import_node_path28 = require("node:path");
31609
31609
 
31610
31610
  // ../shared/runner-fallback.ts
31611
31611
  var HOSTED_RUNNER_LABEL_RE = /\b(?:ubuntu|windows|macos)-(?:latest|\d[\w.-]*)\b/i;
31612
+ var STANDARD_HOSTED_LABEL_RE = /^(?:ubuntu-(?:latest|24\.04|22\.04|24\.04-arm|22\.04-arm)|windows-(?:latest|2025|2022|11-arm)|macos-(?:latest|\d+|\d+-intel))$/i;
31612
31613
  function classifyRunnerCost(selector) {
31613
31614
  const raw = selector.replace(/\s+#.*$/gm, "").trim();
31615
+ if (STANDARD_HOSTED_LABEL_RE.test(raw.replace(/^(['"])(.*)\1$/, "$2"))) return "standard-hosted";
31614
31616
  if (HOSTED_RUNNER_LABEL_RE.test(raw)) return "hosted";
31615
31617
  const json = /^\$\{\{\s*fromJSON\('([^']+)'\)\s*\}\}$/.exec(raw);
31616
31618
  if (json) {
@@ -31860,8 +31862,8 @@ async function assertActionsJobsCanStart(deps, targetRepo2) {
31860
31862
  throw new Error("release refused (#8911): workflow source inventory unreadable; " + detail + ". Resolve this source read before tagging.");
31861
31863
  }
31862
31864
  const unresolved = classifyRunnerWorkflows(files).filter((f) => f.cost !== "self-hosted" && f.cost !== "standard-hosted");
31863
- if (unresolved.length) throw new Error("release refused (#8911): paid or unresolved runner path(s): " + unresolved.map((f) => f.repo + "/" + f.path + ":" + f.job).join(", ") + ". Resolve unsupported selectors/callees before tagging; no paid capacity probe is permitted.");
31864
- process.stderr.write("actions preflight: " + targetRepo2 + " source selectors are self-hosted or explicitly approved standard-hosted; no canary dispatch; included allowance remaining, access/isolation/execution unproven (#8958)\n");
31865
+ if (unresolved.length) throw new Error("release refused (#8911): paid or unresolved runner path(s): " + unresolved.map((f) => f.repo + "/" + f.path + ":" + f.job).join(", ") + ". Standard included GitHub-hosted labels are allowed (#8977, Jerv-Hub#2459); only larger/paid runners and unresolved selectors/callees are refused. Resolve them before tagging; no paid capacity probe is permitted.");
31866
+ process.stderr.write("actions preflight: " + targetRepo2 + " source selectors are self-hosted or standard included GitHub-hosted (#8977); no canary dispatch; the org spending limit guards over-allowance spend (unprovable from source); access/isolation/execution unproven (#8958)\n");
31865
31867
  }
31866
31868
 
31867
31869
  // src/train-apply-recovery.ts
@@ -38029,8 +38031,8 @@ var SHARED_ACTION_PINS = [
38029
38031
  function auditRunnerFallbacks(repo, files, closure) {
38030
38032
  return classifyRunnerWorkflows(closure ?? files.map((file) => ({ ...file, repo }))).map((f) => ({
38031
38033
  ok: f.cost === "self-hosted" || f.cost === "standard-hosted",
38032
- label: f.cost === "standard-hosted" ? `runner uses approved standard-hosted source (#8912/#8958): ${f.repo}/${f.path}:${f.job}` : `runner is self-hosted only (#8911): ${f.repo}/${f.path}:${f.job}`,
38033
- detail: f.callee ? "unknown callee runner policy; source must be read at its referenced revision" : f.cost === "hosted" ? "unapproved GitHub-hosted runner selection is forbidden" : f.cost === "unknown" ? "unknown runner selector; source unresolved" : f.cost === "standard-hosted" ? "approved standard labels within included Enterprise minutes only; allowance remaining, runner access and isolation not established" : "self-hosted selection only; runner access and isolation not established",
38034
+ label: f.cost === "standard-hosted" ? `runner uses approved standard-hosted source (#8912/#8958/#8977): ${f.repo}/${f.path}:${f.job}` : `runner is self-hosted only (#8911): ${f.repo}/${f.path}:${f.job}`,
38035
+ detail: f.callee ? "unknown callee runner policy; source must be read at its referenced revision" : f.cost === "hosted" ? "larger/paid GitHub-hosted runner is forbidden; only standard included GitHub-hosted labels are allowed (#8977, Jerv-Hub#2459)" : f.cost === "unknown" ? "unknown runner selector; source unresolved" : f.cost === "standard-hosted" ? "standard GitHub-hosted labels within included Enterprise minutes only (#8977, Jerv-Hub#2459); the org spending limit guards over-allowance spend (unprovable from source); runner access and isolation not established" : "self-hosted selection only; runner access and isolation not established",
38034
38036
  remediation: f.cost === "hosted" || f.cost === "unknown" ? "Resolve source reads and unsupported selectors/callees; preserve checks and artifacts. See gh-runner-runbook.md." : void 0
38035
38037
  }));
38036
38038
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mutmutco/cli",
3
- "version": "4.5.213",
3
+ "version": "4.5.215",
4
4
  "description": "MMI Future CLI — the org dev toolbox and shared cross-IDE engine for every registry-declared MMI coding surface.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",