2.4 KiB
2.4 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec | |
|---|---|---|---|---|---|---|---|
| dynamic-provider-options-04 | Integrate settings selectors | done | 4 |
|
docs/plans/dynamic-provider-options/plan.md | docs/specs/agents/requirements/dynamic-provider-options.md |
Integrate settings selectors
Scope
Wire the shared model-resolution behavior into workflow session rules and ACP agent profile settings while preserving existing persistence, read-only, and generic selector behavior.
Acceptance conditions
- Workflow rules display and save arbitrary provider-returned options after a model change, including replacement/removal of options that the new model does not advertise.
- ACP agent profile settings use the same resolver and save/reload the same dynamic options without provider-specific branches.
- Loading, retry, and error states are localized; mobile layouts retain touch-sized controls and no horizontal overflow.
Files
apps/web/components/settings/workflow-session-config-rule-card.tsxapps/web/components/settings/workflow-session-config-shared.tsapps/web/components/settings/workflow-session-config-editor.test.tsxapps/web/components/settings/profile-form-fields.tsxapps/web/components/settings/profile-form-fields.test.tsxapps/web/components/model-config-selector.tsx(only if an optional resolver status affordance is required)apps/web/public/locales/affected locale catalogs
Dependencies and inputs
dynamic-provider-options-03hook and reconciliation contract.- Existing workflow rule serializer, profile save coordinator, and
ModelConfigSelectorselect-option behavior. - Mobile-parity requirements for the existing settings layouts.
Output contract
Both settings surfaces consume the same provider-neutral resolved snapshot. Persisted config maps are not mutated by a failed discovery request; successful model changes save only values valid for the returned snapshot.
Checks
cd apps && pnpm --filter @kandev/web exec vitest run components/settings/profile-form-fields.test.tsx components/settings/workflow-session-config-editor.test.tsx components/model-config-selector.test.tsx --reporter=dot
cd apps/web && pnpm run typecheck
cd apps/web && pnpm run i18n:check && pnpm run i18n:ratchet
Results: profile/workflow component tests, frontend typecheck, ESLint, i18n check, and i18n ratchet — passed.