v0.3.16-pre.002-fix.001

This commit is contained in:
2026-09-21 08:40:18 +02:00
parent b0deefddb7
commit 05cdb4e2ab
5 changed files with 165 additions and 5 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-store-api/src/model/raw_outcome.rs
// version: 2
// version: 3
/// Outcome for one canonical RAW entity in an idempotent persistence operation.
#[non_exhaustive]
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
@@ -13,6 +13,7 @@ pub enum RawEntityWriteOutcome {
/// Normal persistence skipped a durable purged tombstone.
SkippedPurged,
}
/// Outcome for one deterministic acquisition observation write.
#[non_exhaustive]
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
@@ -24,12 +25,14 @@ pub enum RawObservationWriteOutcome {
/// No observation was recorded because the associated RAW entity was intentionally skipped.
NotRecorded,
}
/// Combined outcome of one atomic canonical RAW entity plus observation acquisition.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
pub struct RawAcquisitionWriteOutcome {
entity: crate::RawEntityWriteOutcome,
observation: crate::RawObservationWriteOutcome,
}
impl RawAcquisitionWriteOutcome {
/// Creates one backend-independent atomic acquisition outcome.
#[must_use]
@@ -42,6 +45,7 @@ impl RawAcquisitionWriteOutcome {
pub const fn entity(&self) -> crate::RawEntityWriteOutcome {
return self.entity;
}
/// Returns the acquisition observation write outcome.
#[must_use]
pub const fn observation(&self) -> crate::RawObservationWriteOutcome {