The near-miss routing suite is the right idea, and the customer_get_profile example shows why: the new tool's own tests pass while the billing path quietly loses requests. I would add three things. First, track the routing decision as a rate over repeated runs, say 20 per request, since selection at temperature above zero can flip, and a single pass proves little. Second, rerun the suite with the tool list shuffled, because you cite order bias and a test that only passes in one ordering is fragile. Third, keep a held-out set of requests that should route to no tool at all, so a broad new description cannot grab them. Gate the merge on any previously correct request dropping below its baseline rate.