cadrumo.domain.calculations.registry.binding_terminal_audit module

The effective terminal-origin expectation of one binding.

binding_terminal_origin defines what an expectation says; binding_provider_registration declares which terminal origin classes a provider kind is able to rest on at all. Neither on its own answers the question a runtime audit has to ask: for THIS binding, what should the resolved provenance graph look like?

A binding may author terminal_origins explicitly, and when it does that authored claim is the whole answer – it is narrower than the registration by construction, because the compiler already refuses an authored class the registration cannot produce. Where a binding authors none (the ordinary case across the corpus), the expectation falls back to the one its registration implies, so that “the author wrote nothing” and “no expectation exists” stay different statements. A derived default is still falsifiable: it is read off declared registration data, not assumed.

expected_terminal_origins(kind)[source]

Return the expectation a binding of kind carries when it authors none.

One expectation per terminal origin class the registration permits, in stable class order, each in the primary lineage role: the provenance node a resolver names as the terminal fact behind the value is primary by definition, and a contributor node hangs off one of those.

Return type:

tuple[TerminalOriginExpectation, ...]

Parameters:

kind (BindingSourceKind)

effective_terminal_origins(binding)[source]

Return the expectation a resolved value of binding is audited against.

Return type:

tuple[TerminalOriginExpectation, ...]

Parameters:

binding (BindingDefinition)