From 5f59b0bf57a4279db14f44b47f47f62d6b9c180a Mon Sep 17 00:00:00 2001 From: Hare Date: Sun, 7 Jun 2026 06:09:49 +0900 Subject: [PATCH] ticket: preflight remove tui ticket commands --- .../artifacts/.gitkeep | 0 .../artifacts/delegation-intent.md | 95 +++++++++++++++++++ .../item.md | 64 +++++++++++++ .../thread.md | 20 ++++ 4 files changed, 179 insertions(+) create mode 100644 .yoi/tickets/open/20260606-210832-remove-tui-ticket-commands/artifacts/.gitkeep create mode 100644 .yoi/tickets/open/20260606-210832-remove-tui-ticket-commands/artifacts/delegation-intent.md create mode 100644 .yoi/tickets/open/20260606-210832-remove-tui-ticket-commands/item.md create mode 100644 .yoi/tickets/open/20260606-210832-remove-tui-ticket-commands/thread.md diff --git a/.yoi/tickets/open/20260606-210832-remove-tui-ticket-commands/artifacts/.gitkeep b/.yoi/tickets/open/20260606-210832-remove-tui-ticket-commands/artifacts/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/.yoi/tickets/open/20260606-210832-remove-tui-ticket-commands/artifacts/delegation-intent.md b/.yoi/tickets/open/20260606-210832-remove-tui-ticket-commands/artifacts/delegation-intent.md new file mode 100644 index 00000000..14fc490c --- /dev/null +++ b/.yoi/tickets/open/20260606-210832-remove-tui-ticket-commands/artifacts/delegation-intent.md @@ -0,0 +1,95 @@ +# Delegation intent: remove obsolete TUI `:ticket` commands + +## Classification + +`implementation-ready` cleanup. + +The workspace panel now owns the user-facing Ticket/Intake/Orchestrator UX. The old single-Pod TUI `:ticket ...` commands are no longer needed and should be removed rather than kept as a fallback. + +## Intent + +Remove the obsolete TUI command family: + +```text +:ticket intake ... +:ticket route ... +:ticket investigate ... +:ticket implement ... +:ticket review ... +``` + +Users should use: + +- `yoi panel` for workspace Ticket/Intake/Orchestrator UI; +- `yoi ticket ...` for direct Ticket CLI operations; +- Ticket tools/workflows where appropriate. + +## Worktree / branch + +- worktree: `/home/hare/Projects/yoi/.worktree/remove-tui-ticket-commands` +- branch: `work/remove-tui-ticket-commands` + +This ticket may read tracked `.yoi/tickets` records/design artifacts. Do not read or edit `.yoi/memory/`. + +## Requirements + +- Remove `:ticket` command registration/parsing from TUI command registry. +- Remove TUI parser tests that expect `:ticket ...` success and replace with unknown-command / unsupported behavior coverage where appropriate. +- Remove `CommandAction::TicketRole` and pending local action plumbing if it is only used by `:ticket`. +- Remove single-Pod runtime handling that launches Ticket role Pods from `:ticket` commands. +- Remove now-unused imports such as `TicketRole`, `TicketRef`, or `launch_ticket_role_pod` from single-Pod command handling if applicable. +- Keep shared `client::ticket_role` launcher code because `yoi panel` still uses it for Orchestrator/Intake. +- Keep `yoi panel` behavior unchanged. +- Keep `yoi ticket ...` CLI unchanged. +- Keep Ticket tools/workflows unchanged. +- Update active docs/help that still present `:ticket ...` as a supported route. +- Do not mass-rewrite historical closed Ticket records/artifacts that mention `:ticket`. +- Do not reintroduce `--multi`. + +## Current code map + +- `crates/tui/src/command.rs` + - command registration, `ticket_command(...)`, `CommandAction::TicketRole`, parser tests. +- `crates/tui/src/single_pod.rs` + - pending local action handling and `handle_ticket_role_command(...)` path. +- `crates/tui/src/app.rs` / nearby files + - check for pending local action storage if command action removal requires cleanup. +- `docs/development/work-items.md` and active docs + - remove user-facing `:ticket ...` instructions or replace with `yoi panel` / `yoi ticket ...`. + +## Validation + +Run at least: + +- `cargo test -p tui command` or targeted command parser tests; +- `cargo test -p tui workspace_panel`; +- `cargo test -p tui multi_pod`; +- `cargo test -p yoi panel`; +- `cargo test -p client ticket_role` if shared launcher imports/usage are touched; +- `cargo check --workspace --all-targets`; +- `cargo fmt --check`; +- `git diff --check`; +- `cargo build -p yoi`; +- `target/debug/yoi ticket doctor`. + +Run `nix build .#yoi --no-link` if feasible. + +Also check active references: + +```bash +rg -n ":ticket|ticket intake|ticket route|ticket implement|ticket review" docs crates/tui/src .yoi/workflow AGENTS.md README.md +``` + +Remaining matches should be code comments/tests intentionally covering unsupported behavior or historical closed records outside the active-reference search. + +## Completion report + +Report: + +- worktree path / branch; +- commit hash; +- removed command/runtime paths; +- docs/tests updated; +- confirmation that panel/CLI/shared launcher remain intact; +- validation results; +- remaining historical references, if any. diff --git a/.yoi/tickets/open/20260606-210832-remove-tui-ticket-commands/item.md b/.yoi/tickets/open/20260606-210832-remove-tui-ticket-commands/item.md new file mode 100644 index 00000000..4d3c510e --- /dev/null +++ b/.yoi/tickets/open/20260606-210832-remove-tui-ticket-commands/item.md @@ -0,0 +1,64 @@ +--- +id: 20260606-210832-remove-tui-ticket-commands +slug: remove-tui-ticket-commands +title: Remove obsolete TUI :ticket commands +status: open +kind: task +priority: P2 +labels: [tui, ticket, cleanup, panel] +created_at: 2026-06-06T21:08:32Z +updated_at: 2026-06-06T21:09:49Z +assignee: null +legacy_ticket: null +--- + +## Background + +The old TUI `:ticket ...` command surface was an MVP/fallback for launching fixed Ticket-role Pods before the workspace panel existed. The panel now owns the Ticket/Intake/Orchestrator UX: + +- `yoi panel` is the workspace entrypoint. +- Ticket Intake is a composer target. +- Orchestrator lifecycle and Intake handoff are integrated. +- Ticket Go/Defer actions are available from panel rows. +- No-Ticket workspaces remain Pod-centric. + +Keeping `:ticket ...` now creates a second user-facing route for the same role-launch concepts and conflicts with the direction that the panel should be the single workspace control surface. + +## Goal + +Remove the obsolete TUI `:ticket ...` command family and update active docs/tests so users are directed to `yoi panel`, `yoi ticket ...`, Ticket tools, and workflows instead. + +## Requirements + +- Remove parsing and handling for TUI `:ticket ...` commands: + - `:ticket intake ...` + - `:ticket route ...` + - `:ticket investigate ...` + - `:ticket implement ...` + - `:ticket review ...` +- Remove the associated TUI-local `CommandAction::TicketRole` / pending-ticket-role command path if it becomes unused. +- Remove single-Pod runtime handling that launches Ticket roles from `:ticket` commands. +- Keep shared role-launcher code in `client` because `yoi panel` still uses it. +- Do not remove `yoi ticket ...` CLI. +- Do not remove Ticket tools or workflows. +- Do not change `yoi panel` behavior. +- Update active docs/help text that presents `:ticket ...` as a supported route. +- Historical closed Ticket records may still mention `:ticket`; do not mass-rewrite old history. +- Add/adjust tests so `:ticket` is unknown/unsupported and no active parser tests expect it. + +## Non-goals + +- Removing the Ticket role launcher. +- Removing panel Intake/Orchestrator/Go behavior. +- Removing `yoi ticket ...`. +- Rewriting historical closed Ticket threads/artifacts. +- Layout/display tuning. + +## Acceptance criteria + +- `:ticket ...` is no longer accepted by TUI command parsing. +- There is no runtime path in the single-Pod TUI that launches Ticket roles from `:ticket`. +- Active docs/help no longer direct users to `:ticket`. +- `yoi panel` and panel Intake launch still work. +- `yoi ticket ...` still works. +- Tests cover removal or unknown-command behavior. diff --git a/.yoi/tickets/open/20260606-210832-remove-tui-ticket-commands/thread.md b/.yoi/tickets/open/20260606-210832-remove-tui-ticket-commands/thread.md new file mode 100644 index 00000000..4e87f2d9 --- /dev/null +++ b/.yoi/tickets/open/20260606-210832-remove-tui-ticket-commands/thread.md @@ -0,0 +1,20 @@ + + +## Created + +Created by LocalTicketBackend create. + +--- + + + +## Plan + +Preflight result: `implementation-ready` cleanup. + +The workspace panel now owns the Ticket/Intake/Orchestrator user-facing route, so the old single-Pod TUI `:ticket ...` command family should be removed rather than kept as fallback. Keep the shared role launcher because `yoi panel` uses it; remove only the TUI command surface/runtime handling and active docs/tests. + +Detailed delegation intent is recorded in `artifacts/delegation-intent.md`. + + +---