cadrumo.domain.calculations.registry.modelo_inception module¶
The first filing year a modelo answers for, and why it answers no earlier.
A modelo with no revision for a requested year gives no reason for the absence, and two opposite situations produce that same silence: the modelo did not exist yet, or it existed and nobody has authored the edition. The first is the product declaring its scope; the second is debt. Refusing both identically is correct; reporting both identically is not, because only one of them is work.
Nothing derives this from the corpus. The earliest authored revision is the same in both cases, which is exactly why it cannot be the evidence. Grounding a modelo’s inception is an authoring act, and this declaration is where the author records which of the two situations holds.
The two arms mirror the predecessor mechanism in
revision_contracts: a positive
claim, or a single grounding table stating what absence cannot say.
inception = { filing_year = 2023, legal_refs = [“orden-hfp-886-2023:art-1”] } inception = { unauthored = { earliest_authored = 2025, reason = “…” } }
Both refuse a request below them. Neither permits a later edition to be carried backwards into a year the modelo did not answer for: applying a design to a period that predates it is wrong as law whether or not anybody has noticed.
- class DeclaredInception(**data)[source]¶
Bases:
RegistryModelThe modelo began here in law; earlier years are outside the product’s reach.
A refusal below this year is final and carries no worklist entry: nothing is owed for a year in which the modelo did not exist.
legal_refsnames the authority that created it, because a claim about when a modelo began is a claim about law and cannot rest on the corpus’s own shape.- Parameters:
data (Any)
- filing_year: FilingYear¶
- legal_refs: LegalRefs¶
- source_refs: tuple[SourceRefId, ...]¶
- class UnauthoredBefore(**data)[source]¶
Bases:
RegistryModelThe modelo existed earlier; those editions are simply not authored yet.
A refusal below
earliest_authoredis equally final, and equally a refusal, but it stays on the worklist. This is the arm that keeps a gap visible as debt instead of letting it read as scope.- Parameters:
data (Any)
- earliest_authored: FilingYear¶
- reason: str¶
- legal_refs: tuple[LegalRefId, ...]¶
- source_refs: tuple[SourceRefId, ...]¶