loopd: job files, run ledger, jobs-invalid

Co-Authored-By: ornith-1.5-35b-a3b <agent@wntrmute.dev>
This commit is contained in:
2026-10-03 14:20:19 -07:00
co-authored by ornith-1.5-35b-a3b
parent 587b3924d7
commit 670b5bbabe
6 changed files with 377 additions and 0 deletions
+6
View File
@@ -12,6 +12,7 @@ use bxcore::instance;
use loopd::broker_port::{BrokerPort, NoBroker, not_configured_line};
use loopd::channel::{self, Context};
use loopd::config::Config;
use loopd::jobs;
use loopd::llama::Client;
use loopd::memory::{MEMORY_WAIT, MemoryPort};
use loopd::selftest::{SelfTestError, run};
@@ -84,6 +85,11 @@ fn run_serve(path: &Path) -> ExitCode {
return ExitCode::from(1);
}
if let Err(e) = jobs::load(&cfg.paths.home.join("jobs")) {
eprintln!("loopd: {e}");
return ExitCode::from(1);
}
// One loopd per home (M5b spec, section 9a). The lock comes before the socket is touched and
// before the self-test, so a second copy neither takes the socket of the one that runs nor
// sends its slot a prompt. Held until the process ends.