host: preserve journals, full traps and embedded agent output

Write new journal entries under logs/core and merge read-only legacy
history without moving SQLite/WAL files. Atomically spool failed batches,
retaining unspoolable entries for event-driven retries. Journal full trap
diagnostics before UTF-8-safe status display. Port session overflow archives
and followable line/byte excerpts to the still-shipped embedded agent.
Document retention/recovery and cover the contracts with regressions.
Include one rustfmt-only normalization in the existing SDK WASI test.

Card: SAU-143
This commit is contained in:
SAU-143 implementer
2026-10-26 13:40:15 +00:00
parent 168795b408
commit 037377fd27
13 changed files with 818 additions and 83 deletions
+2 -4
View File
@@ -34,10 +34,8 @@ impl Process {
let mut s = String::new();
if self.output.read_line(&mut s).unwrap() == 0 {
let mut stderr = String::new();
let _ = std::io::Read::read_to_string(
self.child.stderr.as_mut().unwrap(),
&mut stderr,
);
let _ =
std::io::Read::read_to_string(self.child.stderr.as_mut().unwrap(), &mut stderr);
panic!("unexpected EOF from wasmtime. Its stderr:\n{stderr}");
}
if let Ok(v) = sausage_plugin::serde_json::from_str::<Value>(&s)