- render URL text as explicit anchors in docs cards
- linkify raw URLs in docs notes
- fallback to built-in Droid docs links when legacy API payload omits links
- add shared backend JSON file probe/write utilities for compatible CLI settings
- add shared frontend raw JSON editor panel and wire Droid page to it
- support PUT save flow with validation and mtime conflict handling
- 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
- 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
- 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 lock-held mutateUnifiedConfig read-modify-write path for config.yaml
- use atomic mutation in /api/settings/auth/antigravity-risk to prevent stale overwrites
- replace browser confirm with in-app 2-step banner + typed phrase validation
- verify saved AGY power-user value with post-save read before showing success
Refs #509
- change required acknowledgement phrase to "I ACCEPT RISK"
- apply typed phrase requirement to Gemini and Antigravity add-account flows
- keep CLI/server and UI phrase validation aligned
- update antigravity responsibility unit test
- collapse provider-specific warning variants into one shared card
- keep issue #509 as the single risk reference for both flows
- reuse cliproxy warning card space for Settings > Proxy pointer