# Feature detail: Interactive browse loop **Parent roadmap:** [[../features-for-redmine_tickets-sync]] **Status:** MVP+ polish 2026-07-15 **Module:** `redmine_ticket_browse.py` ## Flow 1. Filtered ticket list via **fzf** (preview pane) or numbered pick 2. **Enter** → Markdown pager (`glow` / `bat` / `batcat` / `cat`) 3. After pager → **action menu** 4. Back to list until Esc/q ## Actions (queue-safe) | Key | Behavior | |-----|----------| | v / Enter | View again | | n / p | Queue internal / private note | | f | Queue field update (names) | | t | Local control-tag | | c | ticket-contact handoff | | e | Pattern entities | | **m** | NMI cs-brief → confirm → **private** note draft | | i | Print id | | l / q | List / quit | ## Flags - `--where`, `--status`, `--control-tag`, `--has-attachments`, **`--open-only`** - `--max-tickets`, `--order`, `--pager`, `--once`, **`--no-preview`** ## Done polish - [x] fzf header lists actions - [x] fzf preview pane - [x] loud draft banner - [x] NMI menu action ## Non-goals - Full curses app (separate spike) - Customer-email from browse (CLI-only by design) - Applying prod writes from browse without draft step