Organized
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user