pub fn detect_conflict(
registered: &[GoalEntry],
candidate: &GoalEntry,
) -> GoalVerdictExpand description
First conflict wins, in the registered slice’s order (deterministic: the caller’s table order is the clock). A candidate re-submitting its own id is idempotent, not a conflict.