1.7 KiB
1.7 KiB
Implemented first workspace panel composer targets.
Changes:
- Added workspace panel composer target model with:
Companion/ existing selected-Pod send behavior;Ticket Intake.
- Added
Ctrl+Ttarget switching without clearing typed composer text. - Displayed active target in the panel target/status line and actionbar guidance using existing TUI conventions.
- No-Ticket and unusable-Ticket-config workspaces expose only
Companion/ Pod-centric behavior. Ticket Intakeis available only when Ticket config is usable.- Empty Intake input is rejected with a bounded diagnostic.
- Intake launch uses the existing
TicketRole::Intake/launch_ticket_role_pod(...)path. - Composer text is passed as
TicketRoleLaunchContext.user_instructionfor the Intake launch. - Intake text is not sent to Companion/current Pod history or selected-Pod direct send path.
- Successful Intake launch clears composer and reports the launched Pod name.
- Launch failure keeps composer text and reports a bounded diagnostic.
- Intake -> Orchestrator handoff payload was intentionally not added; the follow-up handoff ticket owns that.
--multiwas not reintroduced.
Validation after merge:
cargo test -p tui workspace_panelcargo test -p tui multi_podcargo test -p client ticket_rolecargo test -p yoi panelcargo check --workspace --all-targetscargo fmt --checkgit diff --check HEAD~1..HEADcargo build -p yoitarget/debug/yoi ticket doctornix build .#yoi --no-link --print-out-paths
External review approved with no requested changes.
Known follow-up:
- Active target display is intentionally minimal; final placement/color/wording tuning is deferred.
- Intake -> Orchestrator handoff remains the next child ticket.