feat(fleet): fleet ps surfaces unmanaged socket sessions #586

Merged
jason.woltje merged 1 commits from feat/fleet-ps-show-unmanaged into main 2026-06-21 22:37:35 +00:00
Owner

Closes the isolation!=invisibility gap: fleet ps now enumerates ALL sessions on the fleet socket, marking non-roster ones UNMANAGED (managed:false, source:socket in --json), holder excluded, resilient to list-sessions failure. Roster rows unchanged. 96 fleet tests.

Closes the isolation!=invisibility gap: fleet ps now enumerates ALL sessions on the fleet socket, marking non-roster ones UNMANAGED (managed:false, source:socket in --json), holder excluded, resilient to list-sessions failure. Roster rows unchanged. 96 fleet tests.
jason.woltje added 1 commit 2026-06-21 22:21:08 +00:00
feat(fleet): fleet ps surfaces unmanaged socket sessions
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
363baf0c81
After building roster-agent rows (unchanged), enumerate live sessions on
the mosaic-factory socket via `tmux list-sessions -F '#{session_name}'`.
Sessions not in the roster and not the holder session (_holder) are
emitted as additional UNMANAGED rows with runtime=unknown, managed=false,
source="socket". All existing roster rows gain managed=true/source="roster".
Roster rows always appear first; unmanaged rows follow.

- Adds buildTmuxListSessionsCommand + parseTmuxListSessions helpers
- driftFlag is always false for unmanaged rows (no roster runtime to compare)
- Heartbeat, pane, and systemd info populated for unmanaged rows the same
  way as roster rows; tenant_id + host always present
- Resilient: if list-sessions fails, only roster rows are shown, no crash
- UNMANAGED flag appears in table output; managed/source fields in --json
- 8 new tests cover: command construction, session parsing, unmanaged row
  inclusion, _holder exclusion, table flag, socket failure resilience

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RMoEx7hfdFGjUiCHuN1RRi
jason.woltje merged commit 5bef2c35eb into main 2026-06-21 22:37:35 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#586