diff --git a/.yoi/tickets/open/20260605-203006-remove-tickets-sh/artifacts/.gitkeep b/.yoi/tickets/closed/20260605-203006-remove-tickets-sh/artifacts/.gitkeep similarity index 100% rename from .yoi/tickets/open/20260605-203006-remove-tickets-sh/artifacts/.gitkeep rename to .yoi/tickets/closed/20260605-203006-remove-tickets-sh/artifacts/.gitkeep diff --git a/.yoi/tickets/open/20260605-203006-remove-tickets-sh/artifacts/delegation-intent.md b/.yoi/tickets/closed/20260605-203006-remove-tickets-sh/artifacts/delegation-intent.md similarity index 100% rename from .yoi/tickets/open/20260605-203006-remove-tickets-sh/artifacts/delegation-intent.md rename to .yoi/tickets/closed/20260605-203006-remove-tickets-sh/artifacts/delegation-intent.md diff --git a/.yoi/tickets/open/20260605-203006-remove-tickets-sh/item.md b/.yoi/tickets/closed/20260605-203006-remove-tickets-sh/item.md similarity index 97% rename from .yoi/tickets/open/20260605-203006-remove-tickets-sh/item.md rename to .yoi/tickets/closed/20260605-203006-remove-tickets-sh/item.md index 2279554b..fa142044 100644 --- a/.yoi/tickets/open/20260605-203006-remove-tickets-sh/item.md +++ b/.yoi/tickets/closed/20260605-203006-remove-tickets-sh/item.md @@ -2,12 +2,12 @@ id: 20260605-203006-remove-tickets-sh slug: remove-tickets-sh title: Remove tickets.sh compatibility CLI -status: open +status: closed kind: task priority: P1 labels: [ticket, cleanup, cli] created_at: 2026-06-05T20:30:06Z -updated_at: 2026-06-05T21:52:55Z +updated_at: 2026-06-05T22:13:36Z assignee: null legacy_ticket: null --- diff --git a/.yoi/tickets/closed/20260605-203006-remove-tickets-sh/resolution.md b/.yoi/tickets/closed/20260605-203006-remove-tickets-sh/resolution.md new file mode 100644 index 00000000..b6f1c9bd --- /dev/null +++ b/.yoi/tickets/closed/20260605-203006-remove-tickets-sh/resolution.md @@ -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. diff --git a/.yoi/tickets/closed/20260605-203006-remove-tickets-sh/thread.md b/.yoi/tickets/closed/20260605-203006-remove-tickets-sh/thread.md new file mode 100644 index 00000000..d7e113f3 --- /dev/null +++ b/.yoi/tickets/closed/20260605-203006-remove-tickets-sh/thread.md @@ -0,0 +1,78 @@ + + +## Created + +Created by tickets.sh create. + +--- + + + +## 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`. + + +--- + + + +## 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. + + +--- + + + +## 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. + + +--- diff --git a/.yoi/tickets/open/20260605-203006-remove-tickets-sh/thread.md b/.yoi/tickets/open/20260605-203006-remove-tickets-sh/thread.md deleted file mode 100644 index a6115a5d..00000000 --- a/.yoi/tickets/open/20260605-203006-remove-tickets-sh/thread.md +++ /dev/null @@ -1,20 +0,0 @@ - - -## Created - -Created by tickets.sh create. - ---- - - - -## 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`. - - ---- diff --git a/docs/development/work-items.md b/docs/development/work-items.md index ef727e09..0429bd79 100644 --- a/docs/development/work-items.md +++ b/docs/development/work-items.md @@ -399,7 +399,7 @@ The current LocalTicketBackend stores records under: resolution.md # closed Tickets only ``` -Backend integrations must preserve this format until an explicit migration changes it. The repository-root `work-items/` directory is a legacy notice only, not a live mutable backend. Human users should prefer TUI role actions or Ticket tools; maintainers may use `yoi ticket ...` when working directly with repository records. +Backend integrations must preserve this format until an explicit migration changes it. The repository-root `work-items/` path is no longer a live mutable backend; do not recreate it for Ticket records. Human users should prefer TUI role actions or Ticket tools; maintainers may use `yoi ticket ...` when working directly with repository records. ## Validation diff --git a/work-items/README.md b/work-items/README.md deleted file mode 100644 index 1dff0b1b..00000000 --- a/work-items/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Legacy work-items notice - -Active Yoi Ticket storage has moved to `.yoi/tickets/`. - -This directory is intentionally not a live mutable backend. It remains only as a compatibility notice for older references and migration history. Do not create `open/`, `pending/`, or `closed/` Ticket records here. - -Use `yoi ticket ...` or Ticket tools; both operate on the active `.yoi/tickets/` storage.