@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.
- package/dist/main.cjs +12 -10
- 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 :
|
|
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.
|
|
15862
|
-
tag: "v4.3.
|
|
15863
|
-
commit: "
|
|
15864
|
-
npm: "@mutmutco/cli@4.3.
|
|
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.
|
|
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.
|
|
15888
|
-
v3Target: "v4.3.
|
|
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
|
-
|
|
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