pub struct RuleCitation {
pub id: String,
pub revision: u64,
pub source: String,
pub digest: String,
pub lifecycle: String,
pub level: String,
pub checker: Option<String>,
}Expand description
The standards rule a Finding cites (KRZ-343, design D-H): the join
key that makes a checker verdict answerable to the approved manifest pin
without parsing prose. Every field is the PINNED spelling (the consent
snapshot StandardsPin carries), so a citation joins the mission’s
approved policy even after the live pack moves on.
WHY a group and not loose optional fields: a citation is only joinable
whole — a rule id without its revision names a moving target (revisions
are the semantic-change unit, D-C), and either without the source digest
cannot say WHICH approved manifest it answered to. The group is all-or-
nothing: Some carries the full join key, None cites nothing.
Fields§
§id: StringThe stable rule id (frontmatter id:), matching
StandardsRuleRef’s naming so log-wide joins use one spelling.
revision: u64The pinned revision the verdict was rendered against. A citation at
any other revision does not join the pin — the coverage fold renders
it not-applicable rather than joining stale policy.
source: StringThe pinned pack identity: pack name + standards root, the display
spelling crate::pack::resolution::render_pin_section uses.
digest: StringLowercase hex sha256 of the pinned normalized manifest
(StandardsPin::digest) — the content binding of the citation.
lifecycle: StringThe rule’s pinned EFFECTIVE lifecycle (approved or enforced):
whether the cited verdict could block (D-B).
level: StringThe rule’s RFC-2119 level (must or should).
checker: Option<String>The rule’s pinned checker binding (gate:<id>, agent-judgement,
manual-attestation) — the mechanism the verdict came from; None
when the pinned rule declared none.
Trait Implementations§
Source§impl Clone for RuleCitation
impl Clone for RuleCitation
Source§fn clone(&self) -> RuleCitation
fn clone(&self) -> RuleCitation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more