@mutmutco/cli 4.3.51 → 4.3.52

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 +12 -10
  2. package/package.json +1 -1
package/dist/main.cjs CHANGED
@@ -14756,7 +14756,7 @@ function deriveTrainFollowUpStatus(f) {
14756
14756
  return worst === "failure" ? "failed" : worst === "unresolved" ? "pending" : "complete";
14757
14757
  }
14758
14758
  function trainFollowUpExitCode(status) {
14759
- return status === "failed" ? 1 : status === "pending" ? 2 : 0;
14759
+ return status === "failed" ? 1 : 0;
14760
14760
  }
14761
14761
  function trainFollowUpNote(status) {
14762
14762
  if (status === "complete") return void 0;
@@ -15858,10 +15858,10 @@ var rollout_plan_default = {
15858
15858
  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)."
15859
15859
  },
15860
15860
  baseline: {
15861
- version: "4.3.51",
15862
- tag: "v4.3.51",
15863
- commit: "268f45101c3b",
15864
- npm: "@mutmutco/cli@4.3.51"
15861
+ version: "4.3.52",
15862
+ tag: "v4.3.52",
15863
+ commit: "6219f52caf87",
15864
+ npm: "@mutmutco/cli@4.3.52"
15865
15865
  },
15866
15866
  exitCriterion: "fleet-n-of-n",
15867
15867
  hubOnlyShortcut: "forbidden",
@@ -15878,14 +15878,14 @@ var rollout_plan_default = {
15878
15878
  repo: "mutmutco/mmi-hub",
15879
15879
  role: "canary",
15880
15880
  schedule: "train",
15881
- v3Target: "v4.3.51"
15881
+ v3Target: "v4.3.52"
15882
15882
  }
15883
15883
  ],
15884
15884
  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.",
15885
15885
  rollback: {
15886
15886
  independent: true,
15887
- mechanism: "npm dist-tag latest -> 4.3.51 and redeploy the Hub Lambda from tag v4.3.51 (268f45101c3b); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
15888
- v3Target: "v4.3.51 (@mutmutco/cli@4.3.51, tag commit 268f45101c3b \u2014 last known-good release carrying the repo-index v4-only contract)"
15887
+ mechanism: "npm dist-tag latest -> 4.3.52 and redeploy the Hub Lambda from tag v4.3.52 (6219f52caf87); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
15888
+ v3Target: "v4.3.52 (@mutmutco/cli@4.3.52, tag commit 6219f52caf87 \u2014 last known-good release carrying the repo-index v4-only contract)"
15889
15889
  }
15890
15890
  },
15891
15891
  {
@@ -43980,7 +43980,7 @@ function readRepoVersion() {
43980
43980
  }
43981
43981
  function registerTrainCommands(program3, trainDeps) {
43982
43982
  const train = program3.command("train").description("release-train observability \u2014 track position, version lag, and the shared preflight-and-heal doctor (#2688, #6067)");
43983
- train.command("doctor").description("one shared preflight-and-heal verdict for the release, rcand and hotfix lanes; read-only unless --heal (#6067)").addOption(new Option("--lane <lane>", "train lane to check (defaults from the release track: direct \u2192 release)").choices([...TRAIN_LANES])).option("--dev", "judge the `release --dev` lane (development -> main, skipping rc): the lane starts from development and is read on development's workflows (#6318)").option("--heal", "repair safe local reconstructible state (scratch gitignore, churn, stray local tags, ff-only branch lag, finished scratch branches, stale alignment ledger leg); it never clears a ledger-pending, ledger-failed or branch-mismatch blocker (#6404, #6401, #6399) \u2014 those need `mmi-cli devops release --resume` (or, with fresh approval, `--abort --apply`) and `git checkout <start branch>`, so exit 1 after --heal is the gate working, not a failed heal").option("--repo <owner/repo>", "target repo (defaults to the current checkout)").option("--json", "machine-readable output").addHelpText("after", "\nExit codes:\n 0 ready \u2014 no blocker and origin verified\n 1 a blocker remains, or origin could not be verified (never green on an unread origin)\n\nEvery finding carries code, severity (blocker|warning|healed|info), source (local|origin), remedy and a\ndocs/Guides/train-troubleshooting.md#<code> anchor. `release --apply` and `rcand --apply` run this at step 0 with --heal.\n").action(async (o) => {
43983
+ train.command("doctor").description("one shared preflight-and-heal verdict for the release, rcand and hotfix lanes; read-only unless --heal (#6067)").addOption(new Option("--lane <lane>", "train lane to check (defaults from the release track: direct \u2192 release)").choices([...TRAIN_LANES])).option("--dev", "judge the `release --dev` lane (development -> main, skipping rc): the lane starts from development and is read on development's workflows (#6318)").option("--heal", "repair safe local reconstructible state (scratch gitignore, churn, stray local tags, ff-only branch lag, finished scratch branches, stale alignment ledger leg); it never clears a ledger-pending, ledger-failed or branch-mismatch blocker (#6404, #6401, #6399) \u2014 those need `mmi-cli devops release --resume` (or, with fresh approval, `--abort --apply`) and `git checkout <start branch>`, so exit 1 after --heal is the gate working, not a failed heal").option("--repo <owner/repo>", "target repo (defaults to the current checkout)").option("--json", "machine-readable output").option("--out <path>", "write the verdict to this file as UTF-8 (no BOM) instead of stdout \u2014 the shell-free receipt path (#5802/#6563); pair with --json for a machine-readable file (e.g. `--json --out .jerv/tmp/train-doctor.json`); the file is written even when the verdict is NOT READY").addHelpText("after", "\nExit codes:\n 0 ready \u2014 no blocker and origin verified\n 1 a blocker remains, or origin could not be verified (never green on an unread origin)\n\nEvery finding carries code, severity (blocker|warning|healed|info), source (local|origin), remedy and a\ndocs/Guides/train-troubleshooting.md#<code> anchor. `release --apply` and `rcand --apply` run this at step 0 with --heal.\n").action(async (o) => {
43984
43984
  try {
43985
43985
  if (o.dev && o.lane && o.lane !== "release") {
43986
43986
  return failGraceful(`train doctor: --dev applies only to the release lane \u2014 it names the development -> main variant that skips rc, which the ${o.lane} lane does not have`);
@@ -44004,7 +44004,9 @@ function registerTrainCommands(program3, trainDeps) {
44004
44004
  };
44005
44005
  const verdict = await runTrainDoctor({ lane: o.lane, dev: o.dev === true, heal: o.heal === true, train: deps, repo: o.repo, cwd: root, argv: INVOKED_ARGV });
44006
44006
  if (verdict.reexecCode !== void 0) return process.exit(verdict.reexecCode);
44007
- console.log(o.json ? JSON.stringify(verdict, null, 2) : formatTrainDoctor(verdict));
44007
+ const output = o.json ? JSON.stringify(verdict, null, 2) : formatTrainDoctor(verdict);
44008
+ if (!o.out) console.log(output);
44009
+ else console.log(`Wrote train doctor verdict to ${o.out} (UTF-8, ${writeUtf8Receipt(o.out, output)} bytes)`);
44008
44010
  if (!verdict.ready) process.exitCode = 1;
44009
44011
  } catch (e) {
44010
44012
  return failGraceful(`train doctor: ${e.message}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mutmutco/cli",
3
- "version": "4.3.51",
3
+ "version": "4.3.52",
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",