pub fn validate_ancestor_cap(cap: usize) -> Result<usize>
Reject an ancestor cap of zero: with no ancestors, sync could never fast-forward and every divergence would surface as a conflict.