pub struct ContractSchemaSignals { /* private fields */ }Expand description
Contract-derived facts consumed by core values-schema generation.
This is the typed boundary between static template interpretation and JSON Schema lowering. Optional post-passes can ask for their own projections, but core schema generation should consume this artifact rather than re-reading raw contract claims.
Implementations§
Source§impl ContractSchemaSignals
impl ContractSchemaSignals
Sourcepub fn new(
schema_evidence_by_value_path: BTreeMap<String, ContractPathSchemaEvidence>,
terminal_clauses: Vec<Vec<ConditionalGuard>>,
) -> ContractSchemaSignals
pub fn new( schema_evidence_by_value_path: BTreeMap<String, ContractPathSchemaEvidence>, terminal_clauses: Vec<Vec<ConditionalGuard>>, ) -> ContractSchemaSignals
Builds a stable signal set from path evidence and terminal clauses.
Sourcepub fn with_values_default_sources(
self,
sources: impl IntoIterator<Item = ValuesDefaultSource>,
) -> ContractSchemaSignals
pub fn with_values_default_sources( self, sources: impl IntoIterator<Item = ValuesDefaultSource>, ) -> ContractSchemaSignals
Attaches chart subtrees that supply runtime defaults to effective values paths.
Sourcepub fn values_default_sources(&self) -> &BTreeSet<ValuesDefaultSource>
pub fn values_default_sources(&self) -> &BTreeSet<ValuesDefaultSource>
Default subtrees applied to effective values before templates consume them.
Sourcepub fn with_root_overlay_fail_implications(
self,
prefixes: impl IntoIterator<Item = String>,
) -> ContractSchemaSignals
pub fn with_root_overlay_fail_implications( self, prefixes: impl IntoIterator<Item = String>, ) -> ContractSchemaSignals
Projects fail-grade contracts on effective-root paths onto their
prefixed spellings for every in-place root overlay
(mustMergeOverwrite $.Values (index $.Values "pilot")): a member
the user writes under the prefix overwrites its effective-root twin
before any consumer reads it, so the same abort-grade requirements
bind the prefixed path (istiod’s pilot.env: "oops" aborts exactly
like env: "oops"). Guards about the subject path or its
descendants move to the prefixed spelling; foreign guard paths keep
their root spellings — a bounded reading that assumes cross-path
conditions are supplied at the root, not through the same overlay.
Sourcepub fn with_values_program_wrappers(
self,
wrappers: impl IntoIterator<Item = ValuesProgramWrapper>,
) -> ContractSchemaSignals
pub fn with_values_program_wrappers( self, wrappers: impl IntoIterator<Item = ValuesProgramWrapper>, ) -> ContractSchemaSignals
Attaches chart-authored program-wrapper conventions.
Sourcepub fn values_program_wrappers(&self) -> &BTreeSet<ValuesProgramWrapper>
pub fn values_program_wrappers(&self) -> &BTreeSet<ValuesProgramWrapper>
Program-wrapper conventions the chart’s engine applies to its values.
Sourcepub fn with_values_program_wrapper_exclusions(
self,
paths: impl IntoIterator<Item = String>,
) -> ContractSchemaSignals
pub fn with_values_program_wrapper_exclusions( self, paths: impl IntoIterator<Item = String>, ) -> ContractSchemaSignals
Attaches paths excluded from wrapper alternatives (pre-rewrite strict consumers).
Sourcepub fn values_program_wrapper_exclusions(&self) -> &BTreeSet<String>
pub fn values_program_wrapper_exclusions(&self) -> &BTreeSet<String>
Values paths whose nodes must not gain a wrapper alternative.
Sourcepub fn direct_ranged_value_paths(&self) -> &BTreeSet<String>
pub fn direct_ranged_value_paths(&self) -> &BTreeSet<String>
Paths the chart ranges DIRECTLY: their runtime iterable domain is wider than any declared shape, so ancestor subtree schemas must not shadow their own resolutions.
Sourcepub fn terminal_clauses(&self) -> &[Vec<ConditionalGuard>]
pub fn terminal_clauses(&self) -> &[Vec<ConditionalGuard>]
Terminating validator formulas: no valid values document satisfies all guards of one clause.
Sourcepub fn schema_evidence_by_value_path(
&self,
) -> &BTreeMap<String, ContractPathSchemaEvidence>
pub fn schema_evidence_by_value_path( &self, ) -> &BTreeMap<String, ContractPathSchemaEvidence>
Returns schema-lowering evidence indexed by canonical values path.
Sourcepub fn referenced_value_paths(&self) -> &BTreeSet<String>
pub fn referenced_value_paths(&self) -> &BTreeSet<String>
Values paths the contract directly referenced, in stable order.
Sourcepub fn pruned_parent_value_paths(&self) -> &BTreeSet<String>
pub fn pruned_parent_value_paths(&self) -> &BTreeSet<String>
Non-fragment parent paths whose referenced descendants own their own schema evidence, so parent-level defaults must not restate them.
Sourcepub fn evidence_for(
&self,
value_path: &str,
) -> Option<&ContractPathSchemaEvidence>
pub fn evidence_for( &self, value_path: &str, ) -> Option<&ContractPathSchemaEvidence>
Returns schema evidence for one canonical values path.
Trait Implementations§
Source§impl Clone for ContractSchemaSignals
impl Clone for ContractSchemaSignals
Source§fn clone(&self) -> ContractSchemaSignals
fn clone(&self) -> ContractSchemaSignals
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ContractSchemaSignals
impl Debug for ContractSchemaSignals
Source§impl Default for ContractSchemaSignals
impl Default for ContractSchemaSignals
Source§fn default() -> ContractSchemaSignals
fn default() -> ContractSchemaSignals
impl Eq for ContractSchemaSignals
Source§impl PartialEq for ContractSchemaSignals
impl PartialEq for ContractSchemaSignals
impl StructuralPartialEq for ContractSchemaSignals
Auto Trait Implementations§
impl Freeze for ContractSchemaSignals
impl RefUnwindSafe for ContractSchemaSignals
impl Send for ContractSchemaSignals
impl Sync for ContractSchemaSignals
impl Unpin for ContractSchemaSignals
impl UnsafeUnpin for ContractSchemaSignals
impl UnwindSafe for ContractSchemaSignals
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.