Skip to content

fix(sse): a partial OpenCode account sync no longer rejects the other keyless free models (#15540) - #16042

Merged
diegosouzapw merged 1 commit into
release/v3.8.52from
fix/15540-opencode-partial-live-catalog
Oct 15, 2026
Merged

diegosouzapw merged 1 commit into
release/v3.8.52from
fix/15540-opencode-partial-live-catalog

Conversation

@diegosouzapw

Copy link
Copy Markdown
Collaborator

⚠️ base-red inherited: #15306

What

A real OpenCode connection whose model sync returns a single model made that list the authoritative live catalog for opencode. Combo targets addressed as oc/<model> were then skipped with model is not in the live catalog, even though the keyless Free tier serves them.

Reporter's log (discussion #15540, clean install, only free providers): ModelSync: OpenCode Account 1: ✓ 1 models, then 9 of 10 auto/claude-opus targets skipped with that message; every request ended in 503.

Change

opencode registry entry gets liveCatalogAuthoritative: false (the same opt-out vertex, command-code and oneminai already use), so a partial discovery informs metadata but never rejects a registry model.

Test (TDD)

tests/unit/opencode-free-synced-catalog-and-no-connection-15540.test.ts

  • A (red before, green after): a connection with a one-model synced catalog; oc/ and opencode/ free models must resolve. Before the change oc/muse-spark-1.2 failed with "not available in the active live catalog for provider 'opencode'".
  • B (guard, passes before and after): with no opencode row and the combo's forced noauth pin, the synthetic keyless credentials still come back.

Ran with 160 neighbouring catalog/route tests: all pass.

Not covered

The reporter's second symptom (all 10 targets no credentials available or model excluded after deleting the connection) is not reproduced by test B, so this PR does not claim to fix it. It stays open in discussion #15540 and #15889 (missing log lines). The 403 from the first report was not present in these logs either.

Refs #15540. Does not close it.

… keyless free models (#15540)

A real OpenCode connection whose model sync returned a single model made that
list authoritative, so combo targets addressed as oc/<model> were skipped with
"model is not in the live catalog" even though the keyless free tier serves
them. OpenCode now opts out of the authoritative live catalog.

Test: with a one-model synced catalog, oc/ and opencode/ prefixed free models
resolve; with no opencode row, the forced noauth pin still yields the
synthetic credentials (guard, did not reproduce the reporter's 503).
@diegosouzapw

Copy link
Copy Markdown
Collaborator Author

Fechando esta PR para esvaziar a fila aberta. A branch fix/15540-opencode-partial-live-catalog não é apagada. Se ainda precisar entrar, comente aqui que reabrimos.

@diegosouzapw

Copy link
Copy Markdown
Collaborator Author

Reabrindo. O fechamento foi um engano; esta PR volta para a fila de merge. A branch continua no lugar.

@diegosouzapw diegosouzapw reopened this Oct 10, 2026
@diegosouzapw
diegosouzapw marked this pull request as ready for review October 15, 2026 19:53
@diegosouzapw
diegosouzapw merged commit 114e578 into release/v3.8.52 Oct 15, 2026
80 of 85 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

CI Coverage Report

  • Coverage job: skipped
  • PR test policy: success

Coverage artifact was not available for this run.

@diegosouzapw
diegosouzapw deleted the fix/15540-opencode-partial-live-catalog branch October 18, 2026 23:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant