@mutmutco/cli 4.0.6 → 4.0.8
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 +23 -7
- package/package.json +1 -1
package/dist/main.cjs
CHANGED
|
@@ -8266,6 +8266,10 @@ var DECLARED_ENTRIES = [
|
|
|
8266
8266
|
// #4118: Listening + systemd-active ≠ GitHub online after acquirejob 503. restart.conf cannot see
|
|
8267
8267
|
// it; an Actions workflow on mmi-live cannot heal it when half the fleet is offline. Root cron.
|
|
8268
8268
|
{ name: "mmi-runner-online-reconcile (mmi-runner)", cadence: "*/5 * * * *", executor: "box cron.d", llm: "no", resolved: "declared", source: "/etc/cron.d/mmi-runner-online \u2192 /opt/mmi-control/runner-online-reconcile.sh; API-offline + _diag acquirejob, max 2 restarts/tick (verify: mmi-cli devops runtime box get mmi-runner --ssh)" },
|
|
8269
|
+
// #5292: a lane that holds a dispatched JOB but produces zero output past the budget honestly
|
|
8270
|
+
// reports "busy", so the online reconcile never fires and GitHub will not re-dispatch while the
|
|
8271
|
+
// run holds the assignment. This tick cancels + re-triggers those runs (max 1/tick, debounced).
|
|
8272
|
+
{ name: "mmi-runner-jobwedge-reconcile (mmi-runner)", cadence: "*/5 * * * *", executor: "box cron.d", llm: "no", resolved: "declared", source: "/etc/cron.d/mmi-runner-jobwedge \u2192 /opt/mmi-control/runner-jobwedge-reconcile.sh; in_progress job silent past 10 min on our lanes \u2192 cancel + rerun, max 1 heal/tick (verify: mmi-cli devops runtime box get mmi-runner --ssh)" },
|
|
8269
8273
|
// #3852: the runner /tmp sweep — daily inode hygiene (03:41 UTC), deliberately the one clutter path the
|
|
8270
8274
|
// out-of-band disk-relief script must never touch. Verified installed 2026-08-18: the cron.d file and
|
|
8271
8275
|
// flock line match scripts/runner-tmp-sweep.cron exactly.
|
|
@@ -10823,10 +10827,10 @@ var rollout_plan_default = {
|
|
|
10823
10827
|
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)."
|
|
10824
10828
|
},
|
|
10825
10829
|
baseline: {
|
|
10826
|
-
version: "4.0.
|
|
10827
|
-
tag: "v4.0.
|
|
10828
|
-
commit: "
|
|
10829
|
-
npm: "@mutmutco/cli@4.0.
|
|
10830
|
+
version: "4.0.8",
|
|
10831
|
+
tag: "v4.0.8",
|
|
10832
|
+
commit: "b08057bf6333",
|
|
10833
|
+
npm: "@mutmutco/cli@4.0.8"
|
|
10830
10834
|
},
|
|
10831
10835
|
exitCriterion: "fleet-n-of-n",
|
|
10832
10836
|
hubOnlyShortcut: "forbidden",
|
|
@@ -10843,14 +10847,14 @@ var rollout_plan_default = {
|
|
|
10843
10847
|
repo: "mutmutco/mmi-hub",
|
|
10844
10848
|
role: "canary",
|
|
10845
10849
|
schedule: "train",
|
|
10846
|
-
v3Target: "v4.0.
|
|
10850
|
+
v3Target: "v4.0.8"
|
|
10847
10851
|
}
|
|
10848
10852
|
],
|
|
10849
10853
|
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.",
|
|
10850
10854
|
rollback: {
|
|
10851
10855
|
independent: true,
|
|
10852
|
-
mechanism: "npm dist-tag latest -> 4.0.
|
|
10853
|
-
v3Target: "v4.0.
|
|
10856
|
+
mechanism: "npm dist-tag latest -> 4.0.8 and redeploy the Hub Lambda from tag v4.0.8 (b08057bf6333); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
|
|
10857
|
+
v3Target: "v4.0.8 (@mutmutco/cli@4.0.8, tag commit b08057bf6333 \u2014 last known-good release carrying the repo-index v4-only contract)"
|
|
10854
10858
|
}
|
|
10855
10859
|
},
|
|
10856
10860
|
{
|
|
@@ -37854,6 +37858,18 @@ pr.command("checks-wait <number>").description(`bounded wait for PR checks; skip
|
|
|
37854
37858
|
if (result.status === "timeout" || result.status === "rate-limited") process.exitCode = PR_CHECKS_TIMEOUT_EXIT_CODE;
|
|
37855
37859
|
});
|
|
37856
37860
|
pr.command("land <number>").description("agent merge path (#1440): train probe \u2014 checks-wait \u2014 merge --auto \u2014 poll enqueued \u2014 development PRs only").option("--json", "machine-readable output").option("--repo <owner/repo>", "target repo (defaults to the PR repo)").option("--no-require-train", "skip train-authority preflight (not recommended for autonomous agents)").option("--force", "acknowledge and land past a remaining prunable/severe scratch housekeeping block (advisory kept plans/ never blocks, #3012) or a negated-closing-keyword (#3718) or ambiguous-cross-repo-closing (#4279) refusal").action(async (number, o) => {
|
|
37861
|
+
const refMatch = /^(?:([^/]+\/[^/]+))?#(\d+)$/.exec(number.trim());
|
|
37862
|
+
if (refMatch) {
|
|
37863
|
+
number = refMatch[2];
|
|
37864
|
+
if (refMatch[1]) {
|
|
37865
|
+
if (o.repo && o.repo !== refMatch[1]) {
|
|
37866
|
+
console.error(`pr land: --repo ${o.repo} conflicts with ref repo ${refMatch[1]}`);
|
|
37867
|
+
process.exitCode = 1;
|
|
37868
|
+
return;
|
|
37869
|
+
}
|
|
37870
|
+
o.repo = refMatch[1];
|
|
37871
|
+
}
|
|
37872
|
+
}
|
|
37857
37873
|
const repoArgs = o.repo ? ["--repo", o.repo] : [];
|
|
37858
37874
|
const startingPath = (await execFileP2("git", ["rev-parse", "--show-toplevel"], { timeout: GIT_TIMEOUT_MS }).catch(() => ({ stdout: "" }))).stdout.trim();
|
|
37859
37875
|
assertPrMergeHousekeepingClean(startingPath || process.cwd(), "pr land", { force: o.force });
|
package/package.json
CHANGED