- 1c9f414 fix(publish-ci): sync mock-heavy test isolation with ci.yml
- 8dd0191 fix(ci): isolate mock-heavy shared tests to prevent cross-file contamination
- 9daaeed fix(test): restore shared Bun mocks after suite cleanup
- 3e13a4c fix(session-recovery): filter invalid prt_* part IDs from tool_use_id reconstruction
- 8e65d6c fix(test): make legacy-plugin-warning tests isolation-safe
- f419a3a fix(test): use Bun.spawnSync in command discovery test to avoid execFileSync mock leakage
- 1c54fda feat(compat): package rename compatibility layer for oh-my-opencode → oh-my-openagent
- d39891f docs: update hephaestus default model references from gpt-5.3-codex to gpt-5.4
- d57ed97 feat(hephaestus): upgrade default model from gpt-5.3-codex to gpt-5.4
- 6a510c0 @kuitos has signed the CLA in #2833
- b34eab3 fix(test): isolate model-capabilities from local provider cache
- 4efc181 fix(ci): resolve all test failures + complete rename compat layer
- e86edca feat(doctor): warn on legacy package name + add example configs
- a8ec927 fix(model-resolution): honor user config overrides on cold cache
- dd85d14 fix(model-requirements): align fallback models with available provider catalogs
- 682eead Merge pull request #2845 from code-yeongyu/fix/path-discovery-parity-followup
- 42f5386 fix(tests): drop duplicate tilde config regression
- 5bc019e fix(skills): remove duplicate homedir import
- 097e2be fix(slashcommand): discover nested opencode commands with slash names
- c637d77 fix(commands): discover ancestor opencode project commands
- 4c8aace fix(agents): include .agents skills in agent awareness
- 8413bc6 fix(skills): expand tilde config source paths
- 86a62ae fix(skills): discover ancestor project skill directories
- 961cc78 fix(shared): support opencode directory aliases
- 19838b7 fix(shared): add bounded project discovery helpers
- 9d4a8f2 Merge pull request #2844 from code-yeongyu/fix/opencode-followup-gaps
- 7f74272 fix(slashcommand): use slash separator for nested commands
- b20a34b fix(slashcommand): discover nested opencode commands
- 12a4318 fix(commands): load .agents skills into command config
- e4a5973 fix(agents): include .agents skills in agent awareness
- 83819a1 fix(shared): stop ancestor discovery at worktree root
- a391f44 Merge pull request #2842 from code-yeongyu/fix/opencode-skill-override-gaps
- 94b4a4f fix(slashcommand): deduplicate opencode command aliases
- 9fde370 fix(commands): preserve nearest opencode command precedence
- b6ee7f0 fix(slashcommand): discover ancestor opencode commands
- 28bcab0 fix(commands): load opencode command dirs from aliases
- b5cb50b fix(skills): discover ancestor project skill directories
- 8242500 fix(skills): expand tilde config source paths
- 6d688ac fix(shared): support opencode directory aliases
- da3e804 fix(shared): add ancestor project discovery helpers
- 23df6bd Merge pull request #2841 from code-yeongyu/fix/model-fallback-test-isolation
- 7895361 fix(tests): resolve 5 cross-file test isolation failures
- 90919bf Merge pull request #2664 from kilhyeonjun/fix/anthropic-1m-ga-context-limit
- 32f2c68 Merge pull request #2707 from MoerAI/fix/windows-symlink-config
- e6d0484 Merge pull request #2710 from MoerAI/fix/rate-limit-hang
- abd6247 Merge pull request #2752 from MoerAI/fix/quota-error-fallback-detection
- b1e0991 Merge pull request #2756 from MoerAI/fix/plugin-display-name
- 09fb364 Merge pull request #2833 from kuitos/feat/agent-order-support
- d1ff8b1 Merge pull request #2727 from octo-patch/feature/upgrade-minimax-m2.7
- 6e42b55 Merge origin/dev into feature/upgrade-minimax-m2.7 (resolve conflicts)
- 02ab83f Merge pull request #2834 from RaviTharuma/feat/model-capabilities-canonical-guardrails
- ce1bffb @ventsislav-georgiev has signed the CLA in #2840
- 4d4680b @clansty has signed the CLA in #2839
- ce877ec test(atlas): avoid shared barrel mock pollution
- ec20a82 fix(model-capabilities): align gemini aliases and alias lookup
- 5043cc2 fix(model-capabilities): harden canonical alias guardrails
- 8df3a28 @anas-asghar4831 has signed the CLA in #2837
- 087e33d Merge pull request #2832 from RaviTharuma/fix/todo-sync-priority-default
- 46c6e1d test(todo-sync): match required priority fallback
- 5befb60 feat(agent-priority): inject order field for deterministic agent Tab cycling
- 55df217 fix(todo-sync): preserve missing task priority
- 76420b3 Merge pull request #2829 from RaviTharuma/fix/model-capabilities-review-followup
- a15f607 feat(model-capabilities): add maintenance guardrails
- 7c0289d fix(model-capabilities): honor root thinking flags
- 5e9231e Merge pull request #2828 from code-yeongyu/fix/content-based-thinking-gating-v2
- f04cc0f fix(thinking-block-validator): replace model-name gating with content-based history detection
- 613ef8e fix(model-capabilities): harden runtime capability handling
- 99b3980 Merge pull request #2826 from RaviTharuma/feat/model-capabilities-models-dev
- 2af9324 feat: add models.dev-backed model capabilities
- 7a52639 Merge pull request #2673 from sanoyphilippe/fix/oauth-discovery-root-fallback
- 5df54bc Merge pull request #2725 from cphoward/fix/spawn-budget-lifetime-semantics-clean
- cd04e6a Merge pull request #2751 from sjawhar/fix/atlas-subagent-agent-guard
- e974b15 Merge pull request #2701 from tonymfer/fix/lsp-initialization-options
- 6f213a0 Merge pull request #2686 from sjawhar/fix/look-at-respect-configured-model
- 71004e8 Merge pull request #2583 from Jrakru/fix/start-work-atlas-handoff
- 5898d36 Merge pull request #2575 from apple-ouyang/fix/issue-2571-subagent-safeguards
- 90aa3e4 Merge pull request #2589 from MoerAI/fix/plan-agent-continuation-loop
- 2268ba4 Merge pull request #2262 from Stranmor/feat/prompt-file-uri-support
- aca9342 Merge pull request #2345 from DarkFunct/fix/todo-sync-priority-null
- a3519c3 Merge pull request #2544 from djdembeck/fix/quick-anti-loop-v2
- e610d88 Merge pull request #2594 from MoerAI/fix/subagent-fallback-model-v2
- ed09bf5 Merge pull request #2674 from RaviTharuma/fix/dedup-delegated-model-config
- 1d48518 Merge pull request #2643 from RaviTharuma/feat/model-settings-compatibility-resolver
- d6d4cec Merge pull request #2622 from RaviTharuma/feat/object-style-fallback-models
- 9d93065 test(restack): drop stale compatibility expectations
- f86b8b3 fix(review): align model compatibility and prompt param helpers
- 1f5d770 refactor(delegate-task): deduplicate DelegatedModelConfig + registry refactor
- 1e70f64 chore(schema): refresh generated fallback model schema
- d4f962b feat(model-settings-compat): add variant/reasoningEffort compatibility resolver
- fb08553 test(background-agent): restore spawner createTask import
- e5c5438 fix(delegate-task): gate fallback settings to real fallback matches
- a77a16c feat(config): support object-style fallback_models with per-model settings
- 7761e48 Merge pull request #2592 from MoerAI/fix/gemini-quota-fallback
- d7a1945 fix(plugin-loader): preserve scoped npm package names in plugin key parsing
- 44fb114 fix(runtime-fallback): rename misleading test to match actual behavior
- bf804b0 fix(shared): restrict cached Anthropic 1M context to GA 4.6 models only
- c4aa380 Merge pull request #2734 from ndaemy/fix/remove-duplicate-ultrawork-separator
- 993bd51 Merge pull request #2524 from Gujiassh/fix/session-todo-filename-match
- 7327439 Merge pull request #2533 from Gujiassh/fix/background-task-metadata-id
- bff5734 Merge pull request #2443 from tc9011/fix/github-copilot-model-version
- f16d55a fix: add errorName-based quota detection and strengthen test coverage
- 3c49bf3 Merge branch 'code-yeongyu:dev' into fix/oauth-discovery-root-fallback
- 29a7bc2 fix(plugin): display friendly name in configuration UI instead of file path (fixes #2644)
- 62d2704 fix(runtime-fallback): detect prettified quota errors without HTTP status codes (fixes #2747)
- db32bad fix(look-at): respect configured multimodal-looker model instead of overriding via dynamic fallback
- 5777bf9 fix(atlas): restore agent mismatch guard for subagent boulder continuation (#18681)
- 07ea8de fix(keyword-detector): remove duplicate separator from ultrawork templates
- 0d52519 feat: upgrade MiniMax from M2.5 to M2.7 and expand to more agents/categories
- 031503b test(background-agent): add regression tests for spawn budget decrement on task completion
- 5986583 fix(background-agent): decrement spawn budget on task completion, cancellation, error, and interrupt
- 3773e37 fix(runtime-fallback): detect bare 429 rate-limit signals (fixes #2677)
- 23a30e8 fix(windows): resolve symlinked config paths for plugin detection (fixes #2271)
- 04637ff fix(lsp): wrap initialization config in initializationOptions field
- 0d96e0d Fix OAuth discovery for servers with non-root resource paths
- 719a582 fix(shared): respect cached model context limits for Anthropic providers post-GA
- 11d942f fix(runtime-fallback): detect Gemini quota errors in session.status retry events
- 2b6b083 fix(todo-continuation-enforcer): add plan agent to DEFAULT_SKIP_AGENTS to prevent infinite loop
- abdd39d fix(agent-registration): always attempt fallback when model resolution fails
- 711aac0 fix: preserve atlas handoff on start-work
- f2b26e5 fix(delegate-task): add subagent turn limit and model routing transparency
- a7a7799 fix(agents): add termination criteria to Sisyphus-Junior default
- 1e0823a fix(delegate-task): report the real background task id
- edfa411 fix(session-manager): match todo filenames exactly
- 6d8bc95 fix: github copilot model version for Sisyphus agent
- 229c6b0 fix(todo-sync): provide default priority to prevent SQLite NOT NULL violation
- 3eb9711 feat: support file:// URIs in agent prompt field
Thank you to 16 community contributors:
- @Stranmor:
- feat: support file:// URIs in agent prompt field
- @DarkFunct:
- fix(todo-sync): provide default priority to prevent SQLite NOT NULL violation
- @tc9011:
- fix: github copilot model version for Sisyphus agent
- @Gujiassh:
- fix(session-manager): match todo filenames exactly
- fix(delegate-task): report the real background task id
- @djdembeck:
- fix(agents): add termination criteria to Sisyphus-Junior default
- @apple-ouyang:
- fix(delegate-task): add subagent turn limit and model routing transparency
- @Jrakru:
- fix: preserve atlas handoff on start-work
- @MoerAI:
- fix(agent-registration): always attempt fallback when model resolution fails
- fix(todo-continuation-enforcer): add plan agent to DEFAULT_SKIP_AGENTS to prevent infinite loop
- fix(runtime-fallback): detect Gemini quota errors in session.status retry events
- fix(windows): resolve symlinked config paths for plugin detection (fixes #2271)
- fix(runtime-fallback): detect bare 429 rate-limit signals (fixes #2677)
- fix(runtime-fallback): detect prettified quota errors without HTTP status codes (fixes #2747)
- fix(plugin): display friendly name in configuration UI instead of file path (fixes #2644)
- fix: add errorName-based quota detection and strengthen test coverage
- fix(runtime-fallback): rename misleading test to match actual behavior
- fix(plugin-loader): preserve scoped npm package names in plugin key parsing
- @kilhyeonjun:
- fix(shared): respect cached model context limits for Anthropic providers post-GA
- @sanoyphilippe:
- Fix OAuth discovery for servers with non-root resource paths
- Merge branch 'code-yeongyu:dev' into fix/oauth-discovery-root-fallback
- @tonymfer:
- fix(lsp): wrap initialization config in initializationOptions field
- @cphoward:
- fix(background-agent): decrement spawn budget on task completion, cancellation, error, and interrupt
- test(background-agent): add regression tests for spawn budget decrement on task completion
- @ndaemy:
- fix(keyword-detector): remove duplicate separator from ultrawork templates
- @sjawhar:
- fix(atlas): restore agent mismatch guard for subagent boulder continuation (#18681)
- fix(look-at): respect configured multimodal-looker model instead of overriding via dynamic fallback
- @RaviTharuma:
- feat(config): support object-style fallback_models with per-model settings
- fix(delegate-task): gate fallback settings to real fallback matches
- test(background-agent): restore spawner createTask import
- feat(model-settings-compat): add variant/reasoningEffort compatibility resolver
- chore(schema): refresh generated fallback model schema
- refactor(delegate-task): deduplicate DelegatedModelConfig + registry refactor
- fix(review): align model compatibility and prompt param helpers
- test(restack): drop stale compatibility expectations
- feat: add models.dev-backed model capabilities
- fix(model-capabilities): harden runtime capability handling
- fix(model-capabilities): honor root thinking flags
- feat(model-capabilities): add maintenance guardrails
- fix(todo-sync): preserve missing task priority
- test(todo-sync): match required priority fallback
- fix(model-capabilities): harden canonical alias guardrails
- fix(model-capabilities): align gemini aliases and alias lookup
- test(atlas): avoid shared barrel mock pollution
- @kuitos:
- feat(agent-priority): inject order field for deterministic agent Tab cycling