strand-vault · wal
Source declarations, signatures and documentation for wal.
Reviewed implementation boundary: Vault construction does not automatically replay WAL entries. Snapshotting is a best-effort directory copy; replication mode/live settings are not implemented as runtime controls, and the capability preamble is not ACT authorization verification. See /libraries/strand-vault/overview.
Source: sigil/weave/libs/strand-vault/src/wal.rs. SHA-256: 87f77b2d937e5b943d5b8039b34bf39bd919de77c635bfa3365b150a495c7ccf.
This reference follows declared source modules, retains conditional attributes, and includes public declarations and implementation methods. Private-module re-exports and trait resolution require the compiler; this is a source reference, not a claim that every listed item is a root import. Function bodies and constant values are omitted.
wal::WalEntry
#[derive(Debug, serde::Serialize, serde::Deserialize)]
pub enum WalEntry {
// Metadata updates
SetNamespace(String),
SetPolicy(String),
AddAgent {
id: String,
perms: crate::permissions::AgentPermissions,
},
RemoveAgent {
id: String,
},
// Strand ops
Append {
strand: String,
seq: u64,
size: u64,
},
}Source line: 10.
wal::Wal
pub struct Wal {
}Source line: 30.
wal::Wal::new
pub fn new(dir: impl Into<PathBuf>) -> Self;Source line: 35.
wal::Wal::append
pub async fn append(&self, entry: &WalEntry) -> Result<()>;Source line: 43.
wal::Wal::replay
pub async fn replay<F: FnMut(WalEntry) -> Result<()>>(&self, mut apply: F) -> Result<()>;Source line: 59.