ticket: preflight remove tickets shell shim

This commit is contained in:
Keisuke Hirata 2026-06-06 06:52:55 +09:00
parent 22967b9a64
commit 8c6264d699
No known key found for this signature in database
3 changed files with 106 additions and 1 deletions

View File

@ -0,0 +1,92 @@
# Delegation intent: remove `tickets.sh`
## Classification
`implementation-ready` after storage migration.
The prerequisite migration is complete: active Ticket records live under `.yoi/tickets/`, the Rust `yoi ticket` CLI has parity, and `tickets.sh` is only a transitional shim. Keeping it now leaves an unnecessary second mutation path.
## Intent
Delete `tickets.sh` and update active documentation, project instructions, tests, and validation references so the repository uses the typed Rust Ticket backend through `yoi ticket ...` and Ticket tools.
## Worktree / branch
- worktree: `/home/hare/Projects/yoi/.worktree/remove-tickets-sh`
- branch: `work/remove-tickets-sh`
This ticket will edit tracked `.yoi/tickets` records and may edit `.yoi/ticket.config.toml` only if necessary. Do not read or edit `.yoi/memory/`; it is ignored generated memory state and is not part of this cleanup.
## Requirements
- Delete repository-root `tickets.sh`.
- Remove or update every active doc/workflow/test/project-instruction reference that tells users, maintainers, or agents to run `./tickets.sh`.
- Replace validation examples with `yoi ticket doctor`.
- Replace lifecycle examples with `yoi ticket create/list/show/comment/review/status/close/doctor`.
- Remove shell compatibility tests that execute `tickets.sh`, or port them to Rust backend / `yoi ticket ...` coverage.
- Ensure no production code shells out to `tickets.sh`.
- Preserve historical Ticket thread/artifact references when they are closed historical context; do not mass-rewrite old records just for path hygiene.
- Keep `.yoi/tickets/` as the active storage root and avoid reintroducing `work-items/` as mutable storage.
- Update `work-items/README.md` so it no longer points to the transitional script.
## Active references to inspect/update
Current active references include at least:
- `AGENTS.md`
- currently says `.yoi/tickets/` and `tickets.sh` are authoritative and lists `./tickets.sh ...` commands.
- Update to `yoi ticket ...` as the command path; `.yoi/tickets/` remains storage/project-record authority.
- `README.md`
- update dogfooding/doctor examples from `./tickets.sh doctor` to `yoi ticket doctor`.
- `docs/development/work-items.md`
- remove the `tickets.sh` maintainer CLI section or turn it into a historical note only if needed.
- normal user path remains TUI role actions / Ticket tools / workflows.
- `docs/development/validation.md`
- update validation command examples.
- `crates/workflow/README.md`
- `crates/lint-common/README.md`
- tests under `crates/ticket` that mention or execute `tickets.sh`.
Historical/closed records and old report artifacts may still mention `tickets.sh` or `work-items/`; leave them alone unless an active test/doc depends on them.
## Non-goals
- Moving storage; already done.
- Adding Ticket backend features.
- TUI UI changes.
- External tracker/provider support.
- Rewriting closed historical Ticket threads/artifacts.
## Validation
Run at least:
- `cargo test -p ticket`
- `cargo test -p yoi ticket`
- `cargo test -p pod ticket --lib`
- `cargo check --workspace --all-targets`
- `cargo fmt --check`
- `git diff --check`
- `cargo build -p yoi`
- `target/debug/yoi ticket doctor` or built binary equivalent
Run `nix build .#yoi --no-link` if feasible.
Also manually check:
- `test ! -e tickets.sh`
- `rg "tickets\.sh|./tickets.sh"` only returns closed historical records/report artifacts, or no active references.
- No active docs/workflows/AGENTS instructions present `tickets.sh` as a command.
- No tests or production code execute `./tickets.sh`.
## Completion report
Report:
- worktree path / branch;
- commit hash;
- deleted script path;
- tests/docs/instructions updated;
- remaining `tickets.sh` references and why they are historical/acceptable, if any;
- validation results;
- whether the umbrella `yoi-local-ticket-backend-migration` can be closed.

View File

@ -7,7 +7,7 @@ kind: task
priority: P1 priority: P1
labels: [ticket, cleanup, cli] labels: [ticket, cleanup, cli]
created_at: 2026-06-05T20:30:06Z created_at: 2026-06-05T20:30:06Z
updated_at: 2026-06-05T20:30:06Z updated_at: 2026-06-05T21:52:55Z
assignee: null assignee: null
legacy_ticket: null legacy_ticket: null
--- ---

View File

@ -4,4 +4,17 @@
Created by tickets.sh create. Created by tickets.sh create.
---
<!-- event: plan author: hare at: 2026-06-05T21:52:55Z -->
## Plan
Preflight result: `implementation-ready` after storage migration.
`yoi ticket` has parity and active storage has moved to `.yoi/tickets/`, so `tickets.sh` should now be removed to eliminate the temporary second mutation path. Active docs/project instructions/tests should use `yoi ticket ...`; historical closed records and old report artifacts do not need mass rewriting.
Detailed delegation intent is recorded in `artifacts/delegation-intent.md`.
--- ---