tsp: migrate to constraintmatch