Skip to main content

ralph/session/
mod.rs

1//! Session persistence and recovery facade.
2//!
3//! Responsibilities:
4//! - Re-export session persistence, validation, recovery UI, decision modeling, and progress helpers.
5//! - Keep the public `crate::session::*` surface stable while implementation stays split.
6//!
7//! Not handled here:
8//! - Queue/run-loop orchestration.
9//! - Session state schema definitions.
10//!
11//! Invariants/assumptions:
12//! - Persistence, validation, recovery prompts, decision shaping, and progress mutation remain separate.
13//! - Re-exports preserve existing caller paths.
14
15mod decision;
16mod persistence;
17mod progress;
18mod recovery;
19#[cfg(test)]
20mod tests;
21mod validation;
22
23pub use decision::{
24    ResumeBehavior, ResumeDecision, ResumeDecisionMode, ResumeReason, ResumeResolution,
25    ResumeScope, ResumeStatus, RunSessionDecisionOptions, resolve_run_session_decision,
26};
27pub use persistence::{
28    clear_session, get_git_head_commit, load_session, save_session, session_exists, session_path,
29};
30pub use progress::increment_session_progress;
31pub use recovery::{prompt_session_recovery, prompt_session_recovery_timeout};
32pub use validation::{
33    SessionValidationResult, check_session, validate_session, validate_session_with_now,
34};