Conflicts in the checker's judge.go, builds.go, composition_test.go and try_candidates.go: the group's contract types and kept composition path stay, #164's behaviour is taken whole. WaitsOnPreview reads the contracts' meshcatalogclient.NoneNoPreview instead of a copied constant; awaitBuilds names its failures failedBuilds, beside the builds package. Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i