45 lines
1.2 KiB
Markdown
45 lines
1.2 KiB
Markdown
# 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
|