@mutmutco/cli 4.3.46 → 4.3.48
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 +10 -10
- package/package.json +1 -1
package/dist/main.cjs
CHANGED
|
@@ -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.48",
|
|
15862
|
+
tag: "v4.3.48",
|
|
15863
|
+
commit: "df3004f3daa5",
|
|
15864
|
+
npm: "@mutmutco/cli@4.3.48"
|
|
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.48"
|
|
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.48 and redeploy the Hub Lambda from tag v4.3.48 (df3004f3daa5); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
|
|
15888
|
+
v3Target: "v4.3.48 (@mutmutco/cli@4.3.48, tag commit df3004f3daa5 \u2014 last known-good release carrying the repo-index v4-only contract)"
|
|
15889
15889
|
}
|
|
15890
15890
|
},
|
|
15891
15891
|
{
|
|
@@ -21869,7 +21869,7 @@ async function runTrainDoctor(input) {
|
|
|
21869
21869
|
const tip = await git3(["rev-parse", "--verify", "--quiet", `refs/remotes/origin/${startBranch}`]);
|
|
21870
21870
|
const checkRuns = JSON.parse(await train.run("gh", ["api", `repos/${repo}/commits/${tip}/check-runs`, "--jq", TRAIN_CHECK_RUNS_JQ]));
|
|
21871
21871
|
const statuses = JSON.parse(await train.run("gh", ["api", `repos/${repo}/commits/${tip}/status`, "--jq", TRAIN_COMMIT_STATUS_JQ]));
|
|
21872
|
-
const observed = required.filter((c) => checkRuns.some((r) => r.name === c) || statuses.some((s) => s.context === c));
|
|
21872
|
+
const observed = required.filter((c) => checkRuns.some((r) => r.name === c && !(r.status === "completed" && (r.conclusion === "skipped" || r.conclusion === "neutral"))) || statuses.some((s) => s.context === c));
|
|
21873
21873
|
const red = observed.filter((c) => resolveContextState(c, checkRuns, statuses) === "failed");
|
|
21874
21874
|
const inFlight = observed.filter((c) => resolveContextState(c, checkRuns, statuses) === "pending");
|
|
21875
21875
|
const at = `${startBranch}@${tip.slice(0, 12)}`;
|
|
@@ -40417,7 +40417,7 @@ ${list}`);
|
|
|
40417
40417
|
}
|
|
40418
40418
|
console.log(JSON.stringify({ number: parsed.number, repo, item: result.item.text, checked, changed: true }));
|
|
40419
40419
|
});
|
|
40420
|
-
program3.command("report").description("file a friction report on the Hub board (Hub session auth, dedups open reports) and print {number,url} JSON \u2014 learning-tagged; file and forget (cloud agents own the fix; do not claim/poll it)").option("--title <title>", "one-line friction summary").option("--title-file <path|->", "read the friction summary from a UTF-8 file, or from stdin with -").option("--body <body>", "report body (markdown)").option("--body-file <path|->", "read report body from a UTF-8 file, or from stdin with -").addOption(new Option("--type <type>", "bug | feature | task (sets the matching label)").default("task").choices([...ISSUE_TYPES])).option("--priority <priority>", "urgent | high | medium | low (defaults to medium; sets the board Priority field only, #416)").option("--repo <owner/repo>", 'attribute the report to a different source repo than the current checkout for the "Filed via..." footer (rare \u2014 usually auto-detected; every report always lands on the org Hub, never an alternate target, #263)').option("--force", "file a new issue even when an open report looks like a duplicate").option("--json", "machine-readable output (already the default \u2014 report always prints JSON; #682)").action(async (o) => {
|
|
40420
|
+
program3.command("report").description("file a friction report on the Hub board (Hub session auth, dedups open reports) and print {number,url} JSON \u2014 learning-tagged; file and forget (cloud agents own the fix; do not claim/poll it)").option("--title <title>", "one-line friction summary").option("--title-file <path|->", "read the friction summary from a UTF-8 file, or from stdin with -").option("--body <body>", "report body (markdown)").option("--body-file <path|->", "read report body from a UTF-8 file, or from stdin with -").addOption(new Option("--type <type>", "bug | feature | task (sets the matching label)").default("task").choices([...ISSUE_TYPES])).option("--priority <priority>", "urgent | high | medium | low (defaults to medium; sets the board Priority field only, #416)").option("--repo <owner/repo>", 'attribute the report to a different source repo than the current checkout for the "Filed via..." footer (rare \u2014 usually auto-detected; every report always lands on the org Hub, never an alternate target, #263)').option("--slack-email <email>", "confirmed Slack workspace email for released-fix DMs (notification destination only, not verified identity)").option("--force", "file a new issue even when an open report looks like a duplicate").option("--json", "machine-readable output (already the default \u2014 report always prints JSON; #682)").action(async (o) => {
|
|
40421
40421
|
let body;
|
|
40422
40422
|
let priority;
|
|
40423
40423
|
let title;
|
|
@@ -40451,7 +40451,7 @@ ${list}`);
|
|
|
40451
40451
|
fetch: (url, init = {}) => fetch(url, { ...init, signal: init.signal ?? AbortSignal.timeout(1e4) }),
|
|
40452
40452
|
headers: (extra) => hubHeaders(extra)
|
|
40453
40453
|
},
|
|
40454
|
-
{ title, body, type: o.type, priority, repo: sourceRepo, force: Boolean(o.force) }
|
|
40454
|
+
{ title, body, type: o.type, priority, repo: sourceRepo, force: Boolean(o.force), ...o.slackEmail ? { slackEmail: o.slackEmail } : {} }
|
|
40455
40455
|
);
|
|
40456
40456
|
if (!result.ok) return fail(`report: ${result.error}`);
|
|
40457
40457
|
console.log(JSON.stringify(result.body));
|
package/package.json
CHANGED