ticket: preflight remove tui ticket commands

This commit is contained in:
Keisuke Hirata 2026-06-07 06:09:49 +09:00
parent 66b7b97839
commit 5f59b0bf57
No known key found for this signature in database
4 changed files with 179 additions and 0 deletions

View File

@ -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.

View File

@ -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.

View File

@ -0,0 +1,20 @@
<!-- event: create author: yoi ticket at: 2026-06-06T21:08:32Z -->
## Created
Created by LocalTicketBackend create.
---
<!-- event: plan author: hare at: 2026-06-06T21:09:49Z -->
## 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`.
---