feat(frontend): admin LLM registry editing - #13613
Conversation
Part 9 of 9 of Phase A of the LLM registry restack. Editing controls on the /admin/llms dashboard: - model add/edit dialogs (all fields incl. visibility, min subscription tier, fallback model picker, capability flags), delete + disable flows with replacement-model picker (pre-filled from fallbackModelSlug) - creator add/edit/delete dialogs - routing matrix editor: per-cell model dropdown (enabled models, HIDDEN badged) + clear-cell; API capability warnings surfaced inline as warnings, not blockers - migration revert with confirmation - mutations via generated Orval hooks with query invalidation + toast errors; shared useLlmRegistryMutations hook Tests: 7 new scenario-named integration tests (12 total for /admin/llms) covering create/edit submission payloads, disable-with-replacement, routing cell PUT + warning surfacing, revert confirm, and 500 error toasts. Co-authored-by: Bentlybro <Github@bentlybro.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## feat/llm-registry-v2-admin-ui-read #13613 +/- ##
====================================================================
Coverage 76.01% 76.02%
====================================================================
Files 2694 2706 +12
Lines 204324 204542 +218
Branches 19661 19693 +32
====================================================================
+ Hits 155324 155500 +176
- Misses 44713 44743 +30
- Partials 4287 4299 +12
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
|
After a post-build design review we pivoted from the DB-registry to catalog-as-code: one canonical, schema-validated catalog file is the source of truth (models + costs + copilot routing), updated by PR (catalog-only diffs may ride hotfix→master; the /review bot covers the lane), propagated by CD, with LaunchDarkly demoted to optional cohort experiments and git history as the audit log. Rationale: the admin machinery mostly bought instant-mutation and non-engineer authoring we don't need, and LD is too unreliable to be the load-bearing control layer. No replacement by design — editing happens in the catalog file by PR. |
Why
Part 9 of 9 of Phase A of the LLM registry restack (#13605→#13606→#13607→#13608→#13609→#13610→#13611→#13612→this). With this PR the whole workflow that #13596 tried to do by hand-editing a machine-generated JSON becomes: open /admin/llms, add the model (HIDDEN if pre-launch), set routing cells when ready — validated, audited, propagated to every install within a day.
What
Editing controls on the read-only dashboard from #13612, re-imagined from @Bentlybro's #12468 modals under current conventions:
fallbackModelSlug)Verification
/admin/llmsintegration tests (5 read + 7 new editing scenarios: create/edit request payload assertions, disable-with-replacement, routing PUT + warning surfacing, revert confirm, 500 toast)pnpm format/pnpm lint/pnpm typesclean; full-suite failures are the pre-existing multi-suite interference documented on feat(frontend): admin LLM registry dashboard (read-only) #13612 (worse on base without these changes, verified by stash-comparison)Checklist