RouteCatalog
The validated set of HTTP routes a service exposes.
routes is the catalog order (commands first, then by path), which OpenAPI documents follow. dispatchRoutes is the order a first-match router tries them in. Generated templates may overlap without being equal: a command at POST /{resource}/{id}/count matches every path the query POST /{resource}/snapshot/count matches, so in catalog order the query could never be reached. Where one template's paths are a subset of another's, the subset is tried first; every other pair keeps the catalog order, so no request that reached a route before goes elsewhere. Two templates of the same method that match exactly the same paths (equal but for their variable names) cannot be told apart by any order and are rejected.
Properties
routes in dispatch order: a route whose template matches a proper subset of another's paths (same method) comes before it; otherwise the catalog order is kept.