When dune solves dependencies, it requires that packages in the solution must be compatible with the dune package of the version of dune that's currently running. E.g. when solving a project with dune.3.20.2, only packages compatible with dune.3.20.2 can be chosen as part of the solution.
All the packages in this repo currently have upper bounds on their versions, including dune, which at the time of writing has upper bounds no higher than 3.19.1. This means that the current version of dune (3.20.2) is incapable of choosing any packages from this repository in its solutions, as they claim to be incompatible with any version of dune above 3.19.1.
I think it's correct that dune adds this constraint when solving dependencies, otherwise packages that are truly incompatible with the current dune won't build, so it's better to try to choose alternative packages that are compatible if possible.
I also think that it's generally good that packages in this repo have upper bounds on their version numbers.
I think a suitable fix for this issue would be to change the upper bounds on all the dune dependencies to < 4.