From 1fbe2b12a86bed93608b3640d51cf37c36192dff Mon Sep 17 00:00:00 2001 From: Evan Date: Fri, 14 Aug 2026 12:02:28 +0900 Subject: [PATCH 1/7] docs(openspec): define Ultrafast support --- .../.openspec.yaml | 2 ++ .../support-ultrafast-service-tier/design.md | 36 +++++++++++++++++++ .../proposal.md | 27 ++++++++++++++ .../specs/api-keys/spec.md | 18 ++++++++++ .../specs/model-catalog-compat/spec.md | 17 +++++++++ .../specs/responses-api-compat/spec.md | 16 +++++++++ .../support-ultrafast-service-tier/tasks.md | 15 ++++++++ 7 files changed, 131 insertions(+) create mode 100644 openspec/changes/support-ultrafast-service-tier/.openspec.yaml create mode 100644 openspec/changes/support-ultrafast-service-tier/design.md create mode 100644 openspec/changes/support-ultrafast-service-tier/proposal.md create mode 100644 openspec/changes/support-ultrafast-service-tier/specs/api-keys/spec.md create mode 100644 openspec/changes/support-ultrafast-service-tier/specs/model-catalog-compat/spec.md create mode 100644 openspec/changes/support-ultrafast-service-tier/specs/responses-api-compat/spec.md create mode 100644 openspec/changes/support-ultrafast-service-tier/tasks.md diff --git a/openspec/changes/support-ultrafast-service-tier/.openspec.yaml b/openspec/changes/support-ultrafast-service-tier/.openspec.yaml new file mode 100644 index 0000000000..4af864176c --- /dev/null +++ b/openspec/changes/support-ultrafast-service-tier/.openspec.yaml @@ -0,0 +1,2 @@ +schema: spec-driven +created: 2026-08-14 diff --git a/openspec/changes/support-ultrafast-service-tier/design.md b/openspec/changes/support-ultrafast-service-tier/design.md new file mode 100644 index 0000000000..369f5d93b9 --- /dev/null +++ b/openspec/changes/support-ultrafast-service-tier/design.md @@ -0,0 +1,36 @@ +## Context + +The Responses request models, upstream transports, request logs, and model registry already carry service tiers as normalized strings. They therefore preserve `ultrafast` without a transport change and can route it using live per-account catalog metadata. The remaining hard-coded allowlists are the API-key CRUD contract and dashboard controls. + +OpenAI documents `ultrafast` as an access-controlled processing tier currently available for `gpt-5.6-sol`. Entitlement must therefore come from each account's live upstream catalog instead of a static plan or bootstrap assumption. + +## Goals / Non-Goals + +**Goals:** + +- Make `ultrafast` a supported canonical API-key service tier. +- Expose the tier through the existing dashboard API-key controls. +- Preserve existing entitlement-aware account routing and response-tier logging. +- Add focused regression coverage and user-facing compatibility notes. + +**Non-Goals:** + +- Invent an `ultrafast` model-name alias. +- Advertise Ultrafast from bootstrap metadata or grant it to a plan statically. +- Add a setting, dependency, or database migration. +- Guess a distinct Ultrafast token price that OpenAI has not published. + +## Decisions + +1. Add `ultrafast` only to the existing backend and frontend API-key tier allowlists. The request models and transports already pass it through, so adding another normalization layer would duplicate working behavior. +2. Keep `ultrafast` canonical. Unlike the legacy `fast` alias, it is an upstream wire value and must not normalize to `priority`. +3. Reuse live model-catalog routing. An explicit or enforced Ultrafast request can select only accounts whose catalog advertises that tier; the existing enforced-tier fallback still removes it for models that do not advertise it. +4. Do not add Ultrafast to the bundled model catalog. Static metadata cannot prove access to an access-controlled preview and would expose a tier that an imported account may not hold. +5. Keep pricing unchanged. No distinct public Ultrafast token price is available in the official OpenAI documentation, so this change does not introduce a speculative multiplier. + +## Risks / Trade-offs + +- [An entitled account's catalog does not advertise `ultrafast`] → The existing explicit-tier routing error remains visible instead of silently selecting an ineligible account. +- [OpenAI later publishes distinct Ultrafast pricing] → Add the published rates in a focused pricing change before claiming separate cost accuracy. +- [Dashboard-visible option requires review evidence] → Include before and after screenshots in the PR body as required by the simplicity gates. + diff --git a/openspec/changes/support-ultrafast-service-tier/proposal.md b/openspec/changes/support-ultrafast-service-tier/proposal.md new file mode 100644 index 0000000000..cc3ec42afe --- /dev/null +++ b/openspec/changes/support-ultrafast-service-tier/proposal.md @@ -0,0 +1,27 @@ +## Why + +OpenAI introduced an access-controlled Ultrafast processing tier for `gpt-5.6-sol`. codex-lb already preserves unknown request tier strings, but its API-key policy and dashboard reject `ultrafast`, leaving the feature incomplete and untested. + +## What Changes + +- Accept and persist `ultrafast` as an API-key-enforced service tier. +- Expose Ultrafast in the API key create and edit controls. +- Preserve and forward the canonical `ultrafast` value through Responses-compatible routes. +- Use live upstream model-catalog entitlement data to route Ultrafast requests only to advertising accounts. +- Document the upstream availability constraint and add focused regression coverage. + +## Capabilities + +### New Capabilities + +None. + +### Modified Capabilities + +- `api-keys`: allow dashboard API keys to enforce the canonical `ultrafast` tier. +- `responses-api-compat`: define pass-through behavior for explicit and enforced Ultrafast requests. +- `model-catalog-compat`: define entitlement-aware account routing for the access-controlled tier. + +## Impact + +The change affects API-key request validation and normalization, dashboard API-key forms and translations, Responses compatibility documentation, model-catalog routing tests, and focused backend/frontend tests. It adds no dependency, setting, database migration, or bootstrap entitlement metadata. diff --git a/openspec/changes/support-ultrafast-service-tier/specs/api-keys/spec.md b/openspec/changes/support-ultrafast-service-tier/specs/api-keys/spec.md new file mode 100644 index 0000000000..4e8c7e658c --- /dev/null +++ b/openspec/changes/support-ultrafast-service-tier/specs/api-keys/spec.md @@ -0,0 +1,18 @@ +## ADDED Requirements + +### Requirement: API keys can enforce the Ultrafast service tier + +The dashboard API key CRUD surface MUST accept and persist `ultrafast` as a canonical enforced service tier. The service MUST return the same canonical value and MUST NOT normalize it to `priority`. + +#### Scenario: Create an API key with Ultrafast enforcement + +- **WHEN** a dashboard client creates an API key with `enforcedServiceTier: "ultrafast"` +- **THEN** the request is accepted +- **AND** the persisted and returned enforced service tier is `ultrafast` + +#### Scenario: Enforce Ultrafast on an advertising model + +- **GIVEN** an account model advertises the `ultrafast` service tier +- **WHEN** a request uses an API key whose enforced service tier is `ultrafast` +- **THEN** the upstream request carries `service_tier: "ultrafast"` + diff --git a/openspec/changes/support-ultrafast-service-tier/specs/model-catalog-compat/spec.md b/openspec/changes/support-ultrafast-service-tier/specs/model-catalog-compat/spec.md new file mode 100644 index 0000000000..b69a2ced33 --- /dev/null +++ b/openspec/changes/support-ultrafast-service-tier/specs/model-catalog-compat/spec.md @@ -0,0 +1,17 @@ +## ADDED Requirements + +### Requirement: Ultrafast routing follows live account entitlement + +The system MUST treat `ultrafast` as an access-controlled service tier and MUST derive account eligibility from live or retained per-account upstream catalog metadata. The bundled bootstrap catalog MUST NOT invent Ultrafast entitlement. + +#### Scenario: Only an advertising account is eligible + +- **GIVEN** two accounts advertise `gpt-5.6-sol` +- **AND** only one account advertises the `ultrafast` service tier +- **WHEN** a request explicitly asks for `service_tier: "ultrafast"` +- **THEN** account selection considers only the advertising account + +#### Scenario: Bootstrap metadata does not grant preview access + +- **WHEN** no live or retained account catalog advertises `ultrafast` +- **THEN** bootstrap model metadata does not expose or grant that tier diff --git a/openspec/changes/support-ultrafast-service-tier/specs/responses-api-compat/spec.md b/openspec/changes/support-ultrafast-service-tier/specs/responses-api-compat/spec.md new file mode 100644 index 0000000000..18d3d45ab6 --- /dev/null +++ b/openspec/changes/support-ultrafast-service-tier/specs/responses-api-compat/spec.md @@ -0,0 +1,16 @@ +## ADDED Requirements + +### Requirement: Responses routes preserve the Ultrafast service tier + +Responses-compatible routes MUST accept the canonical `ultrafast` service tier and MUST forward it unchanged. When upstream reports the actual response tier, request logging MUST preserve `ultrafast` using the existing requested, actual, and billable tier contract. + +#### Scenario: Explicit Ultrafast request is forwarded + +- **WHEN** a client sends a Responses request with `service_tier: "ultrafast"` +- **THEN** the forwarded upstream payload contains `service_tier: "ultrafast"` + +#### Scenario: Upstream confirms Ultrafast processing + +- **WHEN** upstream completes a request with `response.service_tier: "ultrafast"` +- **THEN** the actual and billable request-log tiers are `ultrafast` + diff --git a/openspec/changes/support-ultrafast-service-tier/tasks.md b/openspec/changes/support-ultrafast-service-tier/tasks.md new file mode 100644 index 0000000000..ada508d3b4 --- /dev/null +++ b/openspec/changes/support-ultrafast-service-tier/tasks.md @@ -0,0 +1,15 @@ +## 1. Backend support + +- [ ] 1.1 Accept and persist canonical `ultrafast` API-key enforcement values +- [ ] 1.2 Add focused request, API-key, catalog-routing, and logging regression coverage + +## 2. Dashboard and documentation + +- [ ] 2.1 Add Ultrafast to dashboard schemas, create/edit controls, and translations +- [ ] 2.2 Add frontend schema and interaction coverage for the new option +- [ ] 2.3 Document official availability, entitlement behavior, and a concrete request example + +## 3. Verification + +- [ ] 3.1 Validate OpenSpec artifacts and run focused backend/frontend checks +- [ ] 3.2 Run the repository local CI gate and capture dashboard before/after evidence From 1c627e78f2e3d444ece6ef0822164042940b9e61 Mon Sep 17 00:00:00 2001 From: Evan Date: Fri, 14 Aug 2026 12:53:54 +0900 Subject: [PATCH 2/7] feat(proxy): support Ultrafast service tier --- app/modules/api_keys/schemas.py | 8 ++- app/modules/api_keys/service.py | 2 +- docs/screenshots/api-key-ultrafast-after.jpg | Bin 0 -> 44244 bytes docs/screenshots/api-key-ultrafast-before.jpg | Bin 0 -> 44043 bytes docs/troubleshooting.md | 4 +- .../components/api-key-create-dialog.test.tsx | 25 ++++++++++ .../components/api-key-create-dialog.tsx | 1 + .../components/api-key-edit-dialog.test.tsx | 14 ++++++ .../components/api-key-edit-dialog.tsx | 7 ++- .../src/features/api-keys/schemas.test.ts | 17 +++++++ frontend/src/features/api-keys/schemas.ts | 2 +- frontend/src/i18n/locales/en.json | 1 + frontend/src/i18n/locales/ko.json | 1 + frontend/src/i18n/locales/zh-CN.json | 1 + .../.openspec.yaml | 0 .../design.md | 0 .../proposal.md | 0 .../specs/api-keys/spec.md | 0 .../specs/model-catalog-compat/spec.md | 0 .../specs/responses-api-compat/spec.md | 0 .../tasks.md | 15 ++++++ .../support-ultrafast-service-tier/tasks.md | 15 ------ openspec/specs/api-keys/spec.md | 16 ++++++ openspec/specs/model-catalog-compat/spec.md | 15 ++++++ .../specs/responses-api-compat/context.md | 27 ++++++++++ openspec/specs/responses-api-compat/spec.md | 13 +++++ tests/integration/test_api_keys_api.py | 47 ++++++++++++++---- tests/unit/test_api_keys_service.py | 17 +++++++ tests/unit/test_model_registry.py | 1 + tests/unit/test_openai_requests.py | 14 +++--- .../unit/test_proxy_load_balancer_refresh.py | 24 ++++----- 31 files changed, 236 insertions(+), 51 deletions(-) create mode 100644 docs/screenshots/api-key-ultrafast-after.jpg create mode 100644 docs/screenshots/api-key-ultrafast-before.jpg rename openspec/changes/{support-ultrafast-service-tier => archive/2026-08-14-support-ultrafast-service-tier}/.openspec.yaml (100%) rename openspec/changes/{support-ultrafast-service-tier => archive/2026-08-14-support-ultrafast-service-tier}/design.md (100%) rename openspec/changes/{support-ultrafast-service-tier => archive/2026-08-14-support-ultrafast-service-tier}/proposal.md (100%) rename openspec/changes/{support-ultrafast-service-tier => archive/2026-08-14-support-ultrafast-service-tier}/specs/api-keys/spec.md (100%) rename openspec/changes/{support-ultrafast-service-tier => archive/2026-08-14-support-ultrafast-service-tier}/specs/model-catalog-compat/spec.md (100%) rename openspec/changes/{support-ultrafast-service-tier => archive/2026-08-14-support-ultrafast-service-tier}/specs/responses-api-compat/spec.md (100%) create mode 100644 openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/tasks.md delete mode 100644 openspec/changes/support-ultrafast-service-tier/tasks.md diff --git a/app/modules/api_keys/schemas.py b/app/modules/api_keys/schemas.py index a8616aa1bc..9d52a6d415 100644 --- a/app/modules/api_keys/schemas.py +++ b/app/modules/api_keys/schemas.py @@ -32,7 +32,9 @@ class ApiKeyCreateRequest(DashboardModel): enforced_reasoning_effort: str | None = Field( default=None, pattern=r"(?i)^(none|minimal|low|medium|high|xhigh|max|ultra)$" ) - enforced_service_tier: str | None = Field(default=None, pattern=r"(?i)^(auto|default|priority|flex|fast)$") + enforced_service_tier: str | None = Field( + default=None, pattern=r"(?i)^(auto|default|priority|flex|fast|ultrafast)$" + ) traffic_class: str | None = Field(default=None, pattern=r"(?i)^(foreground|opportunistic)$") transport_policy_override: str | None = None usage_sections: str | None = None @@ -51,7 +53,9 @@ class ApiKeyUpdateRequest(DashboardModel): enforced_reasoning_effort: str | None = Field( default=None, pattern=r"(?i)^(none|minimal|low|medium|high|xhigh|max|ultra)$" ) - enforced_service_tier: str | None = Field(default=None, pattern=r"(?i)^(auto|default|priority|flex|fast)$") + enforced_service_tier: str | None = Field( + default=None, pattern=r"(?i)^(auto|default|priority|flex|fast|ultrafast)$" + ) traffic_class: str | None = Field(default=None, pattern=r"(?i)^(foreground|opportunistic)$") transport_policy_override: str | None = None usage_sections: str | None = None diff --git a/app/modules/api_keys/service.py b/app/modules/api_keys/service.py index 096b274841..c76b29743b 100644 --- a/app/modules/api_keys/service.py +++ b/app/modules/api_keys/service.py @@ -1346,7 +1346,7 @@ def _normalize_model_slug(value: str | None) -> str | None: _SUPPORTED_REASONING_EFFORTS = frozenset({"none", "minimal", "low", "medium", "high", "xhigh", "max", "ultra"}) -_SUPPORTED_SERVICE_TIERS = frozenset({"auto", "default", "priority", "flex"}) +_SUPPORTED_SERVICE_TIERS = frozenset({"auto", "default", "priority", "flex", "ultrafast"}) def _normalize_expires_at(value: datetime | None) -> datetime | None: diff --git a/docs/screenshots/api-key-ultrafast-after.jpg b/docs/screenshots/api-key-ultrafast-after.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9d544dfdd057a047062d0283454001ffebda4735 GIT binary patch literal 44244 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 literal 0 HcmV?d00001 diff --git a/docs/screenshots/api-key-ultrafast-before.jpg b/docs/screenshots/api-key-ultrafast-before.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d72152d63a9336d17007f8381e6dfd60fe1a9fcc GIT binary patch literal 44043 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 { expect(onSubmit.mock.calls[0][0].trafficClass).toBe("opportunistic"); }); + it("submits Ultrafast service tier", async () => { + const user = userEvent.setup(); + const onSubmit = vi.fn().mockResolvedValue(undefined); + + renderWithProviders( + , + ); + + await user.type(screen.getByLabelText("Name"), "Ultrafast key"); + await user.click(screen.getByRole("combobox", { name: /enforced service tier/i })); + await user.click(await screen.findByRole("option", { name: "Ultrafast" })); + await user.click(screen.getByRole("button", { name: "Create" })); + + await waitFor(() => { + expect(onSubmit).toHaveBeenCalledTimes(1); + }); + + expect(onSubmit.mock.calls[0][0].enforcedServiceTier).toBe("ultrafast"); + }); + it("renders and submits a transport policy override", async () => { const user = userEvent.setup(); const onSubmit = vi.fn().mockResolvedValue(undefined); diff --git a/frontend/src/features/api-keys/components/api-key-create-dialog.tsx b/frontend/src/features/api-keys/components/api-key-create-dialog.tsx index f06261b5ca..61db296101 100644 --- a/frontend/src/features/api-keys/components/api-key-create-dialog.tsx +++ b/frontend/src/features/api-keys/components/api-key-create-dialog.tsx @@ -238,6 +238,7 @@ function ApiKeyCreateForm({ busy, onClose, onSubmit }: ApiKeyCreateFormProps) { {t("common.serviceTier.default")} {t("common.serviceTier.priority")} {t("common.serviceTier.flex")} + {t("common.serviceTier.ultrafast")} diff --git a/frontend/src/features/api-keys/components/api-key-edit-dialog.test.tsx b/frontend/src/features/api-keys/components/api-key-edit-dialog.test.tsx index ae8bc94242..2afd0322df 100644 --- a/frontend/src/features/api-keys/components/api-key-edit-dialog.test.tsx +++ b/frontend/src/features/api-keys/components/api-key-edit-dialog.test.tsx @@ -484,6 +484,20 @@ describe("ApiKeyEditDialog", () => { const trafficClassSelect = screen.getByRole("combobox", { name: /traffic class/i }); expect(trafficClassSelect).toHaveTextContent("Opportunistic"); }); + + it("shows the stored Ultrafast service tier", () => { + renderWithProviders( + , + ); + + expect(screen.getByRole("combobox", { name: /enforced service tier/i })).toHaveTextContent("Ultrafast"); + }); }); describe("hasLimitRuleChanges", () => { diff --git a/frontend/src/features/api-keys/components/api-key-edit-dialog.tsx b/frontend/src/features/api-keys/components/api-key-edit-dialog.tsx index 5ebe73bdd3..80e93791a8 100644 --- a/frontend/src/features/api-keys/components/api-key-edit-dialog.tsx +++ b/frontend/src/features/api-keys/components/api-key-edit-dialog.tsx @@ -296,9 +296,11 @@ function ApiKeyEditForm({ apiKey, busy, onSubmit, onClose }: ApiKeyEditFormProps
-
{t("apiKeys.form.enforcedServiceTier")}
+
diff --git a/frontend/src/features/api-keys/schemas.test.ts b/frontend/src/features/api-keys/schemas.test.ts index ec77e0cdd7..7228ea323f 100644 --- a/frontend/src/features/api-keys/schemas.test.ts +++ b/frontend/src/features/api-keys/schemas.test.ts @@ -189,6 +189,15 @@ describe("ApiKeyCreateRequestSchema", () => { expect(parsed.enforcedReasoningEffort).toBe("ultra"); }); + it("accepts Ultrafast service tier in create payload", () => { + const parsed = ApiKeyCreateRequestSchema.parse({ + name: "Ultrafast key", + enforcedServiceTier: "ultrafast", + }); + + expect(parsed.enforcedServiceTier).toBe("ultrafast"); + }); + it("rejects invalid traffic class in create payload", () => { const result = ApiKeyCreateRequestSchema.safeParse({ name: "Bad Key", @@ -259,6 +268,14 @@ describe("ApiKeyUpdateRequestSchema", () => { expect(parsed.trafficClass).toBe("opportunistic"); }); + + it("accepts Ultrafast service tier in update payload", () => { + const parsed = ApiKeyUpdateRequestSchema.parse({ + enforcedServiceTier: "ultrafast", + }); + + expect(parsed.enforcedServiceTier).toBe("ultrafast"); + }); }); describe("LimitRuleCreateSchema", () => { diff --git a/frontend/src/features/api-keys/schemas.ts b/frontend/src/features/api-keys/schemas.ts index 5f69b5e7d7..8af6ac4803 100644 --- a/frontend/src/features/api-keys/schemas.ts +++ b/frontend/src/features/api-keys/schemas.ts @@ -30,7 +30,7 @@ const ApiKeyUsageSummarySchema = z.object({ totalCostUsd: z.number().nonnegative().default(0), }); -const SERVICE_TIERS = ["auto", "default", "priority", "flex"] as const; +const SERVICE_TIERS = ["auto", "default", "priority", "flex", "ultrafast"] as const; export type ServiceTierType = (typeof SERVICE_TIERS)[number]; export const TRAFFIC_CLASSES = ["foreground", "opportunistic"] as const; diff --git a/frontend/src/i18n/locales/en.json b/frontend/src/i18n/locales/en.json index 8f492d3039..9fbb219965 100644 --- a/frontend/src/i18n/locales/en.json +++ b/frontend/src/i18n/locales/en.json @@ -548,6 +548,7 @@ "common.serviceTier.default": "Default", "common.serviceTier.flex": "Flex", "common.serviceTier.priority": "Priority", + "common.serviceTier.ultrafast": "Ultrafast", "common.states.active": "Active", "common.states.disabled": "Disabled", "common.states.enabled": "Enabled", diff --git a/frontend/src/i18n/locales/ko.json b/frontend/src/i18n/locales/ko.json index 959b2248a4..5b2e463947 100644 --- a/frontend/src/i18n/locales/ko.json +++ b/frontend/src/i18n/locales/ko.json @@ -548,6 +548,7 @@ "common.serviceTier.default": "Default", "common.serviceTier.flex": "Flex", "common.serviceTier.priority": "Priority", + "common.serviceTier.ultrafast": "Ultrafast", "common.states.active": "활성", "common.states.disabled": "꺼짐", "common.states.enabled": "켜짐", diff --git a/frontend/src/i18n/locales/zh-CN.json b/frontend/src/i18n/locales/zh-CN.json index e96ebb1a0b..4b90ed1017 100644 --- a/frontend/src/i18n/locales/zh-CN.json +++ b/frontend/src/i18n/locales/zh-CN.json @@ -548,6 +548,7 @@ "common.serviceTier.default": "默认", "common.serviceTier.flex": "Flex", "common.serviceTier.priority": "优先", + "common.serviceTier.ultrafast": "Ultrafast", "common.states.active": "活跃", "common.states.disabled": "已禁用", "common.states.enabled": "已启用", diff --git a/openspec/changes/support-ultrafast-service-tier/.openspec.yaml b/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/.openspec.yaml similarity index 100% rename from openspec/changes/support-ultrafast-service-tier/.openspec.yaml rename to openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/.openspec.yaml diff --git a/openspec/changes/support-ultrafast-service-tier/design.md b/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/design.md similarity index 100% rename from openspec/changes/support-ultrafast-service-tier/design.md rename to openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/design.md diff --git a/openspec/changes/support-ultrafast-service-tier/proposal.md b/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/proposal.md similarity index 100% rename from openspec/changes/support-ultrafast-service-tier/proposal.md rename to openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/proposal.md diff --git a/openspec/changes/support-ultrafast-service-tier/specs/api-keys/spec.md b/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/specs/api-keys/spec.md similarity index 100% rename from openspec/changes/support-ultrafast-service-tier/specs/api-keys/spec.md rename to openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/specs/api-keys/spec.md diff --git a/openspec/changes/support-ultrafast-service-tier/specs/model-catalog-compat/spec.md b/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/specs/model-catalog-compat/spec.md similarity index 100% rename from openspec/changes/support-ultrafast-service-tier/specs/model-catalog-compat/spec.md rename to openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/specs/model-catalog-compat/spec.md diff --git a/openspec/changes/support-ultrafast-service-tier/specs/responses-api-compat/spec.md b/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/specs/responses-api-compat/spec.md similarity index 100% rename from openspec/changes/support-ultrafast-service-tier/specs/responses-api-compat/spec.md rename to openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/specs/responses-api-compat/spec.md diff --git a/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/tasks.md b/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/tasks.md new file mode 100644 index 0000000000..bf283c6da4 --- /dev/null +++ b/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/tasks.md @@ -0,0 +1,15 @@ +## 1. Backend support + +- [x] 1.1 Accept and persist canonical `ultrafast` API-key enforcement values +- [x] 1.2 Add focused request, API-key, catalog-routing, and logging regression coverage + +## 2. Dashboard and documentation + +- [x] 2.1 Add Ultrafast to dashboard schemas, create/edit controls, and translations +- [x] 2.2 Add frontend schema and interaction coverage for the new option +- [x] 2.3 Document official availability, entitlement behavior, and a concrete request example + +## 3. Verification + +- [x] 3.1 Validate OpenSpec artifacts and run focused backend/frontend checks +- [x] 3.2 Run the repository local CI gate and capture dashboard before/after evidence diff --git a/openspec/changes/support-ultrafast-service-tier/tasks.md b/openspec/changes/support-ultrafast-service-tier/tasks.md deleted file mode 100644 index ada508d3b4..0000000000 --- a/openspec/changes/support-ultrafast-service-tier/tasks.md +++ /dev/null @@ -1,15 +0,0 @@ -## 1. Backend support - -- [ ] 1.1 Accept and persist canonical `ultrafast` API-key enforcement values -- [ ] 1.2 Add focused request, API-key, catalog-routing, and logging regression coverage - -## 2. Dashboard and documentation - -- [ ] 2.1 Add Ultrafast to dashboard schemas, create/edit controls, and translations -- [ ] 2.2 Add frontend schema and interaction coverage for the new option -- [ ] 2.3 Document official availability, entitlement behavior, and a concrete request example - -## 3. Verification - -- [ ] 3.1 Validate OpenSpec artifacts and run focused backend/frontend checks -- [ ] 3.2 Run the repository local CI gate and capture dashboard before/after evidence diff --git a/openspec/specs/api-keys/spec.md b/openspec/specs/api-keys/spec.md index 2127be5b61..274490f613 100644 --- a/openspec/specs/api-keys/spec.md +++ b/openspec/specs/api-keys/spec.md @@ -1403,3 +1403,19 @@ reclamation does. - **WHEN** stale usage-reservation reclamation runs - **THEN** the reservation stays `reserved` +### Requirement: API keys can enforce the Ultrafast service tier + +The dashboard API key CRUD surface MUST accept and persist `ultrafast` as a canonical enforced service tier. The service MUST return the same canonical value and MUST NOT normalize it to `priority`. + +#### Scenario: Create an API key with Ultrafast enforcement + +- **WHEN** a dashboard client creates an API key with `enforcedServiceTier: "ultrafast"` +- **THEN** the request is accepted +- **AND** the persisted and returned enforced service tier is `ultrafast` + +#### Scenario: Enforce Ultrafast on an advertising model + +- **GIVEN** an account model advertises the `ultrafast` service tier +- **WHEN** a request uses an API key whose enforced service tier is `ultrafast` +- **THEN** the upstream request carries `service_tier: "ultrafast"` + diff --git a/openspec/specs/model-catalog-compat/spec.md b/openspec/specs/model-catalog-compat/spec.md index 8cbc2cc3ba..4c5141e9c7 100644 --- a/openspec/specs/model-catalog-compat/spec.md +++ b/openspec/specs/model-catalog-compat/spec.md @@ -1057,3 +1057,18 @@ The model catalog builders for `GET /v1/models` and `GET /backend-api/codex/mode acquisition - **THEN** the reservation is released before cancellation propagates +### Requirement: Ultrafast routing follows live account entitlement + +The system MUST treat `ultrafast` as an access-controlled service tier and MUST derive account eligibility from live or retained per-account upstream catalog metadata. The bundled bootstrap catalog MUST NOT invent Ultrafast entitlement. + +#### Scenario: Only an advertising account is eligible + +- **GIVEN** two accounts advertise `gpt-5.6-sol` +- **AND** only one account advertises the `ultrafast` service tier +- **WHEN** a request explicitly asks for `service_tier: "ultrafast"` +- **THEN** account selection considers only the advertising account + +#### Scenario: Bootstrap metadata does not grant preview access + +- **WHEN** no live or retained account catalog advertises `ultrafast` +- **THEN** bootstrap model metadata does not expose or grant that tier diff --git a/openspec/specs/responses-api-compat/context.md b/openspec/specs/responses-api-compat/context.md index 583fc9b4a8..ad23b16b77 100644 --- a/openspec/specs/responses-api-compat/context.md +++ b/openspec/specs/responses-api-compat/context.md @@ -73,6 +73,33 @@ Responses request with: Clients that expose Fast Mode as `fast` may keep using that spelling; codex-lb normalizes it to `priority` before forwarding. +### Ultrafast Processing + +The [OpenAI Responses API reference](https://developers.openai.com/api/reference/resources/responses/methods/create) +documents `ultrafast` as an access-controlled processing tier currently +available for `gpt-5.6-sol`. codex-lb forwards this canonical value unchanged; +it does not grant Ultrafast access by itself. + +Account eligibility comes from live or retained per-account upstream catalog +metadata. The bundled bootstrap catalog deliberately does not advertise +Ultrafast. If no account advertises the tier, an explicit Ultrafast request +cannot select an eligible account; API-key enforcement follows the existing +model-capability fallback when the model itself does not advertise the tier. + +Send a Responses request with: + +```json +{ + "model": "gpt-5.6-sol", + "input": "Summarize the change.", + "service_tier": "ultrafast" +} +``` + +After completion, verify that the response reports +`service_tier: "ultrafast"`. Request logs retain `ultrafast` in the requested, +actual, and effective billable tier fields when upstream confirms it. + ### Operator Fast Mode prohibition Operators can enable the Routing setting `prohibitFastMode` when qualified diff --git a/openspec/specs/responses-api-compat/spec.md b/openspec/specs/responses-api-compat/spec.md index 4f19aa8e26..16c515a769 100644 --- a/openspec/specs/responses-api-compat/spec.md +++ b/openspec/specs/responses-api-compat/spec.md @@ -5061,3 +5061,16 @@ only an inactive `unknown` operation may enter a fresh recovery attempt. - **WHEN** a duplicate request finds a submitted operation still referenced by another pending request - **THEN** the proxy refuses a second dispatch and preserves the existing spool +### Requirement: Responses routes preserve the Ultrafast service tier + +Responses-compatible routes MUST accept the canonical `ultrafast` service tier and MUST forward it unchanged. When upstream reports the actual response tier, request logging MUST preserve `ultrafast` using the existing requested, actual, and billable tier contract. + +#### Scenario: Explicit Ultrafast request is forwarded + +- **WHEN** a client sends a Responses request with `service_tier: "ultrafast"` +- **THEN** the forwarded upstream payload contains `service_tier: "ultrafast"` + +#### Scenario: Upstream confirms Ultrafast processing + +- **WHEN** upstream completes a request with `response.service_tier: "ultrafast"` +- **THEN** the actual and billable request-log tiers are `ultrafast` diff --git a/tests/integration/test_api_keys_api.py b/tests/integration/test_api_keys_api.py index 093eff9b7b..5347c7843f 100644 --- a/tests/integration/test_api_keys_api.py +++ b/tests/integration/test_api_keys_api.py @@ -4,6 +4,7 @@ import base64 import contextlib import json +from dataclasses import replace from datetime import timedelta from types import SimpleNamespace from typing import cast @@ -777,10 +778,8 @@ async def fake_stream(payload, _headers, _access_token, _account_id, base_url=No @pytest.mark.asyncio -async def test_api_key_enforces_service_tier_for_responses(async_client, monkeypatch): - await _populate_test_registry() - model_ids = sorted(_TEST_MODELS) - forced_model = model_ids[0] +async def test_api_key_enforces_ultrafast_service_tier_for_responses(async_client, monkeypatch): + forced_model = "gpt-5.6-sol" enable = await async_client.put( "/api/settings", @@ -793,27 +792,47 @@ async def test_api_key_enforces_service_tier_for_responses(async_client, monkeyp ) assert enable.status_code == 200 + account_id = await _import_account( + async_client, + "acc_enforced_ultrafast_service_tier", + "enforced-ultrafast-service-tier@example.com", + ) + advertising_model = replace( + _make_upstream_model(forced_model), + raw={"service_tiers": [{"slug": "ultrafast"}]}, + ) + await get_model_registry().update( + {"pro": [advertising_model]}, + per_account_results={account_id: ("pro", [advertising_model])}, + active_account_plans={account_id: "pro"}, + ) + created = await async_client.post( "/api/api-keys/", json={ "name": "enforced-service-tier", "allowedModels": [forced_model], "enforcedModel": forced_model, - "enforcedServiceTier": "fast", + "enforcedServiceTier": "ULTRAFAST", }, ) assert created.status_code == 200 key = created.json()["key"] - assert created.json()["enforcedServiceTier"] == "priority" - - await _import_account(async_client, "acc_enforced_service_tier", "enforced-service-tier@example.com") + assert created.json()["enforcedServiceTier"] == "ultrafast" seen: dict[str, str | None] = {} async def fake_stream(payload, _headers, _access_token, _account_id, base_url=None, raise_for_status=False): seen["service_tier"] = payload.service_tier usage = {"input_tokens": 3, "output_tokens": 2} - event = {"type": "response.completed", "response": {"id": "resp_enforced_service_tier", "usage": usage}} + event = { + "type": "response.completed", + "response": { + "id": "resp_enforced_service_tier", + "service_tier": "ultrafast", + "usage": usage, + }, + } yield f"data: {json.dumps(event)}\n\n" monkeypatch.setattr(proxy_module, "core_stream_responses", fake_stream) @@ -833,7 +852,15 @@ async def fake_stream(payload, _headers, _access_token, _account_id, base_url=No assert response.status_code == 200 _ = [line async for line in response.aiter_lines() if line] - assert seen["service_tier"] == "priority" + assert seen["service_tier"] == "ultrafast" + + async with SessionLocal() as session: + result = await session.execute(select(RequestLog).order_by(RequestLog.requested_at.desc())) + latest_log = result.scalars().first() + assert latest_log is not None + assert latest_log.requested_service_tier == "ultrafast" + assert latest_log.actual_service_tier == "ultrafast" + assert latest_log.service_tier == "ultrafast" @pytest.mark.asyncio diff --git a/tests/unit/test_api_keys_service.py b/tests/unit/test_api_keys_service.py index f31476ec0a..72fc8c7e2f 100644 --- a/tests/unit/test_api_keys_service.py +++ b/tests/unit/test_api_keys_service.py @@ -741,6 +741,23 @@ async def test_create_key_normalizes_fast_service_tier_alias() -> None: assert created.enforced_service_tier == "priority" +@pytest.mark.asyncio +async def test_create_key_preserves_ultrafast_service_tier() -> None: + repo = _FakeApiKeysRepository() + service = ApiKeysService(repo) + + created = await service.create_key( + ApiKeyCreateData( + name="ultrafast-service-tier-policy", + allowed_models=None, + enforced_service_tier=" ULTRAFAST ", + expires_at=None, + ) + ) + + assert created.enforced_service_tier == "ultrafast" + + @pytest.mark.asyncio async def test_update_key_normalizes_service_tier_alias() -> None: repo = _FakeApiKeysRepository() diff --git a/tests/unit/test_model_registry.py b/tests/unit/test_model_registry.py index 6514132b86..8b0d8a2ff4 100644 --- a/tests/unit/test_model_registry.py +++ b/tests/unit/test_model_registry.py @@ -253,6 +253,7 @@ def test_bootstrap_models_include_representative_upstream_metadata(): "ultra", ] assert sol.raw["additional_speed_tiers"] == ["fast"] + assert "ultrafast" not in str(sol.raw["service_tiers"]) terra = models["gpt-5.6-terra"] assert terra.display_name == "GPT-5.6-Terra" diff --git a/tests/unit/test_openai_requests.py b/tests/unit/test_openai_requests.py index 8a883ad4be..3545ad9c37 100644 --- a/tests/unit/test_openai_requests.py +++ b/tests/unit/test_openai_requests.py @@ -115,17 +115,18 @@ def test_known_unsupported_upstream_fields_are_stripped(): assert dumped["custom_field"] == "kept" -def test_responses_preserves_service_tier(): +@pytest.mark.parametrize("service_tier", ["priority", "ultrafast"]) +def test_responses_preserves_service_tier(service_tier: str): payload = { "model": "gpt-5.1", "instructions": "hi", "input": [], - "service_tier": "priority", + "service_tier": service_tier, } request = ResponsesRequest.model_validate(payload) dumped = request.to_payload() - assert dumped["service_tier"] == "priority" + assert dumped["service_tier"] == service_tier def test_responses_normalizes_fast_service_tier_to_priority_for_upstream(): @@ -484,16 +485,17 @@ def test_openai_compatible_top_level_verbosity_is_normalized(): assert "verbosity" not in dumped -def test_v1_responses_preserves_service_tier(): +@pytest.mark.parametrize("service_tier", ["priority", "ultrafast"]) +def test_v1_responses_preserves_service_tier(service_tier: str): payload = { "model": "gpt-5.1", "input": "hello", - "service_tier": "priority", + "service_tier": service_tier, } request = V1ResponsesRequest.model_validate(payload).to_responses_request() dumped = request.to_payload() - assert dumped["service_tier"] == "priority" + assert dumped["service_tier"] == service_tier def test_v1_responses_normalizes_fast_service_tier_to_priority_for_upstream(): diff --git a/tests/unit/test_proxy_load_balancer_refresh.py b/tests/unit/test_proxy_load_balancer_refresh.py index f4a63bc274..5f0d26925f 100644 --- a/tests/unit/test_proxy_load_balancer_refresh.py +++ b/tests/unit/test_proxy_load_balancer_refresh.py @@ -1229,26 +1229,26 @@ async def test_select_account_filters_requested_service_tier_plans(monkeypatch) @pytest.mark.asyncio async def test_select_account_filters_requested_service_tier_accounts(monkeypatch) -> None: - no_fast = _make_account("acc-tier-pro-default", "tier-pro-default@example.com") - no_fast.plan_type = "pro" - fast = _make_account("acc-tier-pro-fast", "tier-pro-fast@example.com") - fast.plan_type = "pro" + no_ultrafast = _make_account("acc-tier-pro-default", "tier-pro-default@example.com") + no_ultrafast.plan_type = "pro" + ultrafast = _make_account("acc-tier-pro-ultrafast", "tier-pro-ultrafast@example.com") + ultrafast.plan_type = "pro" now = utcnow() now_epoch = int(now.replace(tzinfo=timezone.utc).timestamp()) usage_repo = StubUsageRepository( primary={ - no_fast.id: UsageHistory( + no_ultrafast.id: UsageHistory( id=63, - account_id=no_fast.id, + account_id=no_ultrafast.id, recorded_at=now, window="primary", used_percent=1.0, reset_at=now_epoch + 300, window_minutes=5, ), - fast.id: UsageHistory( + ultrafast.id: UsageHistory( id=64, - account_id=fast.id, + account_id=ultrafast.id, recorded_at=now, window="primary", used_percent=2.0, @@ -1264,7 +1264,7 @@ async def test_select_account_filters_requested_service_tier_accounts(monkeypatc lambda: SimpleNamespace( plan_types_for_model=lambda _model: frozenset({"pro"}), account_ids_for_model_service_tier=lambda _model, tier: ( - frozenset({fast.id}) if tier == "priority" else None + frozenset({ultrafast.id}) if tier == "ultrafast" else None ), plan_types_for_model_service_tier=lambda _model, _tier: frozenset({"pro"}), ), @@ -1272,15 +1272,15 @@ async def test_select_account_filters_requested_service_tier_accounts(monkeypatc balancer = LoadBalancer( lambda: _repo_factory( - StubAccountsRepository([no_fast, fast]), + StubAccountsRepository([no_ultrafast, ultrafast]), usage_repo, StubStickySessionsRepository(), ) ) - selection = await balancer.select_account(model="gpt-5.5", service_tier="priority") + selection = await balancer.select_account(model="gpt-5.6-sol", service_tier="ultrafast") assert selection.account is not None - assert selection.account.id == fast.id + assert selection.account.id == ultrafast.id @pytest.mark.asyncio From f9ad792c30977a1b84a58a9909fb77e84363e2f3 Mon Sep 17 00:00:00 2001 From: Evan Date: Fri, 14 Aug 2026 12:54:36 +0900 Subject: [PATCH 3/7] docs(openspec): remove trailing blank lines --- .../archive/2026-08-14-support-ultrafast-service-tier/design.md | 1 - .../specs/api-keys/spec.md | 1 - .../specs/responses-api-compat/spec.md | 1 - 3 files changed, 3 deletions(-) diff --git a/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/design.md b/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/design.md index 369f5d93b9..8edd2e5838 100644 --- a/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/design.md +++ b/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/design.md @@ -33,4 +33,3 @@ OpenAI documents `ultrafast` as an access-controlled processing tier currently a - [An entitled account's catalog does not advertise `ultrafast`] → The existing explicit-tier routing error remains visible instead of silently selecting an ineligible account. - [OpenAI later publishes distinct Ultrafast pricing] → Add the published rates in a focused pricing change before claiming separate cost accuracy. - [Dashboard-visible option requires review evidence] → Include before and after screenshots in the PR body as required by the simplicity gates. - diff --git a/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/specs/api-keys/spec.md b/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/specs/api-keys/spec.md index 4e8c7e658c..591b8408d6 100644 --- a/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/specs/api-keys/spec.md +++ b/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/specs/api-keys/spec.md @@ -15,4 +15,3 @@ The dashboard API key CRUD surface MUST accept and persist `ultrafast` as a cano - **GIVEN** an account model advertises the `ultrafast` service tier - **WHEN** a request uses an API key whose enforced service tier is `ultrafast` - **THEN** the upstream request carries `service_tier: "ultrafast"` - diff --git a/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/specs/responses-api-compat/spec.md b/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/specs/responses-api-compat/spec.md index 18d3d45ab6..c2bace9663 100644 --- a/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/specs/responses-api-compat/spec.md +++ b/openspec/changes/archive/2026-08-14-support-ultrafast-service-tier/specs/responses-api-compat/spec.md @@ -13,4 +13,3 @@ Responses-compatible routes MUST accept the canonical `ultrafast` service tier a - **WHEN** upstream completes a request with `response.service_tier: "ultrafast"` - **THEN** the actual and billable request-log tiers are `ultrafast` - From 7affd39f0b41e4b5767b4419bd1516752a9da27c Mon Sep 17 00:00:00 2001 From: Evan Date: Fri, 14 Aug 2026 12:59:59 +0900 Subject: [PATCH 4/7] style(proxy): keep service tier field on one line --- app/modules/api_keys/schemas.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/app/modules/api_keys/schemas.py b/app/modules/api_keys/schemas.py index 9d52a6d415..cd3e1911ea 100644 --- a/app/modules/api_keys/schemas.py +++ b/app/modules/api_keys/schemas.py @@ -32,9 +32,7 @@ class ApiKeyCreateRequest(DashboardModel): enforced_reasoning_effort: str | None = Field( default=None, pattern=r"(?i)^(none|minimal|low|medium|high|xhigh|max|ultra)$" ) - enforced_service_tier: str | None = Field( - default=None, pattern=r"(?i)^(auto|default|priority|flex|fast|ultrafast)$" - ) + enforced_service_tier: str | None = Field(default=None, pattern=r"(?i)^(auto|default|priority|flex|(ultra)?fast)$") traffic_class: str | None = Field(default=None, pattern=r"(?i)^(foreground|opportunistic)$") transport_policy_override: str | None = None usage_sections: str | None = None @@ -53,9 +51,7 @@ class ApiKeyUpdateRequest(DashboardModel): enforced_reasoning_effort: str | None = Field( default=None, pattern=r"(?i)^(none|minimal|low|medium|high|xhigh|max|ultra)$" ) - enforced_service_tier: str | None = Field( - default=None, pattern=r"(?i)^(auto|default|priority|flex|fast|ultrafast)$" - ) + enforced_service_tier: str | None = Field(default=None, pattern=r"(?i)^(auto|default|priority|flex|(ultra)?fast)$") traffic_class: str | None = Field(default=None, pattern=r"(?i)^(foreground|opportunistic)$") transport_policy_override: str | None = None usage_sections: str | None = None From 84793bfa0df4a4b87ea8140570aba55b3a9cf7e5 Mon Sep 17 00:00:00 2001 From: Evan Date: Fri, 14 Aug 2026 13:39:50 +0900 Subject: [PATCH 5/7] docs(ui): replace Ultrafast screenshots with English --- docs/screenshots/api-key-ultrafast-after.jpg | Bin 44244 -> 83038 bytes docs/screenshots/api-key-ultrafast-before.jpg | Bin 44043 -> 82778 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/screenshots/api-key-ultrafast-after.jpg b/docs/screenshots/api-key-ultrafast-after.jpg index 9d544dfdd057a047062d0283454001ffebda4735..e9c89139dc53e02471e8ad1d1de1cfae63dbf78d 100644 GIT binary patch literal 83038 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 a=s?Aba_ukMUv9nkx1;)h{o$!k-Tw)x{9^Y2 literal 44244 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 diff --git a/docs/screenshots/api-key-ultrafast-before.jpg b/docs/screenshots/api-key-ultrafast-before.jpg index d72152d63a9336d17007f8381e6dfd60fe1a9fcc..54ecb306f2aa4ce27e38029af353c75593ab2f85 100644 GIT binary patch literal 82778 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

Y% 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�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 Date: Sat, 15 Aug 2026 12:26:15 +0900 Subject: [PATCH 6/7] docs: add @evan-choi as a contributor --- .all-contributorsrc | 9 +++++++++ README.md | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 1a7e2eb7bb..2e87ece8b4 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -1222,6 +1222,15 @@ "contributions": [ "code" ] + }, + { + "login": "evan-choi", + "name": "Evan", + "avatar_url": "https://avatars.githubusercontent.com/u/9690415?v=4", + "profile": "https://github.com/evan-choi", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index 5fa37d9099..1060a63bb9 100644 --- a/README.md +++ b/README.md @@ -282,6 +282,10 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/e rknightion
rknightion

💻 ⚠️ glopyglerky
glopyglerky

💻 ⚠️ Ahmad Maulana Iqbal
Ahmad Maulana Iqbal

💻 ⚠️ + Dvredin
Dvredin

💻 + + + Evan
Evan

💻 From 5d3bad30bfad7bf74373f3740528979fbdcfc1ad Mon Sep 17 00:00:00 2001 From: Evan Date: Sun, 16 Aug 2026 17:01:09 +0900 Subject: [PATCH 7/7] test(proxy): cover fast service tier enforcement --- tests/integration/test_api_keys_api.py | 28 ++++++++++++++++---------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/tests/integration/test_api_keys_api.py b/tests/integration/test_api_keys_api.py index 5347c7843f..7c9bb4c4af 100644 --- a/tests/integration/test_api_keys_api.py +++ b/tests/integration/test_api_keys_api.py @@ -778,7 +778,13 @@ async def fake_stream(payload, _headers, _access_token, _account_id, base_url=No @pytest.mark.asyncio -async def test_api_key_enforces_ultrafast_service_tier_for_responses(async_client, monkeypatch): +@pytest.mark.parametrize( + ("enforced_service_tier", "expected_service_tier"), + [("fast", "priority"), ("ULTRAFAST", "ultrafast")], +) +async def test_api_key_enforces_service_tier_for_responses( + async_client, monkeypatch, enforced_service_tier, expected_service_tier +): forced_model = "gpt-5.6-sol" enable = await async_client.put( @@ -794,12 +800,12 @@ async def test_api_key_enforces_ultrafast_service_tier_for_responses(async_clien account_id = await _import_account( async_client, - "acc_enforced_ultrafast_service_tier", - "enforced-ultrafast-service-tier@example.com", + f"acc_enforced_{expected_service_tier}_service_tier", + f"enforced-{expected_service_tier}-service-tier@example.com", ) advertising_model = replace( _make_upstream_model(forced_model), - raw={"service_tiers": [{"slug": "ultrafast"}]}, + raw={"service_tiers": [{"slug": expected_service_tier}]}, ) await get_model_registry().update( {"pro": [advertising_model]}, @@ -813,12 +819,12 @@ async def test_api_key_enforces_ultrafast_service_tier_for_responses(async_clien "name": "enforced-service-tier", "allowedModels": [forced_model], "enforcedModel": forced_model, - "enforcedServiceTier": "ULTRAFAST", + "enforcedServiceTier": enforced_service_tier, }, ) assert created.status_code == 200 key = created.json()["key"] - assert created.json()["enforcedServiceTier"] == "ultrafast" + assert created.json()["enforcedServiceTier"] == expected_service_tier seen: dict[str, str | None] = {} @@ -829,7 +835,7 @@ async def fake_stream(payload, _headers, _access_token, _account_id, base_url=No "type": "response.completed", "response": { "id": "resp_enforced_service_tier", - "service_tier": "ultrafast", + "service_tier": expected_service_tier, "usage": usage, }, } @@ -852,15 +858,15 @@ async def fake_stream(payload, _headers, _access_token, _account_id, base_url=No assert response.status_code == 200 _ = [line async for line in response.aiter_lines() if line] - assert seen["service_tier"] == "ultrafast" + assert seen["service_tier"] == expected_service_tier async with SessionLocal() as session: result = await session.execute(select(RequestLog).order_by(RequestLog.requested_at.desc())) latest_log = result.scalars().first() assert latest_log is not None - assert latest_log.requested_service_tier == "ultrafast" - assert latest_log.actual_service_tier == "ultrafast" - assert latest_log.service_tier == "ultrafast" + assert latest_log.requested_service_tier == expected_service_tier + assert latest_log.actual_service_tier == expected_service_tier + assert latest_log.service_tier == expected_service_tier @pytest.mark.asyncio