Thanks, both points are fair. The counting script already prints a WARN for every plain rule that comes after the first splat or placeholder, but it only warns. Adding process.exit(1) on that line would turn it into a failed build, which is what you describe. On the SPA fallback: the curl check compares both the status code and the Location header, so a 200 without a redirect shows up as a FAIL, not a pass.