weave-locus · journal
Source declarations, signatures and documentation for journal.
Reviewed implementation boundary: Rollback records a marker; mount descriptions and governance metadata alone do not execute mounting or enforce signature authorization. Operations can have separate metadata/blob failure points. See /libraries/locus/overview.
Source: sigil/weave/models/locus/src/journal.rs. SHA-256: e7174fed3fc63ebfbeffc124f168832b1160704ace3c687796eace7f2f349b73.
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.
journal::JournalOp
Journal entry kinds
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum JournalOp {
CreateDir { path: String },
WriteFile { path: String, size: u64 },
Remove { path: String },
}Source line: 10.
journal::JournalState
Journal entry state
#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
pub enum JournalState {
Prepared,
Applied,
Committed,
}Source line: 18.
journal::JournalRecord
A journal record for one operation
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct JournalRecord {
pub id: Uuid,
pub op: JournalOp,
pub state: JournalState,
pub created_at: i64
}Source line: 26.
journal::JournalRecord::new
pub fn new(op: JournalOp) -> Self;Source line: 34.
journal::JournalStore
Utilities for persisting journal entries into Lens metadata
pub struct JournalStore<'a> {
pub prefix: &'a str
}Source line: 45.
journal::JournalStore<'a>::new
pub fn new() -> Self;Source line: 50.
journal::JournalStore<'a>::key_for
pub fn key_for(&self, id: &Uuid) -> String;Source line: 56.
journal::LocusJournal
Locus journal API mixed into Locus (implemented in locus.rs)
pub trait LocusJournal {
fn journal_store<'a>() -> JournalStore<'a> ;
fn serialize(rec: &JournalRecord) -> Result<Vec<u8>> ;
fn deserialize(bytes: &[u8]) -> Result<JournalRecord> ;
}Source line: 62.