Repository navigation
Accept OpenCode model IDs in the T3 sheet - #13
Merged
Merged
Conversation
parseEntry splits an entry at its first slash, so a model ID that carries its own (OpenCode's <provider>/<model>) is kept whole. family reads the model ID's last slash part, so a route prefix does not decide the family.
Owner
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The T3 sheet checker rejects every OpenCode target. OpenCode names its models
<provider>/<model>, so an entry for an OpenCode provider instance reads likeopencode/openrouter/x-ai/grok-4.7.parseEntryallows only one/, so setup-pstack cannot write that line. A machine whose only Grok comes through OpenCode then cannot seat a third family on the panels.What changed
parseEntrysplits an entry at its first/and keeps the rest as the model ID. A provider instance ID cannot contain/, so the split has one reading.familyreads the last/part of the model ID. Without that, an OpenCode route prefix becomes part of the family: the modelopenrouter/anthropic/claude-opus-5-5would count as a different family fromclaude-opus-5-5.t3-tools.mdstates both rules.Tests
tests/t3-sheet.test.mjsgains two cases. One checks that a slashed model ID parses and a trailing/is still rejected. The other checks thatfamilyignores a route prefix. Both fail onmainand pass on this branch.bun tools/generate.mjs --check: 90 generated files current.bun test tests/: 1217 pass, 54 skip, 0 fail.tests/skill-collision-repro.shandtests/copilot-smoke.sh.Versioning
VERSIONandCHANGES.mdare unchanged, so the fix ships with the next release and does not collide with #12.