Module

contracts.rules_route_names

Route-name collision contract check.

Route.nameis now populated for every page-discovered route (see chirp.pages.discovery.default_route_name). app.url_for(name, ...) returns an unpredictable URL if two routes claim the same name — so we surface duplicates as contract issues instead of letting the last-write winner leak into production.

Severity defaults toERRORand can be tuned via app.override_contract_severity("route_names", Severity.WARNING).

Functions

check_route_names 1 list[ContractIssue]
Emit one ERROR issue per duplicated route name.
def check_route_names(collisions: dict[str, list[Route]]) -> list[ContractIssue]
Parameters
Name Type Description
collisions dict[str, list[Route]]
Returns
list[ContractIssue]