Fix dedupe candidate gate phrasing and add status/duplicate invariants