4.3 KiB
Created
Created by tickets.sh create.
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.shin 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.
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.tomlwithprovider = "builtin:yoi_local"androot = ".yoi/tickets". - Updated default config resolution, Pod feature fallback, CLI tests/help, docs, and the transitional
tickets.shshim. - Left
work-items/README.mdas 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.
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.tomlusesprovider = "builtin:yoi_local"androot = ".yoi/tickets".tickets.shdefaults to.yoi/ticketsas 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
developwas preserved after migration.
No changes requested.
Closed
Migrated active Yoi local Ticket storage from repository-root work-items/ to .yoi/tickets/.
Final storage/config behavior:
[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.tomlwas added for this repository..yoi/memory/was not migrated or touched.tickets.shremains only as a transitional maintainer shim and now defaults to.yoi/tickets;WORK_ITEMS_DIRremains available for one-off legacy/recovery checks.- The later workspace panel UI design update from
developwas 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 configcargo test -p ticketcargo test -p pod ticket --libcargo test -p yoi ticketcargo check --workspace --all-targetscargo fmt --checkgit diff --check HEAD~1..HEADcargo build -p yoitarget/debug/yoi ticket doctor./tickets.sh doctor- scratch workspace
target/debug/yoi ticket createcreates under.yoi/ticketsand does not creatework-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.