@mutmutco/cli 4.3.17 → 4.3.18
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 +21 -14
- package/package.json +1 -1
package/dist/main.cjs
CHANGED
|
@@ -6298,11 +6298,11 @@ function decorateAwsModel(entries, registry2, verdicts) {
|
|
|
6298
6298
|
}
|
|
6299
6299
|
var DECLARED_ENTRIES = [
|
|
6300
6300
|
{ name: "mmi-backup (mm-central, mmi-fofu, zuber, mmi-oguz)", cadence: "17 2 * * *", executor: "box cron.d", llm: "no", resolved: "declared", source: "/etc/cron.d/mmi-backup \u2192 /opt/mmi-control/nightly-backup.sh (verify: mmi-cli devops runtime box get <box> --ssh)" },
|
|
6301
|
-
// #3370: the
|
|
6301
|
+
// #3370/#6270: the one runner hygiene layer (runner-hygiene.yml was folded in and deleted). A workflow ran ON the runner and needed checkout +
|
|
6302
6302
|
// setup-node before it can prune, so at 100% it dies at checkout and never prunes — the cleanup is
|
|
6303
6303
|
// unavailable exactly when it is needed. This one is root cron on the box: no checkout, no node, and
|
|
6304
6304
|
// a no-op below 90% disk, which is why 15 minutes is affordable.
|
|
6305
|
-
{ name: "mmi-runner-hygiene-oob (mmi-runner)", cadence: "*/15 * * * *", executor: "box cron.d", llm: "no", resolved: "declared", source: "/etc/cron.d/mmi-runner-hygiene \u2192 /opt/mmi-control/runner-hygiene-oob.sh;
|
|
6305
|
+
{ name: "mmi-runner-hygiene-oob (mmi-runner)", cadence: "*/15 * * * *", executor: "box cron.d", llm: "no", resolved: "declared", source: "/etc/cron.d/mmi-runner-hygiene \u2192 /opt/mmi-control/runner-hygiene-oob.sh; routine docker/cache prunes every tick, _work relief only at >=90% disk (verify: mmi-cli devops runtime box get mmi-runner --ssh)" },
|
|
6306
6306
|
// #4118: Listening + systemd-active ≠ GitHub online after acquirejob 503. restart.conf cannot see
|
|
6307
6307
|
// it; an Actions workflow on mmi-live cannot heal it when half the fleet is offline. Root cron.
|
|
6308
6308
|
{ 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)" },
|
|
@@ -15502,10 +15502,10 @@ var rollout_plan_default = {
|
|
|
15502
15502
|
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)."
|
|
15503
15503
|
},
|
|
15504
15504
|
baseline: {
|
|
15505
|
-
version: "4.3.
|
|
15506
|
-
tag: "v4.3.
|
|
15507
|
-
commit: "
|
|
15508
|
-
npm: "@mutmutco/cli@4.3.
|
|
15505
|
+
version: "4.3.18",
|
|
15506
|
+
tag: "v4.3.18",
|
|
15507
|
+
commit: "6ee42d6912f8",
|
|
15508
|
+
npm: "@mutmutco/cli@4.3.18"
|
|
15509
15509
|
},
|
|
15510
15510
|
exitCriterion: "fleet-n-of-n",
|
|
15511
15511
|
hubOnlyShortcut: "forbidden",
|
|
@@ -15522,14 +15522,14 @@ var rollout_plan_default = {
|
|
|
15522
15522
|
repo: "mutmutco/mmi-hub",
|
|
15523
15523
|
role: "canary",
|
|
15524
15524
|
schedule: "train",
|
|
15525
|
-
v3Target: "v4.3.
|
|
15525
|
+
v3Target: "v4.3.18"
|
|
15526
15526
|
}
|
|
15527
15527
|
],
|
|
15528
15528
|
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.",
|
|
15529
15529
|
rollback: {
|
|
15530
15530
|
independent: true,
|
|
15531
|
-
mechanism: "npm dist-tag latest -> 4.3.
|
|
15532
|
-
v3Target: "v4.3.
|
|
15531
|
+
mechanism: "npm dist-tag latest -> 4.3.18 and redeploy the Hub Lambda from tag v4.3.18 (6ee42d6912f8); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
|
|
15532
|
+
v3Target: "v4.3.18 (@mutmutco/cli@4.3.18, tag commit 6ee42d6912f8 \u2014 last known-good release carrying the repo-index v4-only contract)"
|
|
15533
15533
|
}
|
|
15534
15534
|
},
|
|
15535
15535
|
{
|
|
@@ -23393,7 +23393,7 @@ var GATE_GREEN_ON_BASE_LABEL = "gate is green on the default branch (#3819)";
|
|
|
23393
23393
|
var REQUIRED_CONTEXTS_EMITTED_LABEL = "required check contexts match PR workflows";
|
|
23394
23394
|
var TAG_ADDRESSABLE_CONTEXTS_LABEL = "rc/main required contexts are tag-addressable (#3880)";
|
|
23395
23395
|
var RELEASE_BRANCH_REACHABLE_LABEL = "rc/main required contexts are reachable from a release-base head (#5193)";
|
|
23396
|
-
var RECONCILE_SEED_BRANCH_PREFIX = "
|
|
23396
|
+
var RECONCILE_SEED_BRANCH_PREFIX = "bootstrap-seed-ruleset-ref";
|
|
23397
23397
|
function slugFromRepo(repo) {
|
|
23398
23398
|
return (repo.includes("/") ? repo.split("/")[1] : repo).toLowerCase();
|
|
23399
23399
|
}
|
|
@@ -31891,7 +31891,8 @@ var LOOP_PLAYBOOKS = {
|
|
|
31891
31891
|
{ label: "Apply the repository test policy, then build the touched package", command: "mmi-cli tests policy --base origin/development && npm run build" },
|
|
31892
31892
|
{ label: "Publish the branch", command: "git push origin <branch>:<branch>" },
|
|
31893
31893
|
{ label: "Open the development-base PR", command: 'mmi-cli devops pr create --title "<title>" --body-file .jerv/PR_BODY.md --base development' },
|
|
31894
|
-
{ label: "
|
|
31894
|
+
{ label: "Post the review verdict (pr merge / pr land refuse an unreviewed PR, #6255)", command: 'mmi-cli devops pr review-verdict <PR-number> --repo <owner/repo> --verdict PROCEED --scope "<one line>" --risk "<one line>" --reviewer <seat-or-model-id>' },
|
|
31895
|
+
{ label: "Land to development (waits for checks itself and demands the review verdict)", command: "mmi-cli devops pr land <PR-number>" },
|
|
31895
31896
|
{ label: "Release only after the gated train is authorized", command: "mmi-cli devops release --apply" },
|
|
31896
31897
|
// #5552: learning-tagged filings are cloud-agent owned — file and return to the current task.
|
|
31897
31898
|
{ label: "Learning reports are fire-and-forget (file, then return to the current task \u2014 never claim/poll/duplicate the learning issue)", command: 'mmi-cli learning report --title "<one-line>" --body "<what hurt>"' }
|
|
@@ -31912,15 +31913,14 @@ var LOOP_PLAYBOOKS = {
|
|
|
31912
31913
|
steps: [
|
|
31913
31914
|
{ label: "Publish the branch", command: "git push origin <branch>:<branch>" },
|
|
31914
31915
|
{ label: "Open the development-base PR", command: 'mmi-cli devops pr create --title "<title>" --body-file .jerv/PR_BODY.md --base development' },
|
|
31915
|
-
{ label: "
|
|
31916
|
-
{ label: "Land the PR (merge to development)", command: "mmi-cli devops pr land <PR-number>" }
|
|
31916
|
+
{ label: "Land the PR (merge to development \u2014 waits for checks itself and demands the review verdict)", command: "mmi-cli devops pr land <PR-number>" }
|
|
31917
31917
|
]
|
|
31918
31918
|
},
|
|
31919
31919
|
"hotfix": {
|
|
31920
31920
|
title: "Hotfix",
|
|
31921
31921
|
steps: [
|
|
31922
31922
|
{ label: "Create the main-base hotfix PR from every already-merged fix this cycle carries", command: "mmi-cli devops hotfix start --from <pr#|sha>[,<pr#|sha>...]" },
|
|
31923
|
-
{ label: "
|
|
31923
|
+
{ label: "Merge the main-base PR (waits for checks itself and demands the review verdict)", command: "mmi-cli devops pr merge <PR-number> --squash" },
|
|
31924
31924
|
{ label: "After the PR is merged, run the gated release", command: "mmi-cli devops hotfix release <vX.Y.Z> --carries <pr#|sha>[,<pr#|sha>...]" }
|
|
31925
31925
|
]
|
|
31926
31926
|
}
|
|
@@ -44446,6 +44446,13 @@ ${filelessTransitionGuide(target, o.stage)}`
|
|
|
44446
44446
|
return fail(e.message);
|
|
44447
44447
|
}
|
|
44448
44448
|
const res = await setDeployCoords(slug, body, registryClientDeps(cfg));
|
|
44449
|
+
if (res.ok && target.includes("/")) {
|
|
44450
|
+
const reconcile = await tenantReconcile({ repo: target, stage: o.stage }, registryClientDeps(cfg));
|
|
44451
|
+
if (!reconcile.ok) {
|
|
44452
|
+
const detail = reconcile.body?.error ?? reconcile.error ?? `HTTP ${reconcile.status}`;
|
|
44453
|
+
console.error(`org project set-deploy: tenant-reconcile dispatch refused (${detail}) \u2014 run \`mmi-cli devops runtime tenant reconcile ${target} ${o.stage}\` by hand`);
|
|
44454
|
+
}
|
|
44455
|
+
}
|
|
44449
44456
|
return reportWrite("org project set-deploy", res);
|
|
44450
44457
|
});
|
|
44451
44458
|
var projectTenantTasks = project.command("tenant-tasks").description("project-admin self-declare of tenant tasks for your own repo's dev/rc stages (#5316, #5308) \u2014 new-task-only, dev/rc-only; editing an existing task or declaring a main-stage task stays master-only (`org project set --var tenantTasks=...`)");
|
package/package.json
CHANGED