Diff in \\?\C:\Users\decid\Documents\projects\omp-spt\tools\omp-spt\src\echo_commune_omp.rs:33: let start = history.len() - cap; // Search raw bytes because `start` may bisect UTF-8; the byte after ASCII `\n` is always a // character boundary. - match history.as_bytes()[start..].iter().position(|byte| *byte == b'\n') { + match history.as_bytes()[start..] + .iter() + .position(|byte| *byte == b'\n') + { Some(nl) => &history[start + nl + 1..], None => "", // one giant line — nothing whole survives the cap } Diff in \\?\C:\Users\decid\Documents\projects\omp-spt\tools\omp-spt\src\echo_commune_omp.rs:73: [ "-p", "--no-session", - "--tools", "read", + "--tools", + "read", "--auto-approve", - "--thinking", "off", + "--thinking", + "off", "--no-title", "--no-extensions", "--no-skills", Diff in \\?\C:\Users\decid\Documents\projects\omp-spt\tools\omp-spt\src\echo_commune_omp.rs:115: } pub fn run() -> ExitCode { - let Args { id, session_id, session_dir } = parse_args(std::env::args().skip(2)); + let Args { + id, + session_id, + session_dir, + } = parse_args(std::env::args().skip(2)); if id.is_empty() || session_id.is_empty() { eprintln!("{}", fail_line(&id, "need --id and --session-id")); return ExitCode::FAILURE; Diff in \\?\C:\Users\decid\Documents\projects\omp-spt\tools\omp-spt\src\echo_commune_omp.rs:136: Ok(Some(p)) => match std::fs::read_to_string(&p) { Ok(h) => history = h, Err(e) => { - eprintln!("{}", fail_line(&id, &format!("transcript unreadable ({}): {e}", p.display()))); + eprintln!( + "{}", + fail_line( + &id, + &format!("transcript unreadable ({}): {e}", p.display()) + ) + ); return ExitCode::FAILURE; } }, Diff in \\?\C:\Users\decid\Documents\projects\omp-spt\tools\omp-spt\src\echo_commune_omp.rs:162: // 2+3. BOUND + TURN via a scratch @file prompt. let prompt = compose_prompt(&id, bounded_tail(&history, TAIL_CAP_BYTES)); - let prompt_file = std::env::temp_dir().join(format!("omp-spt-echo-{}-{}.md", id, std::process::id())); + let prompt_file = + std::env::temp_dir().join(format!("omp-spt-echo-{}-{}.md", id, std::process::id())); if let Err(e) = std::fs::write(&prompt_file, &prompt) { - eprintln!("{}", fail_line(&id, &format!("cannot write prompt scratch {}: {e}", prompt_file.display()))); + eprintln!( + "{}", + fail_line( + &id, + &format!("cannot write prompt scratch {}: {e}", prompt_file.display()) + ) + ); return ExitCode::FAILURE; } let mut cmd = Command::new(omp); Diff in \\?\C:\Users\decid\Documents\projects\omp-spt\tools\omp-spt\src\echo_commune_omp.rs:171: cmd.args(turn_cmd()); cmd.arg(format!("@{}", prompt_file.display())); - cmd.stdin(Stdio::null()).stdout(Stdio::piped()).stderr(Stdio::piped()); + cmd.stdin(Stdio::null()) + .stdout(Stdio::piped()) + .stderr(Stdio::piped()); let out = cmd.output(); let _ = std::fs::remove_file(&prompt_file); // scratch cleanup, success or fail Diff in \\?\C:\Users\decid\Documents\projects\omp-spt\tools\omp-spt\src\echo_commune_omp.rs:183: }; if !out.status.success() { let err_text = String::from_utf8_lossy(&out.stderr); - eprintln!("{}", fail_line(&id, &format!("omp exited {}: {}", out.status, err_text.trim()))); + eprintln!( + "{}", + fail_line( + &id, + &format!("omp exited {}: {}", out.status, err_text.trim()) + ) + ); return ExitCode::FAILURE; } // 4. OUTPUT: the delta on stdout (loud-fail on an empty one — a silent vacuous delta hides bugs). Diff in \\?\C:\Users\decid\Documents\projects\omp-spt\tools\omp-spt\src\echo_commune_omp.rs:204: #[test] fn parser_threads_explicit_session_dir_to_the_shared_resolver() { let args = parse_args( - ["--session-id", "session-1", "--session-dir", "relocated", "--id", "agent-1"] - .into_iter() - .map(str::to_string), + [ + "--session-id", + "session-1", + "--session-dir", + "relocated", + "--id", + "agent-1", + ] + .into_iter() + .map(str::to_string), ); assert_eq!( args, Diff in \\?\C:\Users\decid\Documents\projects\omp-spt\tools\omp-spt\src\echo_commune_omp.rs:286: assert!(c.contains(&"--no-session".to_string())); let ti = c.iter().position(|s| s == "--tools").unwrap(); assert_eq!(c[ti + 1], "read"); // a summarizer never writes - for flag in ["--auto-approve", "--thinking", "--no-title", "--no-extensions", "--no-skills", "--no-rules"] { + for flag in [ + "--auto-approve", + "--thinking", + "--no-title", + "--no-extensions", + "--no-skills", + "--no-rules", + ] { assert!(c.contains(&flag.to_string()), "missing {flag}"); } assert!(!c.contains(&"-c".to_string()));