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.
The ticket id is now stored only in the filename stem (.nbd/tickets/{id}.json).
`id` is annotated with `#[serde(skip)]` so it is never written to disk,
eliminating the consistency hazard of id-in-body vs. filename disagreement.
- ticket.rs: add `#[serde(skip)]` to `Ticket::id`
- store.rs: `read_ticket` and `list_tickets` inject id from filename stem
- display.rs: `ticket_to_json_value` re-inserts id for CLI `--json` output
- tests.rs: new unit tests for omission, injection, and old-format compat
- integration.rs: assert written files lack "id"; assert read --json has id
Backwards-compatible: old files with "id" in JSON body still parse correctly
(serde ignores the unknown field), so existing stores work without migration.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
4 months ago | |
|---|---|---|
| .. | ||
| 0f51af.json | 4 months ago | |
| 4d2359.json | 4 months ago | |
| 5f1495.json | 4 months ago | |
| 6e4239.json | 4 months ago | |
| 460caf.json | 4 months ago | |
| 1939a7.json | 4 months ago | |
| 833807.json | 4 months ago | |
| c9d551.json | 4 months ago | |
| d1634a.json | 4 months ago | |
| e1968f.json | 4 months ago | |
| fc444f.json | 4 months ago | |