Implement the non-UI tmux discovery and SSH command construction layer needed before the TUI can render live host and session state.
Scope
Implement internal/tmuxinfo parsing for tmux ls -F output per docs/DESIGN.md §7.3, §8.1, and §11.1.
Implement internal/ssh argv construction per §8.2.
Implement internal/probe for localhost and configured remote hosts per §8.1.
Use per-host timeouts and non-blocking probe coordination so the future UI can consume results incrementally.
Treat probe failures as non-fatal and preserve diagnostic errors for internal use.
Add unit tests for parsing, argv construction, and probe behavior around successful, no-server, timeout, and unreachable cases.
Out of scope
Bubble Tea or Lip Gloss.
Final syscall.Exec handoff.
Terminal rendering.
Real infrastructure-dependent integration tests.
Acceptance criteria
Probe APIs are UI-agnostic and do not import Bubble Tea or Lip Gloss.
go test -race ./... passes.
go vet ./... passes.
CI is green.
## Goal
Implement the non-UI tmux discovery and SSH command construction layer needed before the TUI can render live host and session state.
## Scope
- Implement `internal/tmuxinfo` parsing for `tmux ls -F` output per `docs/DESIGN.md` §7.3, §8.1, and §11.1.
- Implement `internal/ssh` argv construction per §8.2.
- Implement `internal/probe` for localhost and configured remote hosts per §8.1.
- Use per-host timeouts and non-blocking probe coordination so the future UI can consume results incrementally.
- Treat probe failures as non-fatal and preserve diagnostic errors for internal use.
- Add unit tests for parsing, argv construction, and probe behavior around successful, no-server, timeout, and unreachable cases.
## Out of scope
- Bubble Tea or Lip Gloss.
- Final `syscall.Exec` handoff.
- Terminal rendering.
- Real infrastructure-dependent integration tests.
## Acceptance criteria
- Probe APIs are UI-agnostic and do not import Bubble Tea or Lip Gloss.
- `go test -race ./...` passes.
- `go vet ./...` passes.
- CI is green.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Goal
Implement the non-UI tmux discovery and SSH command construction layer needed before the TUI can render live host and session state.
Scope
internal/tmuxinfoparsing fortmux ls -Foutput perdocs/DESIGN.md§7.3, §8.1, and §11.1.internal/sshargv construction per §8.2.internal/probefor localhost and configured remote hosts per §8.1.Out of scope
syscall.Exechandoff.Acceptance criteria
go test -race ./...passes.go vet ./...passes.