From daf438701f036c50240d691dc6f6c96a50c05ba6 Mon Sep 17 00:00:00 2001 From: Hare Date: Sat, 17 Oct 2026 12:25:24 +0900 Subject: [PATCH] docs: explain shared Journal snapshot boundary guarantees --- crates/subjektiv/src/journal/startup.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/crates/subjektiv/src/journal/startup.rs b/crates/subjektiv/src/journal/startup.rs index 7ad5ab718..5e49cc7d2 100644 --- a/crates/subjektiv/src/journal/startup.rs +++ b/crates/subjektiv/src/journal/startup.rs @@ -1,5 +1,9 @@ -//! Read-only, bounded Journal context for a new body Session. Selection and text projection -//! share one storage transaction; no source history, Job, admission or checkpoint is consulted. +//! Read-only, bounded Journal context at body startup and compaction boundaries. +//! Selection, text projection, references and processing checkpoints share one storage +//! transaction. Reads neither consult source history/Job liveness nor mutate recording. +//! Startup prefers the Host-retained predecessor; compaction requires a live body writer +//! and prefers its current Session, without waiting for Idle or recording completion. +//! Both supplement only from the same Subject under the same independent budgets. //! This is derived reference material, never a new observation or an execution capability. use super::*; @@ -75,6 +79,8 @@ impl SubjektivStore { self.context_snapshot(host, previous_session, false) } + /// Read the saved current-Session Journal without reconciling or advancing it. + /// The active writer check fences released body lifetimes, not non-Idle execution. pub fn journal_compaction_snapshot( &self, host: &JournalHostContext,