Skip to main content

Module model

Module model 

Source
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§

GrainRecord
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.
TargetRef
A parsed target_ref: <scheme>:<opaque>. The scheme is the target-kind discriminator (proposal §7.1).

Enums§

ActionKind
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.