codetether-agent 4.7.0-a-002.4

A2A-native AI coding agent for the CodeTether ecosystem
Documentation
use crate::session::Session;

pub(crate) fn save(session: &Session, ledger: &super::ledger::ScopeLedger) {
    if ledger.evidence.is_empty() || disabled() {
        return;
    }
    let path = super::writeback_path::for_session(&session.id);
    let Some(parent) = path.parent() else { return };
    if std::fs::create_dir_all(parent).is_err() {
        return;
    }
    let Ok(body) = serde_json::to_string_pretty(&ledger.evidence) else {
        return;
    };
    let _ = std::fs::write(path, body);
}

fn disabled() -> bool {
    matches!(
        std::env::var("CODETETHER_MEMORY_WRITEBACK").ok().as_deref(),
        Some("off")
    )
}