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 fail_implications: Vec<ContractFailImplication>,
}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.
fail_implications: Vec<ContractFailImplication>Requirements implied by explicit fail branches: the failing test’s
negation must hold wherever the outer guards do. Runtime-hard
evidence — rendering genuinely aborts — so lowering must not let
weaker streams suppress it.
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