Skip to content

Add per-agent model assignment shared across devx, claw, and d2esupport - #260

Merged
p-hoffmann merged 7 commits into
developfrom
p-hoffmann/agent-provider-config-ui
Aug 25, 2026
Merged

Add per-agent model assignment shared across devx, claw, and d2esupport#260
p-hoffmann merged 7 commits into
developfrom
p-hoffmann/agent-provider-config-ui

Conversation

@p-hoffmann

Copy link
Copy Markdown
Member

No description provided.

…selection feature

Critical:
- claw/d2esupport's devx loopback now only throws on a real 500 (devx found
  a selection but failed to resolve it); any other non-ok status (devx not
  loaded, bad token) falls back to the env-based config instead of hard-
  failing every turn.
- resolveAgentModel now falls back to null (not a 500) when the lookup query
  itself fails, since an unapplied migration means "we don't know if
  anything is configured", not "something is configured but broken". Gate
  and key-decrypt failures after a row is found still propagate unchanged.
  Also trims setAgentModelSelection's ownership-check SELECT to the columns
  it actually needs.

Important:
- Add activateDevxProviderConfig, the one function that keeps
  provider_configs.is_active/devx.settings and the unified
  agent_model_selection table's agent='devx' row in sync. Both the legacy
  PUT /provider-configs/:id/activate route and the new PUT
  /agent-model-selection/devx route now go through it, so the two panels
  can no longer drift.
- Add clearAgentModelSelection + DELETE /agent-model-selection/:agent so
  claw/d2esupport assignments can be reverted to their env-based fallback;
  devx (which has no "unset" state) rejects the clear with a 400. Wired
  into the Settings UI as a "Use env default (unassigned)" option.
- GET /agent-model/:agent (the only route that returns a decrypted key)
  now sends Cache-Control: no-store and documents why it's allowed to.
@codecov

codecov Bot commented Aug 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 52.64%. Comparing base (d6d6a16) to head (033a099).
⚠️ Report is 1 commits behind head on develop.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #260   +/-   ##
========================================
  Coverage    52.64%   52.64%           
========================================
  Files          169      169           
  Lines        72798    72798           
========================================
  Hits         38323    38323           
  Misses       34475    34475           
Flag Coverage Δ
unit-chdb 31.39% <ø> (ø)
unit-db 70.65% <ø> (ø)
unit-etl 56.82% <ø> (ø)
unit-fhir 66.57% <ø> (ø)
unit-hana 42.68% <ø> (ø)
unit-migration 20.89% <ø> (ø)
unit-pg_trex 17.74% <ø> (ø)
unit-pgwire 68.17% <ø> (ø)
unit-runtime 45.83% <ø> (ø)
unit-tpm 69.03% <ø> (ø)
unit-transform 70.85% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@p-hoffmann
p-hoffmann merged commit cdac720 into develop Aug 25, 2026
89 of 91 checks passed
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