ticket: close yoi tickets storage migration
This commit is contained in:
parent
441f59d23b
commit
22967b9a64
|
|
@ -2,12 +2,12 @@
|
|||
id: 20260605-203006-migrate-ticket-storage-to-yoi-tickets
|
||||
slug: migrate-ticket-storage-to-yoi-tickets
|
||||
title: Migrate Ticket storage to .yoi/tickets
|
||||
status: open
|
||||
status: closed
|
||||
kind: task
|
||||
priority: P1
|
||||
labels: [ticket, migration, storage]
|
||||
created_at: 2026-06-05T20:30:06Z
|
||||
updated_at: 2026-06-05T21:43:54Z
|
||||
updated_at: 2026-06-05T21:51:58Z
|
||||
assignee: null
|
||||
legacy_ticket: null
|
||||
---
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
Migrated active Yoi local Ticket storage from repository-root `work-items/` to `.yoi/tickets/`.
|
||||
|
||||
Final storage/config behavior:
|
||||
|
||||
```toml
|
||||
[backend]
|
||||
provider = "builtin:yoi_local"
|
||||
root = ".yoi/tickets"
|
||||
```
|
||||
|
||||
- Missing Ticket config now defaults to `<workspace>/.yoi/tickets`.
|
||||
- `provider = "builtin:yoi_local"` remains the canonical provider spelling.
|
||||
- Legacy `kind = "local"` remains only a transitional alias and is not documented as the active path.
|
||||
- Tracked Ticket records were moved to `.yoi/tickets/{open,pending,closed}/...`.
|
||||
- `work-items/` now contains only a legacy README notice and is not a live mutable backend.
|
||||
- `.yoi/ticket.config.toml` was added for this repository.
|
||||
- `.yoi/memory/` was not migrated or touched.
|
||||
- `tickets.sh` remains only as a transitional maintainer shim and now defaults to `.yoi/tickets`; `WORK_ITEMS_DIR` remains available for one-off legacy/recovery checks.
|
||||
- The later workspace panel UI design update from `develop` was merged into the migration branch before final merge, so the design ticket content is preserved under `.yoi/tickets`.
|
||||
|
||||
Validation after merge:
|
||||
- `cargo test -p ticket config`
|
||||
- `cargo test -p ticket`
|
||||
- `cargo test -p pod ticket --lib`
|
||||
- `cargo test -p yoi ticket`
|
||||
- `cargo check --workspace --all-targets`
|
||||
- `cargo fmt --check`
|
||||
- `git diff --check HEAD~1..HEAD`
|
||||
- `cargo build -p yoi`
|
||||
- `target/debug/yoi ticket doctor`
|
||||
- `./tickets.sh doctor`
|
||||
- scratch workspace `target/debug/yoi ticket create` creates under `.yoi/tickets` and does not create `work-items`
|
||||
- `nix build .#yoi --no-link --print-out-paths`
|
||||
|
||||
A first post-merge attempt to run `target/debug/yoi ticket doctor` failed because the binary was stale and still expected the old config schema; rebuilding with `cargo build -p yoi` fixed it. This was a local validation-order issue, not a source failure.
|
||||
|
||||
External review approved with no requested changes.
|
||||
|
||||
`remove-tickets-sh` can proceed next.
|
||||
|
|
@ -0,0 +1,109 @@
|
|||
<!-- 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:28:37Z -->
|
||||
|
||||
## Plan
|
||||
|
||||
Preflight result: `implementation-ready` with repository-record migration risk.
|
||||
|
||||
The provider-config prerequisite is complete. This ticket now owns the active storage move from `work-items/` to `.yoi/tickets/` and should make `.yoi/tickets` the default/configured built-in Yoi local backend root.
|
||||
|
||||
Important boundaries:
|
||||
- no generated memory migration;
|
||||
- do not read or edit `.yoi/memory/`;
|
||||
- do not remove `tickets.sh` in this ticket, but update it as a transitional maintainer shim if it remains present;
|
||||
- do not mass-rewrite historical thread prose solely because it mentions `work-items/`.
|
||||
|
||||
Detailed delegation intent is recorded in `artifacts/delegation-intent.md`.
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- event: implementation_report author: hare at: 2026-06-05T21:43:54Z -->
|
||||
|
||||
## Implementation report
|
||||
|
||||
Implemented the local Ticket storage migration to `.yoi/tickets/`.
|
||||
|
||||
- Moved tracked `work-items/{open,pending,closed}` records to `.yoi/tickets/{open,pending,closed}`.
|
||||
- Added `.yoi/ticket.config.toml` with `provider = "builtin:yoi_local"` and `root = ".yoi/tickets"`.
|
||||
- Updated default config resolution, Pod feature fallback, CLI tests/help, docs, and the transitional `tickets.sh` shim.
|
||||
- Left `work-items/README.md` as a non-active compatibility notice only.
|
||||
- Validated with the requested cargo tests/checks, both doctors, scratch default-create check, and `nix build .#yoi --no-link`.
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- event: review author: hare at: 2026-06-05T21:51:58Z status: approve -->
|
||||
|
||||
## Review: approve
|
||||
|
||||
External reviewer approved the implementation at branch head `9d142ec`.
|
||||
|
||||
Review summary:
|
||||
- Active Ticket records moved under `.yoi/tickets/`.
|
||||
- `work-items/` is reduced to a non-active legacy README and is not a second mutable root.
|
||||
- Missing config/default root resolves to `<workspace>/.yoi/tickets`.
|
||||
- `.yoi/ticket.config.toml` uses `provider = "builtin:yoi_local"` and `root = ".yoi/tickets"`.
|
||||
- `tickets.sh` defaults to `.yoi/tickets` as a transitional shim.
|
||||
- Rust Ticket CLI/tools and Pod feature preserve config-root behavior and fail-closed diagnostics.
|
||||
- `.yoi/memory/` was not migrated or touched.
|
||||
- The latest workspace panel design ticket update from `develop` was preserved after migration.
|
||||
|
||||
No changes requested.
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- event: close author: hare at: 2026-06-05T21:51:58Z status: closed -->
|
||||
|
||||
## Closed
|
||||
|
||||
Migrated active Yoi local Ticket storage from repository-root `work-items/` to `.yoi/tickets/`.
|
||||
|
||||
Final storage/config behavior:
|
||||
|
||||
```toml
|
||||
[backend]
|
||||
provider = "builtin:yoi_local"
|
||||
root = ".yoi/tickets"
|
||||
```
|
||||
|
||||
- Missing Ticket config now defaults to `<workspace>/.yoi/tickets`.
|
||||
- `provider = "builtin:yoi_local"` remains the canonical provider spelling.
|
||||
- Legacy `kind = "local"` remains only a transitional alias and is not documented as the active path.
|
||||
- Tracked Ticket records were moved to `.yoi/tickets/{open,pending,closed}/...`.
|
||||
- `work-items/` now contains only a legacy README notice and is not a live mutable backend.
|
||||
- `.yoi/ticket.config.toml` was added for this repository.
|
||||
- `.yoi/memory/` was not migrated or touched.
|
||||
- `tickets.sh` remains only as a transitional maintainer shim and now defaults to `.yoi/tickets`; `WORK_ITEMS_DIR` remains available for one-off legacy/recovery checks.
|
||||
- The later workspace panel UI design update from `develop` was merged into the migration branch before final merge, so the design ticket content is preserved under `.yoi/tickets`.
|
||||
|
||||
Validation after merge:
|
||||
- `cargo test -p ticket config`
|
||||
- `cargo test -p ticket`
|
||||
- `cargo test -p pod ticket --lib`
|
||||
- `cargo test -p yoi ticket`
|
||||
- `cargo check --workspace --all-targets`
|
||||
- `cargo fmt --check`
|
||||
- `git diff --check HEAD~1..HEAD`
|
||||
- `cargo build -p yoi`
|
||||
- `target/debug/yoi ticket doctor`
|
||||
- `./tickets.sh doctor`
|
||||
- scratch workspace `target/debug/yoi ticket create` creates under `.yoi/tickets` and does not create `work-items`
|
||||
- `nix build .#yoi --no-link --print-out-paths`
|
||||
|
||||
A first post-merge attempt to run `target/debug/yoi ticket doctor` failed because the binary was stale and still expected the old config schema; rebuilding with `cargo build -p yoi` fixed it. This was a local validation-order issue, not a source failure.
|
||||
|
||||
External review approved with no requested changes.
|
||||
|
||||
`remove-tickets-sh` can proceed next.
|
||||
|
||||
|
||||
---
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
<!-- 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:28:37Z -->
|
||||
|
||||
## Plan
|
||||
|
||||
Preflight result: `implementation-ready` with repository-record migration risk.
|
||||
|
||||
The provider-config prerequisite is complete. This ticket now owns the active storage move from `work-items/` to `.yoi/tickets/` and should make `.yoi/tickets` the default/configured built-in Yoi local backend root.
|
||||
|
||||
Important boundaries:
|
||||
- no generated memory migration;
|
||||
- do not read or edit `.yoi/memory/`;
|
||||
- do not remove `tickets.sh` in this ticket, but update it as a transitional maintainer shim if it remains present;
|
||||
- do not mass-rewrite historical thread prose solely because it mentions `work-items/`.
|
||||
|
||||
Detailed delegation intent is recorded in `artifacts/delegation-intent.md`.
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- event: implementation_report author: hare at: 2026-06-05T21:43:54Z -->
|
||||
|
||||
## Implementation report
|
||||
|
||||
Implemented the local Ticket storage migration to `.yoi/tickets/`.
|
||||
|
||||
- Moved tracked `work-items/{open,pending,closed}` records to `.yoi/tickets/{open,pending,closed}`.
|
||||
- Added `.yoi/ticket.config.toml` with `provider = "builtin:yoi_local"` and `root = ".yoi/tickets"`.
|
||||
- Updated default config resolution, Pod feature fallback, CLI tests/help, docs, and the transitional `tickets.sh` shim.
|
||||
- Left `work-items/README.md` as a non-active compatibility notice only.
|
||||
- Validated with the requested cargo tests/checks, both doctors, scratch default-create check, and `nix build .#yoi --no-link`.
|
||||
|
||||
|
||||
---
|
||||
Loading…
Reference in New Issue
Block a user