Expand description
Shared value types: grain records the engine reads, target references it proposes against, severity, action kinds, and provenance origin.
Text normalization note: grains arriving from an OMS substrate are already NFC-normalized by canonical serialization (a frozen OMS invariant), so the engine only case-folds and trims for identity comparisons — it deliberately carries no Unicode-normalization dependency (dependency-light policy).
Modules§
- grain_
type - Canonical grain-type names as the substrate reports them.
Structs§
- Grain
Record - A grain as read from the substrate: the content address, the OMS type name,
index-layer facts (
superseded_by), and the decoded field map. The engine treats fields as JSON and pulls typed values through the accessors below. - Target
Ref - A parsed
target_ref:<scheme>:<opaque>. The scheme is the target-kind discriminator (proposal §7.1).
Enums§
- Action
Kind - The kind of change a proposal makes. Combined with analyzer-family and target_ref it forms the dedup identity — so it must be a stable, small vocabulary, not free text.
- Origin
- Provenance of a recommendation, engine-stamped (never settable by an analyzer draft). Drives the trust class and the auto-apply gate.
- Severity
- Severity ranks proposals for review triage. Ordering is
Info < Low < Medium < High.