Skip to main content

ic_backup/view/restore_reference_release/
mod.rs

1//! Product-qualified terminal intent for an exclusively in-process restore.
2
3use crate::model::artifacts::ArtifactChecksumRecord;
4
5/// Fresh complete terminal evidence supplied by the owning integration.
6///
7/// The provider must authenticate the original journal, settle all application and
8/// external-effect obligations, and establish that no external commands were ever
9/// dispatched. Absence of command sidecars is insufficient. Command-backed restores
10/// require their original qualified integration; this API cannot release them.
11#[derive(Debug)]
12pub struct TerminalRestoreEvidence {
13    authority: ArtifactChecksumRecord,
14}
15
16impl TerminalRestoreEvidence {
17    /// Declare complete qualification of an exclusively in-process restore.
18    #[must_use]
19    pub const fn for_in_process_restore(authority: ArtifactChecksumRecord) -> Self {
20        Self { authority }
21    }
22
23    /// Read original intent, independently compared with retained references.
24    #[must_use]
25    pub const fn authority(&self) -> &ArtifactChecksumRecord {
26        &self.authority
27    }
28}