ticket: record base32 implementation report

This commit is contained in:
Keisuke Hirata 2026-06-09 22:12:35 +09:00
parent 2bc299c5b1
commit bd9651bddd
No known key found for this signature in database
2 changed files with 38 additions and 1 deletions

View File

@ -2,7 +2,7 @@
title: 'Ticket と Objective の ID を base32 timestamp 形式に統一する'
state: 'inprogress'
created_at: '2026-06-09T07:30:47Z'
updated_at: '2026-06-09T12:47:58Z'
updated_at: '2026-06-09T13:12:25Z'
assignee: null
queued_by: 'workspace-panel'
queued_at: '2026-06-09T10:31:17Z'

View File

@ -161,3 +161,40 @@ Runtime note:
- The Pod was therefore launched with `builtin:default` as a runtime workaround, with explicit Coder-role instructions in the handoff. This is a session-runtime workaround only, not a project configuration change.
---
<!-- event: implementation_report author: orchestrator at: 2026-06-09T13:12:25Z -->
## Implementation report
Coder implementation completed on branch `base32-record-ids`.
Implementation commit:
- `4203988d747d4e8ae4d30f63a015835566fd4900` / `feat: unify project record ids`
Reported design:
- Alphabet: `0123456789ABCDEFGHJKMNPQRSTVWXYZ`
- Width: 13 chars, fixed-width base32 Unix epoch milliseconds.
- Collision handling: path collision retries by `+1ms`, bounded at 1000 attempts, no suffix/counter/random tail.
- `created_at` remains real human-readable creation time; ID timestamp may diverge on collision-adjusted allocation.
Reported migration:
- 173 Ticket dirs migrated.
- 1 Objective dir migrated.
- 174 total mapping entries.
- Mapping artifact: `.yoi/tickets/00001KTNMN02R/artifacts/id-migration-map.txt`.
Reported validation:
- `cargo test -q -p project-record`
- `cargo test -q -p ticket`
- `cargo test -q -p yoi objective_cli`
- `cargo fmt --check`
- `git diff --check`
- `git diff --cached --check`
- `cargo run -q -p yoi -- ticket doctor`
- `cargo run -q -p yoi -- objective doctor`
- `cargo check --workspace`
- `nix build .#yoi`
Reviewer should verify migration/reference correctness and whether the committed mapping artifact under the migrated current Ticket is the right durable location.
---