Skip to main content

register

Function register 

Source
pub fn register(
    builder: &mut PolicyTreeBuilder,
    policy: &ParsedPolicy,
    predicate: Predicate,
) -> PolicyId
Expand description

Register predicate – whatever resolve_predicate produced – as one policy on builder, using policy’s own applicability, observation surface, staleness and revision.

Split out from resolve_predicate because didbot-pds’s last-good-revision loader needs to decide, from a resolved Predicate, whether to register it or discard it and register a fallback ParsedPolicy instead – see resolve_predicate’s doc comment. Registering unconditionally inside the resolve step would leave a rejected revision’s own (unusable, but still applicability-scoped) declaration in the tree alongside the fallback’s, denying more than the fallback alone ever would.