ticket: use base32 project record ids
This commit is contained in:
@@ -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.
|
||||
@@ -0,0 +1,57 @@
|
||||
---
|
||||
title: "Remove obsolete TUI :ticket commands"
|
||||
state: "closed"
|
||||
created_at: "2026-06-06T21:08:32Z"
|
||||
updated_at: "2026-06-06T21:28:39Z"
|
||||
---
|
||||
|
||||
## 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.
|
||||
@@ -0,0 +1,28 @@
|
||||
Removed the obsolete single-Pod TUI `:ticket ...` command surface.
|
||||
|
||||
Changes:
|
||||
- Removed TUI command registration/parsing/handling for `:ticket intake`, `:ticket route`, `:ticket investigate`, `:ticket implement`, and `:ticket review`.
|
||||
- Removed `CommandAction::TicketRole`, `TicketRoleCommand`, pending command-action plumbing, and the single-Pod runtime Ticket role launch path.
|
||||
- Kept shared `client::ticket_role` launcher code because `yoi panel` uses it for Orchestrator/Intake launches.
|
||||
- Kept `yoi panel`, `yoi ticket ...`, Ticket tools, and workflows intact.
|
||||
- Updated active docs to direct users to `yoi panel`, Ticket tools/workflows, and `yoi ticket ...` instead of `:ticket ...`.
|
||||
- Left an explicit unsupported note for single-Pod `:ticket ...` command mode.
|
||||
- Updated parser tests so `ticket intake ...` is unknown/unsupported.
|
||||
- Did not reintroduce `--multi`.
|
||||
|
||||
Validation after merge:
|
||||
- `cargo test -p tui command`
|
||||
- `cargo test -p tui workspace_panel`
|
||||
- `cargo test -p tui multi_pod`
|
||||
- `cargo test -p yoi panel`
|
||||
- `cargo test -p client ticket_role`
|
||||
- `cargo check --workspace --all-targets`
|
||||
- `cargo fmt --check`
|
||||
- `git diff --check HEAD~1..HEAD`
|
||||
- `cargo build -p yoi`
|
||||
- `target/debug/yoi ticket doctor`
|
||||
- `nix build .#yoi --no-link --print-out-paths`
|
||||
|
||||
Remaining active-reference matches are intentional: `yoi ticket review`, panel/client `ticket_role` usage, unsupported-note/test coverage, historical report text, and non-command identifiers such as `ticket_enabled` / `builtin:ticket`.
|
||||
|
||||
External review approved with no requested changes.
|
||||
@@ -0,0 +1,74 @@
|
||||
<!-- 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`.
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- event: review author: hare at: 2026-06-06T21:28:39Z status: approve -->
|
||||
|
||||
## Review: approve
|
||||
|
||||
External reviewer approved the implementation with no requested changes.
|
||||
|
||||
Review summary:
|
||||
- TUI `ticket` command registration/parser/handler was removed.
|
||||
- `CommandAction::TicketRole`, `TicketRoleCommand`, pending local action plumbing, and the single-Pod local role-launch path were removed.
|
||||
- Shared `client::ticket_role` code remains intact for `yoi panel`.
|
||||
- `yoi panel`, `yoi ticket ...`, Ticket tools, and workflows remain intact.
|
||||
- Active docs now direct users to `yoi panel`, Ticket tools/workflows, and `yoi ticket ...`; the remaining `:ticket ...` mention is an explicit unsupported note.
|
||||
- Parser coverage treats `ticket intake ...` as unknown.
|
||||
- No `--multi` reintroduction.
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- event: close author: hare at: 2026-06-06T21:28:39Z status: closed -->
|
||||
|
||||
## Closed
|
||||
|
||||
Removed the obsolete single-Pod TUI `:ticket ...` command surface.
|
||||
|
||||
Changes:
|
||||
- Removed TUI command registration/parsing/handling for `:ticket intake`, `:ticket route`, `:ticket investigate`, `:ticket implement`, and `:ticket review`.
|
||||
- Removed `CommandAction::TicketRole`, `TicketRoleCommand`, pending command-action plumbing, and the single-Pod runtime Ticket role launch path.
|
||||
- Kept shared `client::ticket_role` launcher code because `yoi panel` uses it for Orchestrator/Intake launches.
|
||||
- Kept `yoi panel`, `yoi ticket ...`, Ticket tools, and workflows intact.
|
||||
- Updated active docs to direct users to `yoi panel`, Ticket tools/workflows, and `yoi ticket ...` instead of `:ticket ...`.
|
||||
- Left an explicit unsupported note for single-Pod `:ticket ...` command mode.
|
||||
- Updated parser tests so `ticket intake ...` is unknown/unsupported.
|
||||
- Did not reintroduce `--multi`.
|
||||
|
||||
Validation after merge:
|
||||
- `cargo test -p tui command`
|
||||
- `cargo test -p tui workspace_panel`
|
||||
- `cargo test -p tui multi_pod`
|
||||
- `cargo test -p yoi panel`
|
||||
- `cargo test -p client ticket_role`
|
||||
- `cargo check --workspace --all-targets`
|
||||
- `cargo fmt --check`
|
||||
- `git diff --check HEAD~1..HEAD`
|
||||
- `cargo build -p yoi`
|
||||
- `target/debug/yoi ticket doctor`
|
||||
- `nix build .#yoi --no-link --print-out-paths`
|
||||
|
||||
Remaining active-reference matches are intentional: `yoi ticket review`, panel/client `ticket_role` usage, unsupported-note/test coverage, historical report text, and non-command identifiers such as `ticket_enabled` / `builtin:ticket`.
|
||||
|
||||
External review approved with no requested changes.
|
||||
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user