1.5 KiB
1.5 KiB
Merged and closed.
Implementation:
- Added shared
crates/project-recordhelper for canonical project record IDs. - Ticket and Objective creation now use the same fixed-width base32 Unix epoch millisecond ID allocator.
- IDs use alphabet
0123456789ABCDEFGHJKMNPQRSTVWXYZand width 13. - Collision handling retries by
+1mspath probe, bounded at 1000 attempts, with no suffix/counter/random tail. created_at/updated_atremain human-readable frontmatter fields; collision-adjusted ID timestamp is not silently written ascreated_at.- Migrated current repository records: 173 Ticket directories and 1 Objective directory.
- Updated relation artifacts, orchestration-plan artifacts, Objective linked Tickets, docs/examples/tests, package metadata, and Nix cargo hash.
- Added audit mapping artifact at
.yoi/tickets/00001KTNMN02R/artifacts/id-migration-map.txt.
Commits:
4203988 feat: unify project record ids- merge:
5f6c695 merge: unify project record ids
Review:
- Reviewer approved with no request-change findings.
- Residual note:
id-migration-map.txtintentionally retains old ID strings as audit evidence. It is under artifacts and does not affect schema/list/doctor behavior.
Post-merge validation:
cargo test -q -p project-recordcargo test -q -p ticketcargo test -q -p yoi objective_clicargo fmt --checkgit diff --checkcargo run -q -p yoi -- ticket doctorcargo run -q -p yoi -- objective doctorcargo check --workspacenix build .#yoi --no-link