You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Elijah Voigt df71fc9e09 feat(nbd): implement nbd migrate command [0f51af]
Adds `nbd migrate` to bring ticket files on disk into conformance with
the current serde schema. Re-serialises every *.json file through the
current Ticket model — removing stale fields (e.g. old \"id\" key),
adding new fields with their defaults, and normalising formatting.

- store: MigrateReport struct and migrate_tickets() function
- display: format/print_migrate_report and _json variants
- main: Migrate command with --dry-run flag and cmd_migrate handler
- 6 unit tests (rewrites old format, already-current, dry-run, invalid JSON, empty store, no tickets dir)
- 4 integration tests (rewrite, dry-run, parse error tolerance, --json output)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 months ago
..
0f51af.json feat(nbd): implement nbd migrate command [0f51af] 3 months ago
4d2359.json feat(nbd): remove id from ticket JSON body; inject from filename [d1634a] 3 months ago
5f1495.json feat(nbd): remove id from ticket JSON body; inject from filename [d1634a] 3 months ago
6e4239.json feat(nbd): remove id from ticket JSON body; inject from filename [d1634a] 3 months ago
460caf.json feat(nbd): remove id from ticket JSON body; inject from filename [d1634a] 3 months ago
1939a7.json feat(nbd): remove id from ticket JSON body; inject from filename [d1634a] 3 months ago
833807.json feat(nbd): remove id from ticket JSON body; inject from filename [d1634a] 3 months ago
c9d551.json feat(nbd): remove id from ticket JSON body; inject from filename [d1634a] 3 months ago
d1634a.json feat(nbd): remove id from ticket JSON body; inject from filename [d1634a] 3 months ago
e1968f.json feat(nbd): remove id from ticket JSON body; inject from filename [d1634a] 3 months ago
fc444f.json feat(nbd): remove id from ticket JSON body; inject from filename [d1634a] 3 months ago