# Plan: Policy Picker UX (015) **Branch**: `015-policy-picker-ux` **Date**: 2026-01-02 **Input**: [spec.md](./spec.md) ## Goal Improve the “Add Policies” picker UX by making option labels self-describing (type/platform/external id) to reduce mistakes with duplicate policy names. ## Scope ### In scope - Update the “Add Policies” action in the Backup Set items relation manager. - Present the picker as a modal table (row selection). - Table shows: display name, policy type (human label if available), platform, short external id. - Filters: policy type, platform, last synced, ignored, has versions. - “Select all” selects the current filtered results. - Add a unit/feature test covering the label formatting. ### Out of scope - Adding filters, select-all, new pages, or additional UI flows. ## Approach 1. Replace the Select-based picker with a Livewire/Filament table component rendered inside the action modal. 2. Add the required filters and columns. 3. Implement a bulk action to add selected policies to the backup set. 4. Add tests asserting the picker table bulk action works and filters are available. 4. Run targeted tests and Pint. ## Success Criteria - Picker options are clearly distinguishable for policies with duplicate names. - Tests are green.