this derivation will be built: /nix/store/106idc5q9n8qfz2cxy3qzy8vhqnkdksm-treefmt-check.drv building '/nix/store/106idc5q9n8qfz2cxy3qzy8vhqnkdksm-treefmt-check.drv' treefmt-check> treefmt v2.5.0traversed 44 files treefmt-check> emitted 29 files for processing treefmt-check> formatted 29 files (1 changed) in 40ms treefmt-check> M crates/ssync-core/src/cleanup.rs treefmt-check> diff --git a/crates/ssync-core/src/cleanup.rs b/crates/ssync-core/src/cleanup.rs treefmt-check> index 7b9ed1a..f5aaa05 100644 treefmt-check> --- a/crates/ssync-core/src/cleanup.rs treefmt-check> +++ b/crates/ssync-core/src/cleanup.rs treefmt-check> @@ -62,7 +62,11 @@ pub fn plan(adapters: &[Box], filter: &Filter) -> Result } treefmt-check> let mut victims = Vec::new(); treefmt-check> for adapter in adapters { treefmt-check> - if filter.agent.as_deref().is_some_and(|a| a != adapter.agent()) { treefmt-check> + if filter treefmt-check> + .agent treefmt-check> + .as_deref() treefmt-check> + .is_some_and(|a| a != adapter.agent()) treefmt-check> + { treefmt-check> continue; treefmt-check> } treefmt-check> let files = crate::session_files(adapter.session_root(), adapter.as_ref()); treefmt-check> @@ -164,14 +168,18 @@ mod tests { treefmt-check> "{\"type\":\"title\",\"v\":1,\"title\":\"\",\"pad\":\" \"}\n", treefmt-check> ); treefmt-check> // named: kept treefmt-check> - let named = root.join("--p--").join( treefmt-check> - "2026-01-02T00-00-00-000Z_019e539d-f6ab-71ac-be20-d3ae2b23ea4b.jsonl", treefmt-check> - ); treefmt-check> - std::fs::write(&named, "{\"type\":\"title\",\"v\":1,\"title\":\"keep me\"}\n").unwrap(); treefmt-check> + let named = root treefmt-check> + .join("--p--") treefmt-check> + .join("2026-01-02T00-00-00-000Z_019e539d-f6ab-71ac-be20-d3ae2b23ea4b.jsonl"); treefmt-check> + std::fs::write( treefmt-check> + &named, treefmt-check> + "{\"type\":\"title\",\"v\":1,\"title\":\"keep me\"}\n", treefmt-check> + ) treefmt-check> + .unwrap(); treefmt-check> // no title record at all (plain pi): kept treefmt-check> - let plain = root.join("--p--").join( treefmt-check> - "2026-01-03T00-00-00-000Z_019e539d-f6ab-71ac-be20-d3ae2b23ea4c.jsonl", treefmt-check> - ); treefmt-check> + let plain = root treefmt-check> + .join("--p--") treefmt-check> + .join("2026-01-03T00-00-00-000Z_019e539d-f6ab-71ac-be20-d3ae2b23ea4c.jsonl"); treefmt-check> std::fs::write(&plain, "{\"type\":\"session\",\"version\":3}\n").unwrap(); treefmt-check> treefmt-check> let victims = plan( treefmt-check> @@ -214,7 +222,13 @@ mod tests { treefmt-check> unnamed: false, treefmt-check> }; treefmt-check> assert!(plan(&adapters(&root), &filter(None, None)).is_err()); treefmt-check> - assert!(plan(&adapters(&root), &filter(Some("codex"), Some(SystemTime::now()))).is_err()); treefmt-check> + assert!( treefmt-check> + plan( treefmt-check> + &adapters(&root), treefmt-check> + &filter(Some("codex"), Some(SystemTime::now())) treefmt-check> + ) treefmt-check> + .is_err() treefmt-check> + ); treefmt-check> // agent-restricted: selects only from that agent treefmt-check> let victims = plan( treefmt-check> &adapters(&root), error: Cannot build '/nix/store/106idc5q9n8qfz2cxy3qzy8vhqnkdksm-treefmt-check.drv'. Reason: builder failed with exit code 1. Output paths: /nix/store/6phxvzrqag2k0rby2j3cb3v9lsszqpb9-treefmt-check Last 25 log lines: > // no title record at all (plain pi): kept > - let plain = root.join("--p--").join( > - "2026-01-03T00-00-00-000Z_019e539d-f6ab-71ac-be20-d3ae2b23ea4c.jsonl", > - ); > + let plain = root > + .join("--p--") > + .join("2026-01-03T00-00-00-000Z_019e539d-f6ab-71ac-be20-d3ae2b23ea4c.jsonl"); > std::fs::write(&plain, "{\"type\":\"session\",\"version\":3}\n").unwrap(); > > let victims = plan( > @@ -214,7 +222,13 @@ mod tests { > unnamed: false, > }; > assert!(plan(&adapters(&root), &filter(None, None)).is_err()); > - assert!(plan(&adapters(&root), &filter(Some("codex"), Some(SystemTime::now()))).is_err()); > + assert!( > + plan( > + &adapters(&root), > + &filter(Some("codex"), Some(SystemTime::now())) > + ) > + .is_err() > + ); > // agent-restricted: selects only from that agent > let victims = plan( > &adapters(&root), For full logs, run: nix log /nix/store/106idc5q9n8qfz2cxy3qzy8vhqnkdksm-treefmt-check.drv