pub fn append_convergence(
tasks_path: &Path,
expected_file_hash: &str,
items: &[String],
) -> Result<Vec<String>, String>Expand description
Appends ## N. Convergence with one open task N.k per item, N after
the highest numbered group. The file must still hash to
expected_file_hash; the old bytes stay an exact prefix. No items → the
file is not touched. Returns the new IDs.