Expand description
Ticket (tracked work item) views — a normalized work-item model over external ticket platforms (GitHub, Jira, Linear, GitLab, Asana, …).
See ADR 0010. The canonical model carries a normalized spine (state
category, resolution, actor roles, priority) plus lossless raw fields, so a
provider’s native data round-trips while cross-platform queries key off the
normalized form. The provider boundary and per-connection field/state
mapping live in the gonzalo-ticket capability crate; these are the
persisted typed views.
Structs§
- Actor
- A person involved with a ticket, and in what capacity.
- Container
- A container a ticket is filed in (repo, project, board, section). Tickets
may be multi-homed (Asana), so
Ticketcarries a list;primarymarks the container whose mapping resolves the canonical state. - Link
- A typed relationship to another record or external ticket.
- Priority
- Normalized priority plus the raw provider value.
- State
- Normalized state: a category, an optional resolution, and the raw provider-native status kept for fidelity / write-back.
- Ticket
- A tracked work item, normalized across platforms (ADR 0010).
- Ticket
Body - Body text with its source format;
rawretained for lossless round-trip. - Ticket
Event - An append-only comment or lifecycle event on a ticket. Stored under the
TicketEventkind, which merges by union (ADR 0005).
Enums§
- Actor
Role - What capacity a person is involved in. Support/ITSM platforms distinguish
requester from assignee from submitter; dev trackers mostly use
Assignee. - Body
Format - The source format of a ticket body. The normalized
markdownis always populated;rawround-trips the native form (e.g. Jira ADF JSON). - Link
Kind - The nature of a relationship between tickets/records.
- Link
Target - What a link points at: a first-class record (once ingested) or an external reference that hasn’t been imported.
- Priority
Level - Normalized priority ordinal (ascending:
None< … <Urgent). - Provider
- The platform a ticket was imported from.
- Resolution
- Why a ticket closed — the second state axis Bugzilla and Jira need
(status × resolution).
Duplicatepairs with aLinkto the canonical. - State
Category - Normalized lifecycle category — the cross-platform spine (ADR 0010). Each
provider’s native status maps onto exactly one of these via a
StateMapping; the raw status is retained onState.