@mutmutco/cli 2.24.1 → 2.25.0

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 +24 -2
  2. package/package.json +1 -1
package/dist/main.cjs CHANGED
@@ -8233,6 +8233,8 @@ function renderSweep(r) {
8233
8233
  var HOTFIX_RELEASE_WORKFLOWS = ["deploy.yml", "publish.yml"];
8234
8234
  var HOTFIX_RUN_FIND_ATTEMPTS = 10;
8235
8235
  var HOTFIX_RUN_FIND_DELAY_MS = 15e3;
8236
+ var HOTFIX_VERIFY_ATTEMPTS = 5;
8237
+ var HOTFIX_VERIFY_RETRY_MS = 6e3;
8236
8238
  function clean2(out) {
8237
8239
  return out.trim();
8238
8240
  }
@@ -8439,8 +8441,20 @@ async function runHotfixRelease(deps, versionInput, options = {}) {
8439
8441
  try {
8440
8442
  await deps.run("git", ["-c", "advice.detachedHead=false", "checkout", tag]);
8441
8443
  const verifyArgs = ["scripts/release-distribution.mjs", "verify", version, ...publishSucceeded ? [] : ["--skip-npm-view"]];
8442
- await deps.run("node", verifyArgs);
8443
- verifyNote = `distribution verified at ${tag}${publishSucceeded ? " (npm included)" : " (npm view skipped \u2014 publish run not confirmed)"}`;
8444
+ const sleep = sleeper(deps);
8445
+ let attempt = 0;
8446
+ for (; ; ) {
8447
+ attempt++;
8448
+ try {
8449
+ await deps.run("node", verifyArgs);
8450
+ break;
8451
+ } catch (err) {
8452
+ if (attempt >= HOTFIX_VERIFY_ATTEMPTS) throw err;
8453
+ await sleep(HOTFIX_VERIFY_RETRY_MS);
8454
+ }
8455
+ }
8456
+ const retried = attempt > 1 ? `, after ${attempt} attempts (npm propagation lag)` : "";
8457
+ verifyNote = `distribution verified at ${tag}${publishSucceeded ? ` (npm included${retried})` : " (npm view skipped \u2014 publish run not confirmed)"}`;
8444
8458
  } finally {
8445
8459
  if (previousRef && previousRef !== "HEAD") await deps.run("git", ["checkout", previousRef]);
8446
8460
  }
@@ -8961,6 +8975,7 @@ function renderAccessReport(report) {
8961
8975
  }
8962
8976
 
8963
8977
  // src/bootstrap-verify.ts
8978
+ var TRAIN_BRANCHES = ["development", "rc", "main"];
8964
8979
  var requiredDocs = ["README.md", "architecture.md", "AGENTS.md", "CLAUDE.md", ".claude/settings.json"];
8965
8980
  var requiredIssueTemplates = [
8966
8981
  ".github/ISSUE_TEMPLATE/bug.yml",
@@ -9095,6 +9110,12 @@ async function verifyBootstrap(repo, repoClass, deps, releaseTrack) {
9095
9110
  detail: hasPushAllowlist(protection) ? void 0 : "restrictions.users is empty or unset"
9096
9111
  });
9097
9112
  }
9113
+ const strayTrainBranches = TRAIN_BRANCHES.filter((b) => !branchesWanted.includes(b) && branchNames.has(b));
9114
+ checks.push({
9115
+ ok: strayTrainBranches.length === 0,
9116
+ label: "no stray train branch for this track",
9117
+ detail: strayTrainBranches.length ? `unexpected: ${strayTrainBranches.join(", ")} (retire it \u2014 this track does not use it)` : void 0
9118
+ });
9098
9119
  const owners = new Set(await resolveOwners(deps));
9099
9120
  const overgrants = await auditRepoCollaborators(repo, owners, deps);
9100
9121
  checks.push({
@@ -11517,6 +11538,7 @@ async function fetchNpmReleasedVersion() {
11517
11538
  }
11518
11539
  }
11519
11540
  async function requireFreshTrainCli(commandName) {
11541
+ if (process.env.MMI_TRAIN_FRESH_OVERRIDE === "1") return;
11520
11542
  const report = buildVersionLagReport({
11521
11543
  currentVersion: resolveClientVersion(),
11522
11544
  releasedVersion: await fetchNpmReleasedVersion()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mutmutco/cli",
3
- "version": "2.24.1",
3
+ "version": "2.25.0",
4
4
  "description": "MMI Future CLI — delivers the org rules (whole-file), plus saga and KB access. The cross-IDE engine the plugin's SessionStart hook drives.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",