@mutmutco/cli 4.0.8 → 4.0.10
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 +12 -12
- package/package.json +1 -1
package/dist/main.cjs
CHANGED
|
@@ -10827,10 +10827,10 @@ var rollout_plan_default = {
|
|
|
10827
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)."
|
|
10828
10828
|
},
|
|
10829
10829
|
baseline: {
|
|
10830
|
-
version: "4.0.
|
|
10831
|
-
tag: "v4.0.
|
|
10832
|
-
commit: "
|
|
10833
|
-
npm: "@mutmutco/cli@4.0.
|
|
10830
|
+
version: "4.0.10",
|
|
10831
|
+
tag: "v4.0.10",
|
|
10832
|
+
commit: "428fa5003799",
|
|
10833
|
+
npm: "@mutmutco/cli@4.0.10"
|
|
10834
10834
|
},
|
|
10835
10835
|
exitCriterion: "fleet-n-of-n",
|
|
10836
10836
|
hubOnlyShortcut: "forbidden",
|
|
@@ -10847,14 +10847,14 @@ var rollout_plan_default = {
|
|
|
10847
10847
|
repo: "mutmutco/mmi-hub",
|
|
10848
10848
|
role: "canary",
|
|
10849
10849
|
schedule: "train",
|
|
10850
|
-
v3Target: "v4.0.
|
|
10850
|
+
v3Target: "v4.0.10"
|
|
10851
10851
|
}
|
|
10852
10852
|
],
|
|
10853
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.",
|
|
10854
10854
|
rollback: {
|
|
10855
10855
|
independent: true,
|
|
10856
|
-
mechanism: "npm dist-tag latest -> 4.0.
|
|
10857
|
-
v3Target: "v4.0.
|
|
10856
|
+
mechanism: "npm dist-tag latest -> 4.0.10 and redeploy the Hub Lambda from tag v4.0.10 (428fa5003799); installed clients repair via `mmi-cli doctor`. No other cohort is touched.",
|
|
10857
|
+
v3Target: "v4.0.10 (@mutmutco/cli@4.0.10, tag commit 428fa5003799 \u2014 last known-good release carrying the repo-index v4-only contract)"
|
|
10858
10858
|
}
|
|
10859
10859
|
},
|
|
10860
10860
|
{
|
|
@@ -23585,12 +23585,12 @@ async function probeRepoIndexV4ReadinessCloud(queries, deps) {
|
|
|
23585
23585
|
if (!token) return { ok: false, error: "no Hub session token (run `gh auth login`)" };
|
|
23586
23586
|
const baseUrl = deps.baseUrl.replace(/\/$/, "");
|
|
23587
23587
|
const headers = { ...clientVersionHeaders(), Authorization: ["Bearer", token].join(" "), "content-type": "application/json" };
|
|
23588
|
-
const shadowPass = async () => {
|
|
23588
|
+
const shadowPass = async (readinessProbe) => {
|
|
23589
23589
|
for (const query of queries) {
|
|
23590
23590
|
const res = await fetchWithRetry(deps.fetch ?? fetch, `${baseUrl}/repo-index/v4/shadow`, {
|
|
23591
23591
|
method: "POST",
|
|
23592
23592
|
headers,
|
|
23593
|
-
body: JSON.stringify({ q: query.query, mode: query.mode, readinessProbe
|
|
23593
|
+
body: JSON.stringify({ q: query.query, mode: query.mode, readinessProbe })
|
|
23594
23594
|
}, { attempts: RETRY_ATTEMPTS2, timeoutMs: 12e4, sleep: deps.retrySleep });
|
|
23595
23595
|
const body = await res.json().catch(() => ({}));
|
|
23596
23596
|
if (!res.ok) return { ok: false, error: `${query.id}: ${body.error ?? `v4 readiness probe HTTP ${res.status}`}${body.errorClass ? ` (${body.errorClass})` : ""}`, status: res.status };
|
|
@@ -23598,9 +23598,9 @@ async function probeRepoIndexV4ReadinessCloud(queries, deps) {
|
|
|
23598
23598
|
return { ok: true };
|
|
23599
23599
|
};
|
|
23600
23600
|
try {
|
|
23601
|
-
const warmup = await shadowPass();
|
|
23601
|
+
const warmup = await shadowPass(false);
|
|
23602
23602
|
if (!warmup.ok) return warmup;
|
|
23603
|
-
const verdict = await shadowPass();
|
|
23603
|
+
const verdict = await shadowPass(true);
|
|
23604
23604
|
if (!verdict.ok) return verdict;
|
|
23605
23605
|
const res = await fetchWithRetry(deps.fetch ?? fetch, `${baseUrl}/repo-index/status`, {
|
|
23606
23606
|
method: "GET",
|
|
@@ -34616,7 +34616,7 @@ function checkRepoIndexCloud(probe) {
|
|
|
34616
34616
|
...Object.entries(readiness.modes).sort(([a], [b]) => a.localeCompare(b)).flatMap(([mode, result]) => {
|
|
34617
34617
|
const errors = Object.entries(result.errors).map(([kind, count]) => `${kind}:${count}`).join(",") || "none";
|
|
34618
34618
|
return [
|
|
34619
|
-
`v4 ${mode}: ${result.verdict} \u2014 evidence=${result.evidenceCount}/${result.goldenCount} relevance=${percent(result.expectedTop10CitationRelevance)} citations=${percent(result.citationValidity)} embeddings=${percent(result.embeddingCoverage)}
|
|
34619
|
+
`v4 ${mode}: ${result.verdict} \u2014 evidence=${result.evidenceCount}/${result.goldenCount} relevance=${percent(result.expectedTop10CitationRelevance)} citations=${percent(result.citationValidity)} embeddings=${percent(result.embeddingCoverage)} median=${result.medianV4Ms ?? "n/a"}ms errorRate=${percent(result.errorRate)} errors=${errors}`,
|
|
34620
34620
|
`v4 ${mode} ceilings relevance>=${percent(result.ceilings.minimumExpectedTop10CitationRelevance)} citations>=${percent(result.ceilings.minimumCitationValidity)} embeddings>=${percent(result.ceilings.minimumEmbeddingCoverage)} p95<=${result.ceilings.maximumP95Ms}ms errorRate<=${percent(result.ceilings.maximumErrorRate)}`
|
|
34621
34621
|
];
|
|
34622
34622
|
}),
|
package/package.json
CHANGED