cadrumo.domain.calculations.registry.m303_prorrata_activity_projection module

Projection from canonical M303 prorrata rows to official endpoints.

The five DP30305 activity rows are durable children of the encrypted ProrrataRegister. This registry-side module reads the revision’s reviewed endpoint declarations and projects those row facts into their five fixed official slots. It neither introduces an independent scalar input channel nor renders a withdrawn export layout.

class M303ProrrataActivityEndpointValue(**data)[source]

Bases: BaseModel

One official endpoint paired with the value projected from its row child.

Parameters:

data (Any)

projection_ref: M303ProrrataActivityProjectionRef
value: str | Decimal
class M303ProrrataActivityRowProjection(**data)[source]

Bases: BaseModel

The five reviewed official endpoint values for one persisted row slot.

Parameters:

data (Any)

slot: int
endpoints: tuple[M303ProrrataActivityEndpointValue, ...]
project_m303_prorrata_activity_rows(*, projection_refs, register, ejercicio)[source]

Project an applicable register’s five row children into a revision’s endpoints.

The registry determines which official box belongs to which fixed row slot; the register determines the values. An inactive prorrata year has no row projection. An active year whose canonical collection is incomplete fails rather than yielding blank or zero endpoint values.

Return type:

tuple[M303ProrrataActivityRowProjection, ...]

Parameters: