logs: consolidate all logging under ~/.consciousness/logs/

All log output was scattered across ~/.consciousness/memory/ (daemon,
task logs, LLM call logs), ~/.consciousness/agent-sessions/ (observe),
and only hook logs were already in the right place.

Move everything to ~/.consciousness/logs/ with agent-specific subdirs:
  - daemon.log, daemon/ (task logs)
  - {agent_name}/ (knowledge agent logs, e.g. surface-observe/, reflect/)
  - llm/{caller}/ (LLM call logs)
  - observe.log (poc-agent observe)
  - hook-{session_id} (already correct)
  - debug.log (already correct)

Also includes the session.rs and hook.rs fixes from the previous
session (sessions dir → ~/.consciousness/sessions/).

Co-Authored-By: Proof of Concept <poc@bcachefs.org>
This commit is contained in:
ProofOfConcept 2026-03-28 20:39:20 -04:00
parent 0d2bf81a50
commit 39b07311e6
7 changed files with 31 additions and 14 deletions

View file

@ -83,14 +83,18 @@ impl TaskQueue {
let _ = fs::write(&self.path, if content.is_empty() { String::new() } else { content + "\n" });
}
}
fn log_path() -> PathBuf {
crate::config::get().data_dir.join("daemon.log")
fn logs_dir() -> PathBuf {
let dir = dirs::home_dir().unwrap_or_default().join(".consciousness/logs");
let _ = fs::create_dir_all(&dir);
dir
}
// --- Logging ---
fn log_path() -> PathBuf {
logs_dir().join("daemon.log")
}
fn log_event(job: &str, event: &str, detail: &str) {
jobkit::daemon::event_log::log(&crate::config::get().data_dir, job, event, detail);
jobkit::daemon::event_log::log(&logs_dir(), job, event, detail);
}
/// Public wrapper for logging from other agent modules.
@ -554,7 +558,7 @@ pub fn run_daemon() -> Result<(), String> {
let choir = Arc::clone(&daemon.choir);
let llm = Arc::clone(&daemon.resource);
let _ = DAEMON_POOL.set(Arc::clone(&llm));
let task_log_dir = config.data_dir.join("logs");
let task_log_dir = logs_dir().join("daemon");
let _ = fs::create_dir_all(&task_log_dir);
// Enable verbose logging if POC_MEMORY_VERBOSE is set