3.5 KiB
Created
Created by LocalTicketBackend create.
Plan
Preflight result: implementation-ready after Orchestrator lifecycle and composer target slices.
This ticket should connect panel-launched Intake Pods to the workspace Orchestrator with an explicit, auditable handoff target. The handoff should be carried through the existing Ticket role launch path, preferably as a typed launch-context field rendered into the Intake first-run input/history, and peer metadata should be registered when feasible. It must not authorize automatic implementation.
Detailed delegation intent is recorded in artifacts/delegation-intent.md.
Review: approve
External reviewer approved current HEAD after requested changes were addressed.
Review summary:
- The previous blocking issue was fixed:
RegisterPeeris now sent through the Ticket role launcher before the firstMethod::Run. - Handoff uses a small typed
TicketIntakeHandoffcontract andTicketRoleLaunchOptions, not scheduler state. - Intake launch input includes Orchestrator target and the no-auto-implementation gate.
- No-Ticket workspaces remain Companion-only/no handoff.
- Peer registration failures/skips are bounded warnings, not launch failures.
- Intake request does not route through Companion/current Pod history or selected-Pod direct send.
- No automatic implementation scheduling or
--multireintroduction.
Closed
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.