@mutmutco/cli 4.3.62 → 4.3.63
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 +41 -8
- package/package.json +1 -1
package/dist/main.cjs
CHANGED
|
@@ -15801,10 +15801,10 @@ var rollout_plan_default = {
|
|
|
15801
15801
|
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)."
|
|
15802
15802
|
},
|
|
15803
15803
|
baseline: {
|
|
15804
|
-
version: "4.3.
|
|
15805
|
-
tag: "v4.3.
|
|
15806
|
-
commit: "
|
|
15807
|
-
npm: "@mutmutco/cli@4.3.
|
|
15804
|
+
version: "4.3.63",
|
|
15805
|
+
tag: "v4.3.63",
|
|
15806
|
+
commit: "23180ae03611",
|
|
15807
|
+
npm: "@mutmutco/cli@4.3.63"
|
|
15808
15808
|
},
|
|
15809
15809
|
exitCriterion: "fleet-n-of-n",
|
|
15810
15810
|
hubOnlyShortcut: "forbidden",
|
|
@@ -15821,14 +15821,14 @@ var rollout_plan_default = {
|
|
|
15821
15821
|
repo: "mutmutco/mmi-hub",
|
|
15822
15822
|
role: "canary",
|
|
15823
15823
|
schedule: "train",
|
|
15824
|
-
v3Target: "v4.3.
|
|
15824
|
+
v3Target: "v4.3.63"
|
|
15825
15825
|
}
|
|
15826
15826
|
],
|
|
15827
15827
|
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.",
|
|
15828
15828
|
rollback: {
|
|
15829
15829
|
independent: true,
|
|
15830
|
-
mechanism: "npm dist-tag latest -> 4.3.
|
|
15831
|
-
v3Target: "v4.3.
|
|
15830
|
+
mechanism: "npm dist-tag latest -> 4.3.63 and redeploy the Hub Lambda from tag v4.3.63 (23180ae03611); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
|
|
15831
|
+
v3Target: "v4.3.63 (@mutmutco/cli@4.3.63, tag commit 23180ae03611 \u2014 last known-good release carrying the repo-index v4-only contract)"
|
|
15832
15832
|
}
|
|
15833
15833
|
},
|
|
15834
15834
|
{
|
|
@@ -42726,6 +42726,13 @@ function summaryFileLines(content, neutralize = true) {
|
|
|
42726
42726
|
return escapeMrkdwn(neutralize ? neutralizeHubProductBrands(bare) : bare);
|
|
42727
42727
|
}).filter(Boolean).map((l) => `\u2022 ${l}`);
|
|
42728
42728
|
}
|
|
42729
|
+
function announceSummaryFidelity(lines2, rangeLog) {
|
|
42730
|
+
const shipped = new Set(rangeLog.match(/#\d+/g) ?? []);
|
|
42731
|
+
if (shipped.size === 0) return null;
|
|
42732
|
+
const invented = [...new Set(lines2.flatMap((l) => l.match(/#\d+/g) ?? []))].filter((ref) => !shipped.has(ref));
|
|
42733
|
+
if (invented.length === 0) return null;
|
|
42734
|
+
return `--announce-summary-file cites ${invented.join(", ")}, which ship in no commit of this release range \u2014 a summary line must describe work that actually shipped. Rebuild the summary from \`git log origin/main..HEAD\` (read commit BODIES too: a bundled PR closes issues its subject never names), then rerun the same release command \u2014 see docs/Guides/train-troubleshooting.md#announce-summary-missing`;
|
|
42735
|
+
}
|
|
42729
42736
|
async function resolveAnnounceTarget(deps, repo) {
|
|
42730
42737
|
if (repo.toLowerCase() === ANNOUNCE_REPO.toLowerCase()) return { kind: "alerts" };
|
|
42731
42738
|
const target = deps.fetchReleaseTarget ? await deps.fetchReleaseTarget(slugOf(repo)) : { channel: null, language: "en" };
|
|
@@ -43449,6 +43456,14 @@ async function runHotfixRelease(deps, versionInput, options = {}, doctor = runTr
|
|
|
43449
43456
|
if (lines2.length < 3 || lines2.length > 6) {
|
|
43450
43457
|
throw new Error(`--announce-summary-file must contain 3-6 non-empty LLM-curated lines (found ${lines2.length}) \u2014 see docs/Guides/train-troubleshooting.md#announce-summary-missing`);
|
|
43451
43458
|
}
|
|
43459
|
+
let rangeLog;
|
|
43460
|
+
try {
|
|
43461
|
+
rangeLog = await deps.run("git", ["log", "--format=%B", "origin/main..HEAD"]);
|
|
43462
|
+
} catch (e) {
|
|
43463
|
+
throw new Error(`could not read the hotfix commit range (git log origin/main..HEAD: ${e.message}) \u2014 the --announce-summary-file lines cannot be checked against what actually ships; fix the checkout, then rerun`);
|
|
43464
|
+
}
|
|
43465
|
+
const invented = announceSummaryFidelity(lines2, rangeLog);
|
|
43466
|
+
if (invented) throw new Error(invented);
|
|
43452
43467
|
}
|
|
43453
43468
|
const anchors = { repo: ctx.repo, tag, tagSha: mergedSha };
|
|
43454
43469
|
const start = await startReleaseLedger(ledger, anchors, { lane: "hotfix" });
|
|
@@ -44173,7 +44188,25 @@ async function announceSummaryRefusal(path2) {
|
|
|
44173
44188
|
if (lines2.length < 3 || lines2.length > 6) {
|
|
44174
44189
|
return `release: --announce-summary-file must contain 3-6 non-empty LLM-curated lines (found ${lines2.length}) \u2014 see docs/Guides/train-troubleshooting.md#announce-summary-missing`;
|
|
44175
44190
|
}
|
|
44176
|
-
|
|
44191
|
+
try {
|
|
44192
|
+
await execFileP("git", ["fetch", "origin"], { timeout: GIT_TIMEOUT_MS });
|
|
44193
|
+
} catch (e) {
|
|
44194
|
+
return `release: could not fetch origin to check the --announce-summary-file lines (git fetch origin: ${e.message}) \u2014 the lines cannot be checked against what actually ships; fix the checkout, then rerun the same release command`;
|
|
44195
|
+
}
|
|
44196
|
+
const revs = ["HEAD"];
|
|
44197
|
+
try {
|
|
44198
|
+
const upstream = await execFileP("git", ["rev-parse", "--verify", "--quiet", "@{upstream}"], { timeout: GIT_TIMEOUT_MS });
|
|
44199
|
+
if (upstream.stdout.trim()) revs.push("@{upstream}");
|
|
44200
|
+
} catch {
|
|
44201
|
+
}
|
|
44202
|
+
let rangeLog;
|
|
44203
|
+
try {
|
|
44204
|
+
rangeLog = (await execFileP("git", ["log", "--format=%B", ...revs, "--not", "origin/main"], { timeout: GIT_TIMEOUT_MS })).stdout;
|
|
44205
|
+
} catch (e) {
|
|
44206
|
+
return `release: could not read the release commit range (git log ${revs.join(" ")} --not origin/main: ${e.message}) \u2014 the --announce-summary-file lines cannot be checked against what actually ships; fix the checkout, then rerun`;
|
|
44207
|
+
}
|
|
44208
|
+
const invented = announceSummaryFidelity(lines2, rangeLog);
|
|
44209
|
+
return invented ? `release: ${invented}` : null;
|
|
44177
44210
|
}
|
|
44178
44211
|
function trainApplyDeps() {
|
|
44179
44212
|
return {
|
package/package.json
CHANGED