pub struct ContractPathSchemaEvidence {
pub value_path: String,
pub is_referenced_value_path: bool,
pub facts: ContractValuePathFacts,
pub guard_predicates: Vec<ConditionalGuard>,
pub metadata_field_kinds: BTreeSet<MetadataFieldKind>,
pub type_hints: BTreeSet<String>,
pub guarded_type_hints: BTreeSet<String>,
pub fallback_type_hints: BTreeSet<String>,
pub provider_schema_uses: Vec<ProviderSchemaUse>,
pub requiredness: ContractRequirednessEvidence,
pub conditional_overlays: Vec<ConditionalPathOverlay>,
pub requirement_implications: Vec<ContractRequirementImplication>,
}Expand description
All schema-lowering evidence for one values path.
The contract layer owns this view so downstream generation can consume one path-local static-analysis fact instead of reassembling meaning from several parallel maps.
Fields§
§value_path: StringCanonical dot-separated values path described by this evidence.
is_referenced_value_path: boolWhether template analysis directly referenced this path.
facts: ContractValuePathFactsAggregate behavioral facts observed for the path.
guard_predicates: Vec<ConditionalGuard>Unconditional guard facts attached to the path.
metadata_field_kinds: BTreeSet<MetadataFieldKind>Kubernetes metadata field roles reached from the path.
type_hints: BTreeSet<String>Unconditional JSON Schema type hints.
guarded_type_hints: BTreeSet<String>Hints observed only under branch predicates. At the path level these
may only WIDEN (add accepted alternatives to an otherwise-typed
base): allOf branches can narrow but never re-widen a base, so a
branch-scoped domain alternative must surface here.
fallback_type_hints: BTreeSet<String>Hints from literal default/coalesce fallbacks. The selection call
never consumes the raw value — every Helm-empty input takes the
fallback — so these type only the truthy arm and base lowering must
keep the whole Helm-falsy set open beside them.
provider_schema_uses: Vec<ProviderSchemaUse>Resource-schema sinks that consume the path.
requiredness: ContractRequirednessEvidenceFacts used by optional required-property inference.
conditional_overlays: Vec<ConditionalPathOverlay>Branch-local evidence keyed by values-decidable guards.
requirement_implications: Vec<ContractRequirementImplication>Runtime-hard requirements that must hold wherever their outer guards do. They may come from an explicit abort path or another producer that proves the same rendering requirement, so lowering must not let weaker evidence suppress them.
Implementations§
Source§impl ContractPathSchemaEvidence
impl ContractPathSchemaEvidence
Sourcepub fn is_required_inference_candidate(&self) -> bool
pub fn is_required_inference_candidate(&self) -> bool
Reports whether positive, unconditional evidence can make the path required.
Trait Implementations§
Source§impl Clone for ContractPathSchemaEvidence
impl Clone for ContractPathSchemaEvidence
Source§fn clone(&self) -> ContractPathSchemaEvidence
fn clone(&self) -> ContractPathSchemaEvidence
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more