Weave documentation
Rust referencestrand-vault

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.

On this page