Skip to content

Keep background models on the conversation gateway - #262

Draft
anabellabuckvar wants to merge 1 commit into
boldsoftware:mainfrom
anabellabuckvar:fix/workhorse-gateway-install-errors
Draft

Keep background models on the conversation gateway#262
anabellabuckvar wants to merge 1 commit into
boldsoftware:mainfrom
anabellabuckvar:fix/workhorse-gateway-install-errors

Conversation

@anabellabuckvar

Copy link
Copy Markdown

Match workhorse models by provider, source, and base URL so background requests cannot cross user accounts. Return JIT installation failures as explicit Bash and Shell tool errors instead of swallowing them.

@cla-bot

cla-bot Bot commented Aug 18, 2026

Copy link
Copy Markdown

We require contributors to sign our Contributor License Agreement, and we don't have you on file. In order for us to review and merge your code, please contact @crawshaw at david@bold.dev to get yourself added.

@philz

philz commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Hi!

Can you explain what you're trying to accomplish here?

Match workhorse models by provider, source, and base URL so background requests cannot cross user accounts. Return JIT installation failures as explicit Bash and Shell tool errors instead of swallowing them.

Co-authored-by: Shelley <shelley@exe.dev>
@anabellabuckvar
anabellabuckvar force-pushed the fix/workhorse-gateway-install-errors branch from fd1369e to d15aab9 Compare September 9, 2026 16:16
@cla-bot

cla-bot Bot commented Sep 9, 2026

Copy link
Copy Markdown

We require contributors to sign our Contributor License Agreement, and we don't have you on file. In order for us to review and merge your code, please contact @crawshaw at david@bold.dev to get yourself added.

@anabellabuckvar

Copy link
Copy Markdown
Author

Hi!

Can you explain what you're trying to accomplish here?

@philz Hi of course. Since we run a fleet of Shelley instances whose catalogs can hold models from more than one gateway for the same provider (distinct base URLs and sources, same Provider), with provider-only matching, a conversation running on a model from one gateway can have its background calls land on a cheap model registered on a different gateway. So the PR pins the workhorse to the conversation model's Source + BaseURL, falling back to the conversation model. If the cross-gateway fallback is intentional, please let me know and we'll adjust on our side instead.

The JIT-install half is how this surfaced for us, twice: once the install-validation call went to a cross-gateway workhorse whose gateway was out of usage, and once an install-path request hit a URL our egress allowlist doesn't permit. In both cases the actual error was only in a debug log and the agent just saw command not found. Returning the install failure as the tool error makes that diagnosable.

Happy to explain further and split the two changes into separate PRs if that's easier.

@anabellabuckvar
anabellabuckvar marked this pull request as ready for review September 9, 2026 16:45
@anabellabuckvar
anabellabuckvar marked this pull request as draft September 9, 2026 17:14
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