Repository navigation
test(models): assert the hidden-modality premise on stored rows (#15306) - #16150
shipsfromrio wants to merge 3 commits into
Conversation
…per-inference#15306) The premise case in model-hidden-dashboard-modality-read read the override through GET /api/provider-models and asserted the row carries no legacy isHidden key. cheaper-inference#15900 (17b8c2b) made that GET decorate every override with a derived isHidden = isHiddenForModality(override, "chat") for legacy dashboard clients, so the key is always present in the projection and the case failed deterministically. The premise is about storage, so read the persisted row through getModelCompatOverrides() and keep the no-legacy-flag guard there; also assert the GET projection reports isHidden: true, pinning cheaper-inference#15900's contract.
|
Hi @shipsfromrio — closing this pull request to clear the open queue. The branch |
|
Hi @shipsfromrio — reopening this pull request. The close was a mistake, and it is back in the merge queue. The branch |
Merge the current release while preserving both the persisted-row premise and dashboard projection checks from PR cheaper-inference#16150. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
|
Thank you @shipsfromrio. I reconciled the conflict with release The overlapping #16420 repair had already separated the stored legacy flag from the API projection. This reconciliation retains your explicit stored-row existence and
This resolves the local conflict, not full merge admission. Required current-candidate CI is still needed; no queue label, merge, administrative bypass or deploy was performed. |
Preserve both stored modality flags and projected visibility assertions. Current focused suite on release ad37e8f: 8/8 pass, zero skips or cancellations. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
Relay continuation — scoped reconciliation, not merge acceptanceThanks @shipsfromrio. Reconciled this original PR with pinned release 8/8 focused visibility tests PASS; both persisted modality flags and dashboard projections remain explicitly asserted. Node 24.20.0 / npm 11.15.0; unchanged lockfile SHA-256 |
|
Closing: this only restates the hidden-modality premise already tracked on base-red #15306 and does not change production behavior. Thanks @shipsfromrio. |
|
Owner decision readback — 2026-10-16 After reviewing the conflicting closure, the owner explicitly selected option B: reopen #15945 and #16150 and retain them in the previously approved Relay integration group. Reopening this original PR follows that newer decision; it is not a merge or a waiver of CI. The head remains Thanks @shipsfromrio. Original commits and attribution will be preserved. This PR is being coordinated by the Relay continuation; please do not re-close it based on the superseded closure decision. We will revalidate against the current release and will not enqueue or merge until all applicable current-candidate gates pass. No administrative bypass or direct release push is authorized. |
|
Closing as already on |
|
Thanks @shipsfromrio. The hidden-modality premise test was already fixed on the tip by #16420 (it reads the stored override and asserts |
Problem
tests/unit/model-hidden-dashboard-modality-read.test.tsfails deterministically onrelease/v3.8.52(one of the base-reds in #15306):#15900 made
GET /api/provider-modelsdecorate every override row with a derivedisHidden: isHiddenForModality(override, "chat")for legacy dashboard clients (src/app/api/provider-models/route.ts). The premise case read the row through that GET and asserted the key was absent, so it now always fails. Production is correct: the chat-scoped PATCH still stores onlyhiddenModalities.chat.Fix (test only)
getModelCompatOverrides()and keeps the "no legacyisHidden" guard there, unchanged in strictness.isHidden: true, pinning the fix(models): expose chat-scoped visibility to legacy dashboard clients #15900 contract.Tests
The file passes 8/8 (3 consecutive runs). Related suites pass:
auto-combo-hidden-models-4558,db-models-split,model-hidden-modality-scope-12172,models-catalog-route,noauth-autocombo-hidden-7620,noauth-sibling-compat-override-7620,provider-models-management-route(73/73), and the vitestmodel-hidden-dashboard-visibility(4/4).Refs #15306