feat(providers): default to OpenCode free models - #4
Merged
Conversation
Fresh installs previously centered on Codex/Claude: Codex was the hardcoded default provider and model everywhere, and OpenCode was opt-in and off. This flips the product to OpenCode-first: OpenCode installs itself on boot (npm, or a curl release download when npm is missing), stays enabled by default, and new threads resolve to the free model (Big Pickle first, then any *-free Zen model). Codex and Claude become opt-in; onboarding shows only OpenCode. Built with Muse Spark (opencode-go/muse-spark) via T3 Code OpenCode harness.
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.
Fresh installs centered on Codex/Claude: Codex was the hardcoded default provider and model everywhere, and OpenCode was opt-in and off.
This flips the product to OpenCode-first:
Verification: ~700 tests green across 15 focused suites (incl. new free-model and install-fallback tests), typecheck clean on contracts/shared/server/web/mobile, lint clean. Full ProviderRegistry.test.ts passes (50/50); its real-spawner tests explicitly disable built-in probes again so the suite stays hermetic.
Also adds an AGENTS.md machine-safety rule (never detach background processes) learned from this branch's dev loop.
Built with Muse Spark (opencode-go/muse-spark) via T3 Code OpenCode harness.