cadrumo.adapters.persistence.profile.percepciones_observations module

Encrypted persistence adapter for percepciones observation capabilities.

Core types: SecureObjectRepository, SensitivityClass.

class PercepcionObservationRepositoryAdapter(*, objects)[source]

Bases: SecureBoundRepository[_PercepcionObservationEnvelopePayload], PercepcionObservationRepository

Bind the percepciones port to encrypted secure-object storage.

Parameters:

objects (SecureObjectRepository)

namespace: ClassVar[str]
sensitivity: ClassVar[SensitivityClass]
schema_version: ClassVar[int]
payload_type

alias of _PercepcionObservationEnvelopePayload

validate_observation_window_modelo(modelo)[source]

Bind application window-key validation to persistence storage safety.

Return type:

str

Parameters:

modelo (str)

extract_identifier(payload)[source]

Return the natural id for payload (used as the SQL object key).

Subclasses MUST override. The base implementation raises NotImplementedError.

Return type:

str

Parameters:

payload (_PercepcionObservationEnvelopePayload)

build_observation_payload(*, modelo, filing_year, period, observation, source_kind, captured_at=None, source_metadata=None)[source]

Build one validated envelope payload before committing it.

Return type:

_PercepcionObservationEnvelopePayload

Parameters:
save_observation(*, modelo, filing_year, period, observation, source_kind, captured_at=None, source_metadata=None)[source]

Persist one per-perceptor-clave observation.

Return type:

None

Parameters:
replace_observations(*, modelo, filing_year, period, observations, source_kind, captured_at=None, source_metadata=None)[source]

Atomically replace the complete per-perceptor-clave window.

Return type:

None

Parameters:
load_observations(modelo, period)[source]

Return all persisted observations for one modelo/period window.

Return type:

tuple[WithholdingObservation, ...]

Parameters:
iter_modelo(modelo)[source]

Yield encrypted per-perceptor-clave payloads for one modelo.

Return type:

Iterator[_PercepcionObservationEnvelopePayload]

Parameters:

modelo (str)