Expand description
The common record envelope.
A Record is the current-state projection of a record’s event
history (see crate::event and crate::projection). Applications
never mutate a Record directly; they append events through the
crate::repository::Repository.
Structs§
- Actor
Role - An actor with an explicit role on a record.
- Attribution
- Extension
Data - Namespaced, typed extension fields attached to a record. Validated against
an
crate::extension::ExtensionSchemaregistered for the namespace. - Record
- The common record envelope (current state).
- Record
Draft - Input for creating a record. The repository assigns the id, version and recorded time; clients cannot supply them.
- Record
Times - The distinct times a record can carry. These are never conflated:
recorded_atis when this system first recorded it (ingestion time), the others are claims about the world and are optional.
Enums§
- Actor
Ref - Who did or said something.
- Actor
Role Kind - The role an actor plays with respect to a record.
- Disclosure
- Whether the identity of an attributed actor may be shown to viewers who are neither the actor nor privileged. Withholding is not anonymity: the attribution is retained for accountability and moderation.
- Lifecycle
- Generic lifecycle of a record. Application workflow states (for example an issue’s triage status) do not belong here; they live in extensions.
- Record
Kind - The type of a record. The core kinds are deliberately broader than any one application: issues are only one of them.
- Visibility
- Who may see a record, an event or a source.