3116d524fb
- `Category`, `Item` and `View` each gain a private `display` that starts equal to the key and changes only through `set_display` / `set_item_display`. - `CategoryRow`, `TileEntry` and `ViewSummary` carry `display` beside their key field. The key stays what commands are composed from. - The category-panel headers, the tile bar and the view list paint the display in the TUI and the browser. The active-view marker still compares keys. - No production code sets a display yet, so behaviour is unchanged. - This is the first slice of ADR 007 step 2. The grid, page bar, records labels, item rows and CSV export are improvise-cq1q.12; messages and the view title are improvise-cq1q.13. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze