feat: release Altimate Base hosted model
Summary
- ships hosted Qwen 3.8 as
altimate-free/altimate-base - replaces Big Pickle as the implicit free fallback while keeping Big Pickle explicitly selectable
- adds default-No privacy disclosure, consent-gated anonymous registration, dedicated atomic
0600credential storage, and bounded key rotation - pins the managed provider contract so project config or models.dev cannot redirect its key, SDK module, model, or endpoint
- adds Base-specific quota/request-size errors and a session header only for this provider
- updates onboarding, model/provider pickers, ACP defaults, telemetry classification, docs, and tests
Gateway configuration
The public repository contains no internal gateway hostname. Release builds embed the current endpoint from the repository variable ALTIMATE_BASE_GATEWAY_URL; the build fails closed if the value is missing or unsafe. At runtime, ALTIMATE_BASE_GATEWAY_URL remains the highest-priority override, with the old ALTIMATE_FREE_GATEWAY_URL retained as a compatibility fallback. Changing gateway origins invalidates old credentials and requires registration against the new origin.
Isolation and security
Altimate Base is inserted as a dedicated managed provider. Existing provider objects, auth stores, fetch implementations, and headers are untouched. Registration is unavailable until the TUI worker installs a per-launch in-memory consent capability. Redirects and cross-origin credential forwarding are blocked. The installation secret is hashed before registration and never leaves the machine in raw form.
Verification
- 246 pass / 2 existing provider-fixture skips across 9 focused OpenCode suites
- 4/4 TUI disclosure and registration tests
- 13/13 workspace typecheck tasks
- 33/33 release models catalog tests included in the focused total
- strict upstream marker audit clean across 11 shared files
- release build rejects missing or credential-bearing gateway URLs
- pre-push tracker-leak and typecheck hooks pass
Supersedes #1115 and closes #1114.
[!NOTE]
High Risk
Changes authentication, consent-gated registration, credential persistence, release-time gateway embedding, and default model routing for CLI/ACPโsecurity- and availability-sensitive paths.
Overview
Introduces Altimate Base (altimate-free/altimate-base) as the hosted, no-signup free tier and replaces Big Pickle as the implicit default. New users see a default-No disclosure before registration; credentials live in a dedicated store, registration sends only a hashed install secret, and inference goes through authorizedFetch with origin checks and bounded 401 handling.
Release and ops: Release builds require ALTIMATE_BASE_GATEWAY_URL (repo variable), validate HTTPS URLs at compile time, and embed the endpoint as ALTIMATE_BASE_DEFAULT_GATEWAY_URL. CI sanity builds set a test gateway URL.
Product surfaces: Provider loading pins the managed contract (project config cannot steer it), defaultModel() and ACP use requireDefaultModel and filtered catalogs so Big Pickle is never chosen silently; onboarding/telemetry events rename from Big Pickle to Altimate Base. TUI registration crosses the worker RPC with one-shot consent tokens from issueArmer().
Smaller fixes: MCP discovery adds symlink-safe resolution and .yarn/unplugged pruning; ClickHouse honors dbtโs secure TLS flag; docs and network/security FAQs describe logging, rate limits, and firewall needs.
An internal doc specifies a follow-up hermetic E2E harness (fake gateway); it is design-only in this PR.
Reviewed by Cursor Bugbot for commit f6fbfb5fddce3d3a077ea7f35139bd2dd918c29b. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by cubic
Ships the hosted Altimate Base free model (altimate-free/altimate-base) as the new implicit free fallback. Big Pickle is no longer offered as a new selection; existing Big Pickle defaults migrate to Base only after a default-No privacy disclosure, and sessions with no usable model now fail closed instead of silently starting with Big Pickle. Registration is consent-gated, and the managed provider contract is pinned so project config or models.dev can't redirect its key, model, or endpoint.
Consent and security
- Registration redeems a bare one-shot token that only the TUI worker can arm; self-constructed stores are inert and the operation is excluded from the package exports so plugins can't mint an install identifier without the disclosure.
- Disclosure defaults to No; declining persists it and returns to the curated picker, and the install secret is hashed before registration and never leaves the machine.
- Credentials live in a dedicated atomic
0600store; logout clears them but keeps the install secret. - Rejection persists only after two consecutive 401s; any non-2xx, including rotation retries, resets the counter.
- Redirects and cross-origin credential forwarding are blocked; changing the gateway origin invalidates old credentials.
- ACP and the TUI fallback resolve defaults against the same filtered provider allowlist, and explicit Big Pickle picks from
/modelor favorite cycling survive via a separate marker.
Gateway and model behavior
- Release builds embed the official endpoint from
ALTIMATE_BASE_GATEWAY_URLand fail if missing, non-HTTPS, or credential-bearing. - The static model definition now declares the gateway's 131072/65536 limits, so the default prompt no longer trips "Context budget exceeded" on the first message.
- Tunes
altimate-basesampling to its served model family (temperature 0.55, topP 1) and excludes it from reasoning-effort variants. - Adds Base-only quota/request-size error and retry-after handling plus a session header attached only to this provider.
- MCP discovery prunes
.yarn/unpluggedtrees and rejects symlinked config escaping the project; the ClickHouse driver treatssecure,tls, andsslas TLS. - Adds a hermetic e2e suite with an in-process fake gateway covering registration, catalog, inference, rate-limit/budget, and error surfacing, with suites isolated against cross-file credential leakage.
Summary by CodeRabbit
- New Features
- Added Altimate Base, a free, no-signup hosted provider with a Qwen model.
- Added an onboarding disclosure and registration flow, defaulting consent to โNo.โ
- Provider selection now prefers Altimate Base when available.
- Bug Fixes
- Improved handling of rate limits, unavailable services, oversized requests, expired credentials, and registration cancellation.
- Restricted gateway configuration to secure HTTPS URLs.
- Documentation
- Updated setup, quickstart, network, security, telemetry, and provider guidance for Altimate Base, including logging and rate-limit disclosures.