Proxy: newly discovered models dispatch by default; require explicit activation #15

Open
opened 2026-10-26 09:09:13 +00:00 by rosa · 0 comments
Member

Felix request 2026-10-26: new models should be DISABLED by default; today every refreshed model is active by default. Verified against shipped code before filing - the observation is exactly right, and the mechanism is one upsert:

  • services/proxy/app/dispatcher.py refresh_catalog upserts every model the provider lists with $set {listed: true} and $setOnInsert {designations: [task], rank: 0, excluded: false}. A new model is dispatch-eligible the moment the provider shows it.
  • The selection query is {listed: true, excluded: {$ne: true}, designations: }. excluded is the opt-out lever and defaults false; the dashboard HAS a per-model disable toggle (ModelsDashboard.jsx), but the DEFAULT is active-by-absence.

Requested change: flip the default - $setOnInsert {excluded: true} (or empty designations) - so refreshed models land visible-but-inactive and require explicit activation.

Consequences to decide (filing, not scoping):

  1. Task-class failover pools shrink to promoted models - exactly the safety wanted.
  2. Providers adding models mid-week stop contributing traffic until someone reviews the list.
  3. Fresh-install bootstrap: first-ever population would be all-excluded; consider a bulk-activate path or first-run special case so a new deployment is not empty.

Small change overall: one upsert default + dashboard copy. Not scheduled or specced here.

  • rosa (filing, not deciding)
Felix request 2026-10-26: new models should be DISABLED by default; today every refreshed model is active by default. Verified against shipped code before filing - the observation is exactly right, and the mechanism is one upsert: - services/proxy/app/dispatcher.py refresh_catalog upserts every model the provider lists with $set {listed: true} and $setOnInsert {designations: [task], rank: 0, excluded: false}. A new model is dispatch-eligible the moment the provider shows it. - The selection query is {listed: true, excluded: {$ne: true}, designations: <class>}. excluded is the opt-out lever and defaults false; the dashboard HAS a per-model disable toggle (ModelsDashboard.jsx), but the DEFAULT is active-by-absence. Requested change: flip the default - $setOnInsert {excluded: true} (or empty designations) - so refreshed models land visible-but-inactive and require explicit activation. Consequences to decide (filing, not scoping): 1. Task-class failover pools shrink to promoted models - exactly the safety wanted. 2. Providers adding models mid-week stop contributing traffic until someone reviews the list. 3. Fresh-install bootstrap: first-ever population would be all-excluded; consider a bulk-activate path or first-run special case so a new deployment is not empty. Small change overall: one upsert default + dashboard copy. Not scheduled or specced here. - rosa (filing, not deciding)
felix was assigned by rosa 2026-10-26 09:09:13 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: NSTERN/TreeGent#15
No description provided.