Expand description
Ticket / work-item capability layer for gonzalo.
A typed Ticket is persisted as a Record
(defined in gonzalo-domain); this crate adds the capability surface over
it (ADR 0010): the TicketSource provider boundary, a per-connection
field/state mapping policy, capability negotiation, and a RecordKey
convention so tickets compose with the vector and graph layers by shared key.
Phase 1 is read-only import; write-back is capability-gated. Concrete provider connectors (GitHub, Jira, Linear, …) are separate, feature-gated crates built on this surface.
Re-exports§
pub use ingest::IngestError;pub use ingest::IngestSummary;pub use ingest::ingest;pub use mapping::FieldMapping;pub use mapping::ReverseError;pub use mapping::StateMapping;pub use mapping::StateSignal;pub use mock::InMemorySource;pub use source::Capabilities;pub use source::Cursor;pub use source::Page;pub use source::Result;pub use source::SourceError;pub use source::TicketSource;
Modules§
- conformance
- Reusable conformance checks for
TicketSourceimplementations. - ingest
- The ingest engine: pull a
TicketSourceand persist each [Ticket] as aRecord, using optimistic concurrency (ADR 0005). Re-sync is idempotent — unchanged tickets (same body hash) are skipped, so a full board re-scan is cheap. Depends only on the trait +Store, never on a concrete connector. - mapping
- Per-connection field/state mapping policy (ADR 0010).
- mock
- An in-memory
TicketSource— the read-only reference implementation, analogous togonzalo_vector::MemoryVectorIndex. Useful for tests and for ingesting hand-built tickets without a network connector. - source
- The provider boundary:
TicketSource(ADR 0010).
Functions§
- record_
key - The stable
RecordKeyfor a ticket:tickets / <provider> / <id>, where<id>isscoped_uid— the ticket’suid, optionally prefixed with a board/connection discriminator. - scoped_
uid - Build the
idcomponent of a ticket [RecordKey]: the bareuid, or"<scope>/<uid>"when a board/connection discriminator is supplied.