Skip to content

inherit delegated model selection and improve Ollama Cloud flow#8500

Open
AiRC-ai wants to merge 5 commits intoaaif-goose:mainfrom
AiRC-ai:codex/upstream-tested-fixes
Open

inherit delegated model selection and improve Ollama Cloud flow#8500
AiRC-ai wants to merge 5 commits intoaaif-goose:mainfrom
AiRC-ai:codex/upstream-tested-fixes

Conversation

@AiRC-ai
Copy link
Copy Markdown

@AiRC-ai AiRC-ai commented Apr 12, 2026

Summary

  • treat inherit as a sentinel for delegated provider/model selection so subagents correctly fall back to the active parent session instead of passing inherit through literally
  • persist auth override updates for fixed declarative providers and refresh the provider/model picker after saving so the UI reflects changes immediately
  • surface live Ollama Cloud models without canonical filtering while still mapping ollama_cloud to canonical metadata so context limits and related model metadata resolve correctly

Validation

  • cargo fmt --all
  • cargo test -p goose summon -- --test-threads=1
  • cargo test -p goose declarative_providers -- --test-threads=1
  • cargo test -p goose test_map_to_canonical_model -- --test-threads=1
  • cargo test -p goose with_canonical_limits -- --test-threads=1
  • source bin/activate-hermit && cd ui/desktop && pnpm run typecheck
  • source bin/activate-hermit && just package-ui

Manual verification

  • delegated agents inherit the active parent provider/model when inherit is specified
  • updating an Ollama Cloud API key persists correctly through the provider settings flow
  • the Ollama Cloud model list refreshes and repopulates after provider updates
  • canonical context window metadata is shown correctly for Ollama Cloud models

Notes

This branch combines the tested subagent inheritance fixes with the Ollama Cloud and declarative provider flow improvements into a single reviewable change set.

Ryan Cox and others added 5 commits April 12, 2026 16:36
Signed-off-by: Ryan Cox <ryancox@GoDSyNcs-MBP.godsync.com>
Signed-off-by: Abhijay Jain <Abhijay007j@gmail.com>
Signed-off-by: Abhijay Jain <Abhijay007j@gmail.com>
Signed-off-by: Ryan Cox <ryancox@GoDSyNcs-MBP.godsync.com>
Signed-off-by: Ryan Cox <ryancox@GoDSyNcs-MBP.godsync.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 37d221228b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +313 to +315
if !existing_config.api_key_env.is_empty() {
let _ = config.delete_secret(&existing_config.api_key_env);
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Avoid deleting shared API key when disabling fixed-provider auth

In update_custom_provider, the non-editable requires_auth == false branch deletes existing_config.api_key_env and then drops any shadow override. For fixed declarative providers that still default to requires_auth: true, this means the disable-auth toggle is not actually persisted, but the stored secret is still erased, so the provider will fail on next use; this can also break other providers that reuse the same env var key (for example MOONSHOT_API_KEY). Persist an explicit auth override or avoid deleting the secret in this path.

Useful? React with 👍 / 👎.

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.

2 participants