1.9 KiB
1.9 KiB
Implemented Ticket Intake -> Orchestrator handoff for the workspace panel.
Changes:
- Added typed handoff contract
TicketIntakeHandoff { orchestrator_pod, workspace_label }. - Extended
TicketRoleLaunchContextwith optional Intake handoff data. - Rendered a
Panel handoff:section into Intake launch input/history through the existing Ticket role launcher. - The handoff section includes:
- workspace label;
- workspace Orchestrator Pod name;
- expected readiness/report fields;
- an explicit no-auto-implementation gate requiring Orchestrator routing/preflight and human Go before implementation.
- Added
TicketRoleLaunchOptions/launch_ticket_role_pod_with_options(...)for bounded pre-run peer registration. - Preserved
launch_ticket_role_pod(...)as the default no-options wrapper. - Panel Intake launch now passes Orchestrator handoff data and, when applicable, a pre-run peer registration request.
RegisterPeeris sent before the firstMethod::Run, avoiding the controller's running-state rejection path.- Peer registration warnings are non-fatal when Intake launch/run succeeds.
- No-Ticket workspaces remain Companion-only and expose no handoff path.
- Intake requests do not route through Companion/current Pod history or selected-Pod direct send.
- No automatic implementation scheduling/coder/reviewer spawning was added.
--multiwas not reintroduced.
Validation after merge:
cargo test -p client ticket_rolecargo test -p tui workspace_panelcargo test -p tui multi_podcargo 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 after one requested-changes cycle.
Known follow-up:
- Final layout/display wording for handoff notices is deferred to panel tuning.