I noticed packages have version constraints in their metadata (e.g., git). What algorithm does APT use to satisfy these dependencies?
E.g., Spack uses Clingo as its dependency solver, Conda and Mamba use libsolv, Pip uses its own custom backtracking solver.