yoi/.yoi/tickets/open/20260607-001651-workspace-panel-remove-direct-pod-send/thread.md

3.1 KiB

Created

Created by LocalTicketBackend create.


Plan

Preflight / implementation intent

Classification: implementation-ready.

Intent:

  • Remove the workspace panel path that treats Companion composer input as a direct Method::Run send to the selected Pod.
  • Keep Pod open/attach, Ticket Intake launch, Orchestrator lifecycle, Queue/Ticket actions, and Pod discovery intact.
  • Until the real Companion Pod lifecycle exists, Companion composer submit should produce a bounded diagnostic instead of falling back to selected-Pod direct send.

Requirements:

  • Enter on non-empty Companion composer input must not send to selected_pod.socket_path.
  • UI/status/key hints must stop advertising selected-Pod direct send.
  • Pod rows should advertise/open attach behavior, not direct-send behavior.
  • Ticket Intake target must still build and launch Intake requests.
  • Existing no-Ticket panel remains useful for discovering and opening Pods.

Invariants / boundaries:

  • Do not implement real Companion Pod lifecycle here; that belongs to workspace-panel-companion-pod-lifecycle.
  • Do not change Companion tool/profile policy here; that belongs to companion-status-context-tool-policy.
  • Do not remove Pod attach/open.
  • Do not reintroduce single-Pod :ticket or old --multi semantics.
  • Do not change Ticket workflow-state semantics.

Current code map:

  • crates/tui/src/multi_pod.rs: MultiPodApp::prepare_send, send_run_and_confirm, Enter handling, status/help text, and tests currently embody selected-Pod direct send.
  • crates/tui/src/workspace_panel.rs: NextUserAction::SendToPod, pod_row, and key hints currently advertise direct-send behavior for Pod rows.
  • crates/tui/src/multi_pod.rs: prepare_intake_launch / launch_intake_with_handoff must remain intact for Ticket Intake.

Critical risks:

  • Accidentally removing/weakening open/attach while deleting send behavior.
  • Leaving stale status-bar/help text that still claims Enter sends to selected Pods.
  • Conflating this cleanup with real Companion lifecycle and creating a fake/partial Companion implementation.
  • Breaking Ticket Intake Enter behavior while removing Companion direct send.

Validation:

  • Update focused tui unit tests that currently assert direct-send eligibility and non-empty Enter direct-send behavior.
  • Run focused tests around multi_pod and workspace_panel, plus formatting/checks as appropriate for the diff.

Intake summary

Implementation intent is clear: remove selected-Pod direct send from the workspace panel, keep Pod open/attach and Ticket Intake, and show a bounded diagnostic for Companion composer submit until the real Companion Pod lifecycle is implemented.


State changed

Ticket intake complete; workflow_state intake -> ready.