aeat.application.modelo._binding_readiness module

Binding-readiness query for the bindings list --missing surface.

bindings list reports the registry bindings a modelo revision declares. --missing narrows that list to the bindings an operator still owes — the ones not yet resolvable from the workspace’s current state. A binding is resolvable when it carries its own literal value (constant_value) or when the active profile already holds the fact the binding selects (source = "profile"). Every other binding — ledger aggregations, prior-filing pulls, live observations — needs data the operator has not supplied yet and is therefore missing.

This module owns the cross-domain step (registry snapshot + user profile) so the registry-query CLI stays a thin caller. The revision is fetched through a ValidatedRegistryAuthority given the requested modelo, year, and period.

See also

aeat.application.modelo._profile_binding.resolve_profile_sourced_bindings()

Profile binding resolver whose typed binding channels become the profile-resolved id set returned here.

aeat.application.state_projection

Broader modelo readiness projection that reports formula-consumed profile/manual bindings for the readiness command.

profile_resolvable_binding_ids(*, modelo, bucket_id, filing_year, period)[source]

Return binding ids resolvable from the active profile’s stored facts.

Resolves the registry snapshot for (modelo, filing_year, period) — or, when period is None, the revision covering filing_year — and projects the bucket’s user profile onto its source = "profile" bindings. A supplied Period must match filing_year and contributes the registry token used at the snapshot boundary. The returned set is the binding ids the profile already satisfies; constant_value bindings are handled separately by the caller because they carry a literal value independent of any profile.

Returns an empty set when the snapshot cannot be resolved or the bucket has no profile — the caller then treats every non-constant binding as missing, which is the correct conservative answer.

Return type:

frozenset[str]

Parameters: