From 6d4d6c6f58b0ba5ba0f47c82aec143d23d261300 Mon Sep 17 00:00:00 2001 From: Michael Uloth Date: Thu, 11 Jun 2026 05:11:14 +0000 Subject: [PATCH 1/6] docs/tui: rewrite Navigation section to match actual screens MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #58 The Navigation section described a three-level Home → Category → Detail architecture with category preview tiles, Tab/Shift-Tab tile navigation, and Home/Category screen headings. None of these exist. The Screen enum has two variants — UnifiedList and MergingPr — and the input module has no home_keys function and no Tab binding for tile navigation. Replace the section with an accurate two-screen description: UnifiedList (the main flat list with inline group expand/collapse via h/l) and the split detail pane (opened with Enter, closed with Esc). Every keybind in the new tables corresponds to a branch in unified_list_keys or the universal key handler in key_to_action. Also fix two stale references in the State machine section that named home_keys and list_keys instead of unified_list_keys and merge_confirm_key. Closes #58 --- ui/tui/README.md | 89 ++++++++++++++++++++++++------------------------ 1 file changed, 44 insertions(+), 45 deletions(-) diff --git a/ui/tui/README.md b/ui/tui/README.md index 1844a31..3b450b0 100644 --- a/ui/tui/README.md +++ b/ui/tui/README.md @@ -34,7 +34,7 @@ is mutated: 1. `key_to_action(app, key) -> Option` (`input.rs`) — maps a raw key event to an `Action` variant. Universal keys (quit, help, back) are handled first; the remainder delegates to a per-view function - (`home_keys` or `list_keys`). Returns `None` for unmapped keys. + (`unified_list_keys` or `merge_confirm_key`). Returns `None` for unmapped keys. 2. `App::update(action) -> Vec` (`state.rs`) — applies the action to app state and returns zero or more `Effect` values describing required side effects (`OpenUrl`, `LaunchCi`, `Quit`). @@ -46,7 +46,7 @@ is mutated: 1. Add a variant to `Action` in `state.rs` 2. Map one or more keys to it in the appropriate per-view function in - `input.rs` (`home_keys`, `list_keys`, or a new function for a new view) + `input.rs` (`unified_list_keys`, `merge_confirm_key`, or a new function for a new view) 3. Handle it in `App::update()` in `state.rs` — mutate state and/or return one or more `Effect` values 4. If a new `Effect` variant is needed, add it to the enum in `state.rs`, @@ -211,49 +211,48 @@ Rules of thumb: ## Navigation -Three levels. `Enter` drills in; `Esc` backs out one level. - -**Home** — category preview tiles - -| Key | Action | -| ---------- | -------------------- | -| h | left tile (or prev) | -| j | down tile (or next) | -| k | up tile (or prev) | -| l | right tile (or next) | -| Tab | next tile | -| Shift-Tab | prev tile | -| Enter | drill into category | -| ? | toggle help | -| q / Ctrl-C | quit | - -**Category** — full-screen item list - -| Key | Action | -| ---------- | ------------------------------- | -| h | up | -| j | down | -| k | up | -| l | down | -| Enter | open / drill into group | -| i | investigate (auto-routes by item type) | -| Esc | back to home | -| ? | toggle help | -| q / Ctrl-C | quit | - -**Detail** — items within a group - -| Key | Action | -| ---------- | ------------------------------- | -| h | up | -| j | down | -| k | up | -| l | down | -| Enter | open URL | -| i | investigate (auto-routes by item type) | -| Esc | back to category | -| ? | toggle help | -| q / Ctrl-C | quit | +Two screens. `Enter` opens a split detail pane; `Esc` closes it. + +**UnifiedList** — urgency-ranked flat list of all signals + +| Key | Action | +| ---------- | ----------------------------------------------- | +| j / ↓ | next item | +| k / ↑ | prev item | +| l | expand group | +| h | collapse group | +| g g | move to top | +| G | move to bottom | +| Ctrl-d | page down | +| Ctrl-u | page up | +| Enter | open split detail pane (or no-op if already open) | +| i | investigate (auto-routes by item type) | +| o | open URL in browser | +| n | open task creation form (seeded from selection) | +| N | open blank task creation form | +| p | filter to PRs | +| O | filter to issues | +| e | filter to errors | +| t | filter to tasks | +| a | clear filter | +| / | start query filter | +| r | refresh | +| ? | toggle help | +| q / Ctrl-C | quit | + +**Split detail pane** — signal detail shown below the list + +| Key | Action | +| ---------- | ----------------------------------------------- | +| J | scroll detail down | +| K | scroll detail up | +| Tab | toggle between signal detail and session detail | +| Esc | close split detail pane | +| v | open review picker (PR only) | +| m | merge PR (PR only) | +| d | open PR diff submenu (PR only) | +| a | approve for agent (issue only) | +| s | open task status submenu (task or badged signal) | ## Terminal cleanup From 9edec2c37d0f9ddaf8c92d8f95fc5cb0dcdc03e0 Mon Sep 17 00:00:00 2001 From: Michael Uloth Date: Mon, 15 Jun 2026 19:04:08 -0400 Subject: [PATCH 2/6] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- ui/tui/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/tui/README.md b/ui/tui/README.md index 3b450b0..d24270c 100644 --- a/ui/tui/README.md +++ b/ui/tui/README.md @@ -211,7 +211,7 @@ Rules of thumb: ## Navigation -Two screens. `Enter` opens a split detail pane; `Esc` closes it. +One screen (`UnifiedList`) with an optional split detail pane. `Enter` opens the pane; `Esc` closes it. **UnifiedList** — urgency-ranked flat list of all signals From 75497c7478b3208cfa1691faeeb85f52e621908a Mon Sep 17 00:00:00 2001 From: Michael Uloth Date: Mon, 15 Jun 2026 19:04:32 -0400 Subject: [PATCH 3/6] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- ui/tui/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/tui/README.md b/ui/tui/README.md index d24270c..89f45da 100644 --- a/ui/tui/README.md +++ b/ui/tui/README.md @@ -226,9 +226,9 @@ One screen (`UnifiedList`) with an optional split detail pane. `Enter` opens the | Ctrl-d | page down | | Ctrl-u | page up | | Enter | open split detail pane (or no-op if already open) | +| Esc | close split detail pane (if open), otherwise clear filter | | i | investigate (auto-routes by item type) | | o | open URL in browser | -| n | open task creation form (seeded from selection) | | N | open blank task creation form | | p | filter to PRs | | O | filter to issues | From 80148d742a8bff03d288f8aff315b6912530cb82 Mon Sep 17 00:00:00 2001 From: Michael Uloth Date: Mon, 15 Jun 2026 19:04:48 -0400 Subject: [PATCH 4/6] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- ui/tui/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ui/tui/README.md b/ui/tui/README.md index 89f45da..4eaa9db 100644 --- a/ui/tui/README.md +++ b/ui/tui/README.md @@ -230,6 +230,7 @@ One screen (`UnifiedList`) with an optional split detail pane. `Enter` opens the | i | investigate (auto-routes by item type) | | o | open URL in browser | | N | open blank task creation form | +| s | open task status submenu (task or badged signal) | | p | filter to PRs | | O | filter to issues | | e | filter to errors | From 8e3c90d4725685ca6ce3afa7df77430ec693783d Mon Sep 17 00:00:00 2001 From: Michael Uloth Date: Mon, 15 Jun 2026 19:05:04 -0400 Subject: [PATCH 5/6] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- ui/tui/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/tui/README.md b/ui/tui/README.md index 4eaa9db..7198561 100644 --- a/ui/tui/README.md +++ b/ui/tui/README.md @@ -241,7 +241,7 @@ One screen (`UnifiedList`) with an optional split detail pane. `Enter` opens the | ? | toggle help | | q / Ctrl-C | quit | -**Split detail pane** — signal detail shown below the list +**Split detail pane** — additional keys while the detail pane is open | Key | Action | | ---------- | ----------------------------------------------- | From ad2b071d3032d050d18fe51d487def8a688138b8 Mon Sep 17 00:00:00 2001 From: Michael Uloth Date: Mon, 15 Jun 2026 19:05:21 -0400 Subject: [PATCH 6/6] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- ui/tui/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/tui/README.md b/ui/tui/README.md index 7198561..3982710 100644 --- a/ui/tui/README.md +++ b/ui/tui/README.md @@ -252,7 +252,7 @@ One screen (`UnifiedList`) with an optional split detail pane. `Enter` opens the | v | open review picker (PR only) | | m | merge PR (PR only) | | d | open PR diff submenu (PR only) | -| a | approve for agent (issue only) | +| a | approve for agent (issue only; otherwise clears filter) | | s | open task status submenu (task or badged signal) | ## Terminal cleanup