- replace ~/.config/factory/config.json diagnostics with legacy ~/.factory/config.json
- keep ~/.factory/settings.json as the primary BYOK source in UI + API payload
- update droid dashboard tests and frontend typings for legacyConfig
- add /droid route under a new Compatible CLIs sidebar section
- expose /api/droid/diagnostics and /api/droid/settings/raw for install and BYOK visibility
- include read-only settings.json viewer plus model/provider breakdown
- add unit coverage for droid dashboard service parsing and path logic
- persist selector in ~/.factory/settings.json as settings.model
- stop injecting '-m custom:...' for interactive droid launches
- improve provider inference for localhost /v1 and qwen/deepseek/kimi
- add regression tests for adapter, provider, and config manager
- add Droid provider resolver aligned with Factory BYOK schema
- persist and normalize CCS_DROID_PROVIDER across CLI and dashboard flows
- use Droid managed selector aliases with safe legacy fallback
- add unit coverage for provider inference and selector usage
Closes#632
- remove Updates Center from sidebar general nav
- remove updates spotlight banners from home, api, and cliproxy pages
- adjust updates catalog copy to reflect on-demand inbox usage
- replace release-note-heavy layout with task-first action inbox
- add persistent local notice progress states (new/seen/done/dismissed)
- introduce actionable notice metadata and related integration mapping
- keep full-page shell fixed with internal scrolling only
- refactor updates route to full-height split layout like API/CLIProxy pages
- move scrolling into internal panels via ScrollArea
- keep announcements and matrix in consistent master-detail structure
- add /updates route and sidebar navigation entry
- show updates spotlight on Home, API Profiles, and CLIProxy pages
- export Updates page for lazy route loading consistency
- add data-driven catalog for support notices and CLI compatibility
- introduce Updates Center page with announcements, filtering, and search
- render reusable support cards and status badges for future expansions
- support POSIX -- terminator so dash-prefixed variant names remain positional
- export variant parser for direct unit tests
- add --target parsing coverage for API and cliproxy arg parsers
- resolve settings file from profile.settingsPath instead of reconstructing by name
- skip non-claude targets for local claude-api-key sync semantics
- add mapper regression tests for both behaviors
- add multi-target help examples for ccsd codex and ccsd agy
- document per-profile target defaults for API and CLIProxy profiles
- include dashboard parity notes for target configuration
- extend API client types with claude|droid target fields
- add default target selector in API profile create dialog
- show target badges in API profile list
- add --target parsing and validation in create/edit/remove flows
- show target in list/remove/edit UX and usage examples
- document target option in cliproxy help output
- validate target request payloads for create and update APIs
- pass target into single/composite service operations
- include target in variant API responses
- add target to variant create/update flows for single and composite modes
- persist target in unified config and legacy cliproxy entries
- include target in variant list/remove return payloads
- parse and validate --target claude|droid on api create flow
- show target in API and CLIProxy list tables and usage output
- add parser unit tests for target success and failure cases
- validate target payloads for profile create/update
- return target in profile list and create responses
- allow updating target independently from settings values
- add target fields to API profile and CLIProxy variant service types
- persist target in unified config and legacy profile_targets map
- expose target update API via updateApiProfileTarget