ticket: use base32 project record ids
This commit is contained in:
@@ -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.
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
title: "Remove tickets.sh compatibility CLI"
|
||||
state: "closed"
|
||||
created_at: "2026-06-05T20:30:06Z"
|
||||
updated_at: "2026-06-05T22:13:36Z"
|
||||
---
|
||||
|
||||
## Background
|
||||
|
||||
After `yoi ticket ...` has CLI parity and active Ticket storage has moved to `.yoi/tickets/`, the old shell compatibility CLI should be removed.
|
||||
|
||||
Keeping `tickets.sh` would leave a second mutation path and force duplicate semantics for create/comment/review/status/close/doctor.
|
||||
|
||||
## Requirements
|
||||
|
||||
- Delete `tickets.sh`.
|
||||
- Remove or update every active doc/workflow/test reference that tells users/agents to run `./tickets.sh`.
|
||||
- Replace validation references with `yoi ticket doctor`.
|
||||
- Remove shell-specific tests if any, or port them to `yoi ticket ...` / Rust backend tests.
|
||||
- Ensure no production code shells out to `tickets.sh`.
|
||||
- Ensure all Ticket mutation paths use `crates/ticket` backend APIs or the `yoi ticket` CLI.
|
||||
- Preserve historical Ticket thread/artifact mentions if they are closed historical context; do not rewrite old records unnecessarily.
|
||||
|
||||
## Non-goals
|
||||
|
||||
- Moving storage; must already be complete.
|
||||
- Adding new Ticket features.
|
||||
- External tracker support.
|
||||
- TUI changes beyond documentation/help if needed.
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- `tickets.sh` no longer exists.
|
||||
- Repository docs/workflows no longer present `tickets.sh` as an active command.
|
||||
- Validation docs use `yoi ticket doctor`.
|
||||
- `rg "tickets.sh"` returns only closed historical records or no active references.
|
||||
- `yoi ticket doctor` passes.
|
||||
- `cargo check --workspace --all-targets`, `cargo fmt --check`, `git diff --check`, and relevant tests pass.
|
||||
|
||||
## Dependencies
|
||||
|
||||
Requires:
|
||||
|
||||
- `yoi-ticket-cli-parity`
|
||||
- `builtin-yoi-local-ticket-backend-config`
|
||||
- `migrate-ticket-storage-to-yoi-tickets`
|
||||
@@ -0,0 +1,32 @@
|
||||
Removed the transitional `tickets.sh` mutation path.
|
||||
|
||||
Changes:
|
||||
- Deleted repository-root `tickets.sh`.
|
||||
- Updated active docs, workflows, project instructions, and tests from `./tickets.sh` to `yoi ticket ...` / `yoi ticket doctor`.
|
||||
- Removed shell compatibility tests that executed the script and kept Rust backend / `yoi ticket` coverage.
|
||||
- Removed the remaining top-level `work-items/README.md` legacy notice after merge so the repository-root `work-items/` path is no longer present.
|
||||
- Preserved `.yoi/tickets/` as the active Ticket storage root.
|
||||
|
||||
Validation after merge:
|
||||
- `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 HEAD~1..HEAD`
|
||||
- `cargo build -p yoi`
|
||||
- `target/debug/yoi ticket doctor`
|
||||
- `test ! -e tickets.sh`
|
||||
- active docs/code grep for `tickets.sh` / `./tickets.sh`
|
||||
- `nix build .#yoi --no-link --print-out-paths`
|
||||
|
||||
Additional post-merge cleanup validation:
|
||||
- `target/debug/yoi ticket doctor`
|
||||
- `test ! -e tickets.sh`
|
||||
- `test ! -e work-items`
|
||||
- active docs/code grep for `tickets.sh` / `./tickets.sh`
|
||||
- `git diff --check`
|
||||
|
||||
External review approved; a non-blocking stale "compatibility CLI" phrase was fixed before merge.
|
||||
|
||||
The umbrella `yoi-local-ticket-backend-migration` can be closed.
|
||||
@@ -0,0 +1,78 @@
|
||||
<!-- event: create author: tickets.sh at: 2026-06-05T20:30:06Z -->
|
||||
|
||||
## Created
|
||||
|
||||
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`.
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- event: review author: hare at: 2026-06-05T22:13:36Z status: approve -->
|
||||
|
||||
## Review: approve
|
||||
|
||||
External reviewer approved the implementation with one non-blocking stale phrase in `docs/development/work-items.md`.
|
||||
|
||||
The stale phrase was fixed before merge. After merge, the remaining top-level `work-items/README.md` legacy notice was also removed so the repository-root `work-items/` path is not present as an active or compatibility surface.
|
||||
|
||||
Review summary:
|
||||
- `tickets.sh` is deleted.
|
||||
- Active docs/project instructions/tests use `yoi ticket ...` and `yoi ticket doctor`.
|
||||
- No production code or tests execute `./tickets.sh`.
|
||||
- `.yoi/tickets/` remains the active Ticket storage root.
|
||||
- Remaining references are historical records/spec context, not active command instructions.
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- event: close author: hare at: 2026-06-05T22:13:36Z status: closed -->
|
||||
|
||||
## Closed
|
||||
|
||||
Removed the transitional `tickets.sh` mutation path.
|
||||
|
||||
Changes:
|
||||
- Deleted repository-root `tickets.sh`.
|
||||
- Updated active docs, workflows, project instructions, and tests from `./tickets.sh` to `yoi ticket ...` / `yoi ticket doctor`.
|
||||
- Removed shell compatibility tests that executed the script and kept Rust backend / `yoi ticket` coverage.
|
||||
- Removed the remaining top-level `work-items/README.md` legacy notice after merge so the repository-root `work-items/` path is no longer present.
|
||||
- Preserved `.yoi/tickets/` as the active Ticket storage root.
|
||||
|
||||
Validation after merge:
|
||||
- `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 HEAD~1..HEAD`
|
||||
- `cargo build -p yoi`
|
||||
- `target/debug/yoi ticket doctor`
|
||||
- `test ! -e tickets.sh`
|
||||
- active docs/code grep for `tickets.sh` / `./tickets.sh`
|
||||
- `nix build .#yoi --no-link --print-out-paths`
|
||||
|
||||
Additional post-merge cleanup validation:
|
||||
- `target/debug/yoi ticket doctor`
|
||||
- `test ! -e tickets.sh`
|
||||
- `test ! -e work-items`
|
||||
- active docs/code grep for `tickets.sh` / `./tickets.sh`
|
||||
- `git diff --check`
|
||||
|
||||
External review approved; a non-blocking stale "compatibility CLI" phrase was fixed before merge.
|
||||
|
||||
The umbrella `yoi-local-ticket-backend-migration` can be closed.
|
||||
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user