From e4f730a2b2661fa581d7d875c36c25e4e487115e Mon Sep 17 00:00:00 2001 From: Xiangzhe Date: Tue, 25 Aug 2026 08:09:40 +0000 Subject: [PATCH] fix(release): drain two v3.8.50 base-reds (volcengine vision metadata, antigravity BYOP contract) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two unrelated real reds on the release tip: * fix(providers): flag MiniMax M3 as multimodal on the Volcengine Ark plans. d732cf615 ("feat(volcengine): add Ark plan providers") added volcengine-agent-plan/minimax-m3 and volcengine-coding-plan/minimax-m3 without supportsVision, breaking the LEDGER-4 invariant that every minimax-m3 registry entry except PromptQL (text-only upstream) is flagged multimodal. Every other provider carrying the model (opencode-zen, opencode-go, bazaarlink, ollama-cloud, codebuddy-cn, trae) sets it. Registry metadata defect, not a stale test. * test(antigravity): align the empty-projectId onboarding test to the contract shipped by #11284/#11358 (6de542b9b). That change made an onboardUser 200 whose body carries NO cloudaicompanionProject mean Google BYOP — no project was created and none ever will be — so it short-circuits before the retry loadCodeAssist. The older test still mocked onboardUser with the bare { done: true } BYOP shape while asserting the retry path, so it pinned a contract that was deliberately moved. The mock now returns a real onboarding-success body; every assertion is kept, and the id in the onboard body deliberately differs from the expected one so the test still proves the projectId came from the retry discovery. Refs #11284 --- .../providers/registry/volcengine/agent-plan/index.ts | 1 + .../providers/registry/volcengine/coding-plan/index.ts | 1 + .../antigravity-oauth-postexchange-nonblocking.test.ts | 7 ++++++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/open-sse/config/providers/registry/volcengine/agent-plan/index.ts b/open-sse/config/providers/registry/volcengine/agent-plan/index.ts index f34fc84586..6604844efd 100644 --- a/open-sse/config/providers/registry/volcengine/agent-plan/index.ts +++ b/open-sse/config/providers/registry/volcengine/agent-plan/index.ts @@ -78,6 +78,7 @@ export const VOLCENGINE_AGENT_PLAN_MODELS: RegistryModel[] = [ name: "MiniMax M3 (Agent Plan)", contextLength: 1048576, toolCalling: true, + supportsVision: true, supportsReasoning: true, }, { diff --git a/open-sse/config/providers/registry/volcengine/coding-plan/index.ts b/open-sse/config/providers/registry/volcengine/coding-plan/index.ts index c93bb15a5f..49c2788b7d 100644 --- a/open-sse/config/providers/registry/volcengine/coding-plan/index.ts +++ b/open-sse/config/providers/registry/volcengine/coding-plan/index.ts @@ -54,6 +54,7 @@ export const VOLCENGINE_CODING_PLAN_MODELS: RegistryModel[] = [ name: "MiniMax M3 (Coding Plan)", contextLength: 1048576, toolCalling: true, + supportsVision: true, supportsReasoning: true, }, { diff --git a/tests/unit/antigravity-oauth-postexchange-nonblocking.test.ts b/tests/unit/antigravity-oauth-postexchange-nonblocking.test.ts index 62104d7412..8a54b49f61 100644 --- a/tests/unit/antigravity-oauth-postexchange-nonblocking.test.ts +++ b/tests/unit/antigravity-oauth-postexchange-nonblocking.test.ts @@ -152,7 +152,12 @@ test("postExchange attempts onboarding when projectId is empty and returns disco } if (u.includes("onboardUser")) { onboardUserCalled = true; - return jsonRes({ done: true }); + // Real onboarding success: the body carries a cloudaicompanionProject. + // #11284 made that the discriminator — a 200 WITHOUT one is Google BYOP + // (no project was created, none ever will be) and short-circuits before + // the retry. The id here is deliberately NOT the expected one, so the + // assertion below still proves the value came from the retry discovery. + return jsonRes({ done: true, cloudaicompanionProject: "onboard-body-project" }); } return jsonRes({}); }) as typeof fetch;