cadrumo.application.config_reset_repository module¶
Atomic per-file persistence for reset-operation journals.
Journal files live under <storage-root>/reset-operations, outside bucket
directories. Atomicity applies to an individual journal-file write or replace,
not to an entire reset operation. The shared read/write substrate is the
JournalRepositoryBase; this module adds the reset-specific
creation-exclusivity and deletion-ownership surface on top.
- exception ConfigResetJournalError(message=None, *, context=None, translated_message=None)[source]¶
Bases:
CadrumoErrorBase failure for reset-journal persistence and validation.
- Parameters:
- Return type:
None
- code¶
- exception ConfigResetJournalAlreadyExistsError(message=None, *, context=None, translated_message=None)[source]¶
Bases:
ConfigResetJournalErrorRaised when create targets an operation id already on disk.
- Parameters:
- Return type:
None
- code¶
- exception ConfigResetJournalNotFoundError(message=None, *, context=None, translated_message=None)[source]¶
Bases:
ConfigResetJournalErrorRaised when a requested reset journal does not exist.
- Parameters:
- Return type:
None
- code¶
- exception ConfigResetJournalCorruptError(message=None, *, context=None, translated_message=None)[source]¶
Bases:
ConfigResetJournalErrorRaised for unreadable, malformed, schema-invalid, or mismatched journals.
- Parameters:
- Return type:
None
- code¶
- exception ConfigResetJournalOwnershipError(message=None, *, context=None, translated_message=None)[source]¶
Bases:
ConfigResetJournalErrorRaised when a journal lacks the required target deletion evidence.
- Parameters:
- Return type:
None
- code¶
- exception ConfigResetJournalIncompleteError(message=None, *, context=None, translated_message=None)[source]¶
Bases:
ConfigResetJournalErrorRaised when a new operation would overlap an incomplete reset.
- Parameters:
- Return type:
None
- code¶
- class ConfigResetJournalRepository(*, settings=None, storage_root=None)[source]¶
Bases:
JournalRepositoryBase[ConfigResetOperation]Persist credential-free journals as atomic individual files.
The repository provides no reset orchestration, journal-deletion API, or cryptographic authenticity guarantee. The atomic read/write substrate is inherited from
JournalRepositoryBase; this class adds creation-exclusivity, incompleteness gating, per-operation execution locking, and deletion-ownership verification.- Parameters:
settings (Settings | None)
storage_root (Path | None)
- create(operation)[source]¶
Create a journal while refusing an existing operation identifier.
- Return type:
- Parameters:
operation (ConfigResetOperation)
- create_exclusive(operation)[source]¶
Create a journal only when no incomplete reset operation exists.
- Return type:
- Parameters:
operation (ConfigResetOperation)
- refuse_if_incomplete()[source]¶
Refuse before preflight when another reset journal is incomplete.
- Return type: