sync(providers): mirror cp serving-url fixes (kimi-coding /v1 + gemini api-key base_url) #2103

Merged
core-be merged 1 commits from sync/providers-serving-urls into main 2026-06-01 18:06:13 +00:00
Member

Sync providers SSOT mirror: kimi-coding /v1 + gemini api-key base_url

Byte-syncs workspace-server/internal/providers/providers.yaml to the controlplane canonical after cp#432, and repins canonicalProvidersYAMLSHA256.

Upstream changes (controlplane SSOT):

  1. kimi-coding base_url /v1 — was https://api.kimi.com/coding/; proxy dials {base}/messages/coding/messages → 404. Correct endpoint /coding/v1/messages (verified live: 200 pong). Real proxy-serving bug, found by the new controlplane serving-e2e gate (cp#431).
  2. google (Gemini api-key) base_url — was null; wired https://generativelanguage.googleapis.com/v1beta/openai so the OpenAI-protocol api-key arm can serve.

Comprehensive testing performed

go test ./internal/providers/... (+ gen) green on the mirror; sync-providers-yaml byte-match + verify-providers-gen satisfied (registry_gen unchanged — base_url is not in the model-id projection; only providers.yaml + the pinned sha change).

Local-postgres E2E run

N/A — providers.yaml data-only mirror sync; no DB/schema path touched.

Staging-smoke verified or pending

Pending: serving verification runs in the controlplane serving-e2e gate (cp#431) once provider keys are activated; kimi /v1 already proven live (200).

Root-cause not symptom

Roots: kimi-coding base_url omitted the /v1 segment the gateway requires; the gemini entry had no OpenAI-compat base_url. Both fixed at the SSOT, not worked around downstream.

Five-Axis review walked

Correctness (kimi proven live; gemini = documented OpenAI-compat surface), Safety (data-only mirror; no code), Tests (providers green; gate covers serving), SSOT (byte-identical to cp canonical; sha repinned), No backwards-compat shim / dead code.

No backwards-compat shim / dead code added

Confirmed — only the byte-synced manifest + the pinned sha constant change.

Memory/saved-feedback consulted

Followed the providers-SSOT model-add/sync runbook (byte-sync + sha repin + dockerized gen-providers; operator has no go) and the comprehensive-e2e-for-LLM principle that motivated the serving gate.

## Sync providers SSOT mirror: kimi-coding /v1 + gemini api-key base_url Byte-syncs `workspace-server/internal/providers/providers.yaml` to the controlplane canonical after **cp#432**, and repins `canonicalProvidersYAMLSHA256`. Upstream changes (controlplane SSOT): 1. **kimi-coding base_url `/v1`** — was `https://api.kimi.com/coding/`; proxy dials `{base}/messages` → `/coding/messages` → 404. Correct endpoint `/coding/v1/messages` (verified live: 200 pong). Real proxy-serving bug, found by the new controlplane serving-e2e gate (cp#431). 2. **google (Gemini api-key) base_url** — was null; wired `https://generativelanguage.googleapis.com/v1beta/openai` so the OpenAI-protocol api-key arm can serve. ### Comprehensive testing performed `go test ./internal/providers/...` (+ gen) green on the mirror; `sync-providers-yaml` byte-match + `verify-providers-gen` satisfied (registry_gen unchanged — base_url is not in the model-id projection; only providers.yaml + the pinned sha change). ### Local-postgres E2E run N/A — providers.yaml data-only mirror sync; no DB/schema path touched. ### Staging-smoke verified or pending Pending: serving verification runs in the controlplane serving-e2e gate (cp#431) once provider keys are activated; kimi `/v1` already proven live (200). ### Root-cause not symptom Roots: kimi-coding base_url omitted the `/v1` segment the gateway requires; the gemini entry had no OpenAI-compat base_url. Both fixed at the SSOT, not worked around downstream. ### Five-Axis review walked Correctness (kimi proven live; gemini = documented OpenAI-compat surface), Safety (data-only mirror; no code), Tests (providers green; gate covers serving), SSOT (byte-identical to cp canonical; sha repinned), No backwards-compat shim / dead code. ### No backwards-compat shim / dead code added Confirmed — only the byte-synced manifest + the pinned sha constant change. ### Memory/saved-feedback consulted Followed the providers-SSOT model-add/sync runbook (byte-sync + sha repin + dockerized gen-providers; operator has no go) and the comprehensive-e2e-for-LLM principle that motivated the serving gate.
core-be added 1 commit 2026-06-01 16:55:48 +00:00
sync(providers): mirror cp serving-url fixes (kimi-coding /v1 + gemini api-key base_url)
ci-arm64-advisory / fast-checks (pull_request) Waiting to run
E2E Chat / detect-changes (pull_request) Failing after 0s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 3s
Harness Replays / detect-changes (pull_request) Failing after 1s
E2E Chat / E2E Chat (pull_request) Has been skipped
Harness Replays / Harness Replays (pull_request) Has been skipped
Lint forbidden tenant-env keys / Scan for repo-host token write into tenant workspace surface (pull_request) Successful in 6s
Lint forbidden tenant-env keys / Scan workspace_secrets writers for forbidden env keys (pull_request) Successful in 6s
CI / Python Lint & Test (pull_request) Successful in 11s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 11s
sync-providers-yaml / Compare synced providers.yaml against controlplane canonical (pull_request) Successful in 7s
sop-checklist / review-refire (pull_request_target) Has been skipped
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 12s
qa-review / approved (pull_request_target) Failing after 7s
gate-check-v3 / gate-check (pull_request_target) Successful in 10s
Lint shellcheck (arm64 pilot) / shellcheck-arm64 (pilot) (pull_request) Successful in 14s
sop-tier-check / tier-check (pull_request_target) Successful in 8s
E2E API Smoke Test / detect-changes (pull_request) Successful in 29s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 28s
sop-checklist / all-items-acked (pull_request_target) Successful in 16s
CI / Detect changes (pull_request) Successful in 29s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 11s
security-review / approved (pull_request_target) Failing after 18s
verify-providers-gen / Regenerate providers artifact and fail on drift (pull_request) Successful in 26s
CI / Canvas (Next.js) (pull_request) Successful in 4s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 4s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 4s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 59s
sop-checklist / all-items-acked (pull_request) acked: 2/7 — missing: comprehensive-testing, local-postgres-e2e, staging-smoke, +2
sop-checklist / na-declarations (pull_request) N/A: (none)
sop-tier-check / tier-check (pull_request_review) Successful in 3s
security-review / approved (pull_request) Refired via /security-recheck by unknown
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 2m15s
CI / Platform (Go) (pull_request) Successful in 5m15s
CI / all-required (pull_request) Successful in 2s
audit-force-merge / audit (pull_request_target) Successful in 4s
39e79c64c8
Byte-syncs workspace-server/internal/providers/providers.yaml to the
controlplane canonical after cp#432 (kimi-coding base_url /v1 proxy-404
fix + google gemini OpenAI-compat base_url). Repins
canonicalProvidersYAMLSHA256. registry_gen unchanged (base_url is not in
the model-id projection).
Member

/sop-ack comprehensive-testing

/sop-ack comprehensive-testing
Member

/sop-ack local-postgres-e2e

/sop-ack local-postgres-e2e
Member

/sop-ack staging-smoke

/sop-ack staging-smoke
Member

/sop-ack root-cause

/sop-ack root-cause
Member

/sop-ack five-axis-review

/sop-ack five-axis-review
Member

/sop-ack no-backwards-compat

/sop-ack no-backwards-compat
Member

/sop-ack memory-consulted

/sop-ack memory-consulted
Author
Member

/sop-ack comprehensive-testing

/sop-ack comprehensive-testing
Author
Member

/sop-ack local-postgres-e2e

/sop-ack local-postgres-e2e
Author
Member

/sop-ack staging-smoke

/sop-ack staging-smoke
Author
Member

/sop-ack root-cause

/sop-ack root-cause
Author
Member

/sop-ack five-axis-review

/sop-ack five-axis-review
Author
Member

/sop-ack no-backwards-compat

/sop-ack no-backwards-compat
Author
Member

/sop-ack memory-consulted

/sop-ack memory-consulted
core-qa approved these changes 2026-06-01 16:57:56 +00:00
core-qa left a comment
Member

Providers mirror sync; kimi /v1 proven live, serving-e2e gate covers it. APPROVED.

Providers mirror sync; kimi /v1 proven live, serving-e2e gate covers it. APPROVED.
core-security approved these changes 2026-06-01 16:57:57 +00:00
core-security left a comment
Member

Data-only providers mirror; no code/secret surface. APPROVED.

Data-only providers mirror; no code/secret surface. APPROVED.
Member

/qa-recheck

/qa-recheck
Member

/security-recheck

/security-recheck
core-be merged commit a4def269e0 into main 2026-06-01 18:06:13 +00:00
Author
Member

Already merged to main. Confirmed as part of CTO staging-dead disposition (#2031-#2103 batch).

Already merged to main. Confirmed as part of CTO staging-dead disposition (#2031-#2103 batch).
Sign in to join this conversation.
4 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#2103