diff --git a/work-items/open/20260531-074258-tui-extract-single-pod-runtime/artifacts/.gitkeep b/work-items/closed/20260531-074258-tui-extract-single-pod-runtime/artifacts/.gitkeep similarity index 100% rename from work-items/open/20260531-074258-tui-extract-single-pod-runtime/artifacts/.gitkeep rename to work-items/closed/20260531-074258-tui-extract-single-pod-runtime/artifacts/.gitkeep diff --git a/work-items/open/20260531-074258-tui-extract-single-pod-runtime/item.md b/work-items/closed/20260531-074258-tui-extract-single-pod-runtime/item.md similarity index 97% rename from work-items/open/20260531-074258-tui-extract-single-pod-runtime/item.md rename to work-items/closed/20260531-074258-tui-extract-single-pod-runtime/item.md index 93bb4143..eae4685c 100644 --- a/work-items/open/20260531-074258-tui-extract-single-pod-runtime/item.md +++ b/work-items/closed/20260531-074258-tui-extract-single-pod-runtime/item.md @@ -2,12 +2,12 @@ id: 20260531-074258-tui-extract-single-pod-runtime slug: tui-extract-single-pod-runtime title: TUI: extract single-Pod runtime loop from main.rs -status: open +status: closed kind: task priority: P2 labels: [tui, cleanup] created_at: 2026-05-31T07:42:58Z -updated_at: 2026-05-31T13:56:32Z +updated_at: 2026-05-31T13:57:02Z assignee: null legacy_ticket: null --- diff --git a/work-items/closed/20260531-074258-tui-extract-single-pod-runtime/resolution.md b/work-items/closed/20260531-074258-tui-extract-single-pod-runtime/resolution.md new file mode 100644 index 00000000..afaa668b --- /dev/null +++ b/work-items/closed/20260531-074258-tui-extract-single-pod-runtime/resolution.md @@ -0,0 +1,20 @@ +Extracted the current single-Pod TUI runtime/event-loop implementation out of `crates/tui/src/lib.rs`. + +Implementation: +- Added `crates/tui/src/single_pod.rs`. +- Moved single-Pod attach/spawn/resume orchestration, fullscreen terminal helpers, event loop/drain logic, key/mouse handling, compact/rewind/queue/interrupt handling, and related tests into `single_pod.rs`. +- Left `lib.rs` as the TUI library façade/high-level dispatcher with module declarations, `LaunchOptions`, `LaunchMode`, and `launch(...)`. +- Preserved public `tui::launch`, `LaunchOptions`, and `LaunchMode` behavior for the `insomnia` crate. +- Did not split `multi_pod.rs`, move render helpers, redesign keybindings, rewrite App state, or change Pod protocol/profile/manifest semantics. + +Review: +- External reviewer `tui-runtime-reviewer-20260531` approved implementation commit `4d89718`. +- Reviewer noted one non-blocking follow-up: the thin `run_multi` bridge now lives in `single_pod.rs`; acceptable for this extraction, but could move to a small launch/runtime coordination module if dashboard orchestration grows. + +Validation after merge: +- `cargo fmt --check` +- `cargo test -p tui` +- `cargo check -p tui -p insomnia` (passed with existing dead-code warnings) +- `./tickets.sh doctor` +- `git diff --check` +- `wc -l crates/tui/src/lib.rs crates/tui/src/single_pod.rs` showed `lib.rs` at 117 lines and `single_pod.rs` at 1765 lines. diff --git a/work-items/open/20260531-074258-tui-extract-single-pod-runtime/thread.md b/work-items/closed/20260531-074258-tui-extract-single-pod-runtime/thread.md similarity index 76% rename from work-items/open/20260531-074258-tui-extract-single-pod-runtime/thread.md rename to work-items/closed/20260531-074258-tui-extract-single-pod-runtime/thread.md index 82f222bd..6646c3d3 100644 --- a/work-items/open/20260531-074258-tui-extract-single-pod-runtime/thread.md +++ b/work-items/closed/20260531-074258-tui-extract-single-pod-runtime/thread.md @@ -88,4 +88,32 @@ Validation adequacy: - Reviewer reran `cargo fmt --check`, `cargo test -p tui`, `cargo check -p tui -p insomnia`, `./tickets.sh doctor`, and `git diff --check HEAD^ HEAD`; all passed with existing dead-code warnings. +--- + + + +## Closed + +Extracted the current single-Pod TUI runtime/event-loop implementation out of `crates/tui/src/lib.rs`. + +Implementation: +- Added `crates/tui/src/single_pod.rs`. +- Moved single-Pod attach/spawn/resume orchestration, fullscreen terminal helpers, event loop/drain logic, key/mouse handling, compact/rewind/queue/interrupt handling, and related tests into `single_pod.rs`. +- Left `lib.rs` as the TUI library façade/high-level dispatcher with module declarations, `LaunchOptions`, `LaunchMode`, and `launch(...)`. +- Preserved public `tui::launch`, `LaunchOptions`, and `LaunchMode` behavior for the `insomnia` crate. +- Did not split `multi_pod.rs`, move render helpers, redesign keybindings, rewrite App state, or change Pod protocol/profile/manifest semantics. + +Review: +- External reviewer `tui-runtime-reviewer-20260531` approved implementation commit `4d89718`. +- Reviewer noted one non-blocking follow-up: the thin `run_multi` bridge now lives in `single_pod.rs`; acceptable for this extraction, but could move to a small launch/runtime coordination module if dashboard orchestration grows. + +Validation after merge: +- `cargo fmt --check` +- `cargo test -p tui` +- `cargo check -p tui -p insomnia` (passed with existing dead-code warnings) +- `./tickets.sh doctor` +- `git diff --check` +- `wc -l crates/tui/src/lib.rs crates/tui/src/single_pod.rs` showed `lib.rs` at 117 lines and `single_pod.rs` at 1765 lines. + + ---