Skip to content

surface per-app provider pins that silently override the task schedule - #6392

Merged
atomantic merged 1 commit into
mainfrom
cos/task-mtpx04ly/agent-7e3388f9
Sep 6, 2026
Merged

surface per-app provider pins that silently override the task schedule#6392
atomantic merged 1 commit into
mainfrom
cos/task-mtpx04ly/agent-7e3388f9

Conversation

@atomantic

Copy link
Copy Markdown
Owner

Summary

  • An app's per-task provider/model pin always wins over the global Task Schedule's pin at spawn time (Honor the per-app provider/model override for every task type, and edit it from one control #4783), but nothing showed a pin was even set unless you expanded that row's Configure panel.
  • layered-intelligence is the concrete case: its global schedule pin points at the fleet GPU OpenCode provider, but a stale per-app pin (carried over from the old global-job migration) silently kept routing every run to the local Ollama provider instead, with no visible sign of the mismatch anywhere in the UI.
  • Add a "Provider override" badge to the collapsed row in the app's Automation tab whenever the app's pin names a different provider than the schedule's own pin, so the divergence is visible at a glance.
  • Extracted the check into a providerPinDivergesFromSchedule helper alongside the existing hasProviderPin/providerPinPatch pair so other surfaces can reuse it.

Test plan

  • client/node_modules/.bin/vitest run src/components/apps/tabs/AutomationTab.test.jsx src/components/cos/constants.test.js — 61/61 pass, including 4 new cases covering diverges/matches/no-override.
  • client/node_modules/.bin/biome lint --error-on-warnings on all 4 changed files — clean.

An app's per-task provider/model pin always wins over the global Task
Schedule's pin at spawn time (#4783), but nothing showed that a pin was
even set unless you expanded that row's Configure panel. That let a
schedule-level provider change look like it took effect when a stale
per-app pin was still routing every run elsewhere -- e.g. layered-
intelligence's schedule pin pointed at the fleet GPU OpenCode provider
while migration 184's per-app pin (carried over from the old global job)
kept routing it to the local Ollama provider instead, with no visible
sign of the mismatch anywhere in the UI.

Add a "Provider override" badge to the collapsed row whenever the app's
pin names a different provider than the schedule's own pin, and extract
the divergence check into a `providerPinDivergesFromSchedule` helper
alongside the existing `hasProviderPin`/`providerPinPatch` pair so other
surfaces can reuse it.
@atomantic
atomantic merged commit 39ae3e6 into main Sep 6, 2026
7 checks passed
@atomantic
atomantic deleted the cos/task-mtpx04ly/agent-7e3388f9 branch September 6, 2026 14:51
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.

1 participant