The set of Ollama Cloud model IDs is declared in two places that must stay in sync:
the agent→model registry in .gitea/workflows/scripts/route.sh (the model field for each agent)
the provider models: map in .gitea/workflows/scripts/install-opencode.sh
If a model in the registry is not also declared in the provider config, routing to that agent fails at runtime — the model is not a valid provider model. Today they happen to match, but nothing enforces it: a future edit to one file silently breaks an agent.
Please make this robust to drift. Pick the simplest approach that fits the repo conventions:
derive one list from the other (single source of truth), or
add a small guard in route.sh that fails fast with a clear message if the chosen model is not present in the provider config.
Constraints:
Keep the change minimal and match the existing shell/jq style.
Do NOT change which model each agent uses, and do NOT touch the routing or trigger-gate logic.
You do not have network access to the Ollama API in this job — compare the two files, no live API calls.
@senior
The set of Ollama Cloud model IDs is declared in two places that must stay in sync:
- the agent→model registry in `.gitea/workflows/scripts/route.sh` (the `model` field for each agent)
- the provider `models:` map in `.gitea/workflows/scripts/install-opencode.sh`
If a model in the registry is not also declared in the provider config, routing to that agent fails at runtime — the model is not a valid provider model. Today they happen to match, but nothing enforces it: a future edit to one file silently breaks an agent.
Please make this robust to drift. Pick the simplest approach that fits the repo conventions:
- derive one list from the other (single source of truth), or
- add a small guard in route.sh that fails fast with a clear message if the chosen model is not present in the provider config.
Constraints:
- Keep the change minimal and match the existing shell/jq style.
- Do NOT change which model each agent uses, and do NOT touch the routing or trigger-gate logic.
- You do not have network access to the Ollama API in this job — compare the two files, no live API calls.
@senior
🔨@senior is on it — building on branch ai/issue-29. I'll open a PR when it's ready.
🔨 **@senior** is on it — building on branch [`ai/issue-29`](https://git.ffaerber.duckdns.org/ffaerber/agents/src/branch/ai/issue-29). I'll open a PR when it's ready.
The goal is to prevent drift between the agent model registry in .gitea/workflows/scripts/route.sh and the provider config in .gitea/workflows/scripts/install-opencode.sh.
Since the registry defines which model is assigned to which agent, it should remain the primary source of truth for routing, but the provider config must contain these models to ensure they are installed/available.
Proposed Plan:
Add a validation check in route.sh that verifies the model assigned to the selected agent exists within the models map of the provider configuration. If it is missing, the script will exit with a clear error message. This ensures a "fail-fast" mechanism without introducing complex synchronization logic.
I will assign this to @senior as it involves multi-file analysis and shell/jq implementation.
@ffaerber ready to start building? reply yes to proceed.
🤖 **@pm**
The goal is to prevent drift between the agent model registry in `.gitea/workflows/scripts/route.sh` and the provider config in `.gitea/workflows/scripts/install-opencode.sh`.
Since the registry defines which model is assigned to which agent, it should remain the primary source of truth for routing, but the provider config must contain these models to ensure they are installed/available.
**Proposed Plan:**
Add a validation check in `route.sh` that verifies the model assigned to the selected agent exists within the `models` map of the provider configuration. If it is missing, the script will exit with a clear error message. This ensures a "fail-fast" mechanism without introducing complex synchronization logic.
I will assign this to **@senior** as it involves multi-file analysis and shell/jq implementation.
@ffaerber ready to start building? reply yes to proceed.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The set of Ollama Cloud model IDs is declared in two places that must stay in sync:
.gitea/workflows/scripts/route.sh(themodelfield for each agent)models:map in.gitea/workflows/scripts/install-opencode.shIf a model in the registry is not also declared in the provider config, routing to that agent fails at runtime — the model is not a valid provider model. Today they happen to match, but nothing enforces it: a future edit to one file silently breaks an agent.
Please make this robust to drift. Pick the simplest approach that fits the repo conventions:
Constraints:
@senior
🔨 @senior is on it — building on branch
ai/issue-29. I'll open a PR when it's ready.Closing — mis-filed (routed straight to a dev and included CI-internal detail). Re-filing so @pm triages it.
🤖 @pm
The goal is to prevent drift between the agent model registry in
.gitea/workflows/scripts/route.shand the provider config in.gitea/workflows/scripts/install-opencode.sh.Since the registry defines which model is assigned to which agent, it should remain the primary source of truth for routing, but the provider config must contain these models to ensure they are installed/available.
Proposed Plan:
Add a validation check in
route.shthat verifies the model assigned to the selected agent exists within themodelsmap of the provider configuration. If it is missing, the script will exit with a clear error message. This ensures a "fail-fast" mechanism without introducing complex synchronization logic.I will assign this to @senior as it involves multi-file analysis and shell/jq implementation.
@ffaerber ready to start building? reply yes to proceed.