Before route_to_agent()
# prod-grade glue, every team writes it differently
trace_id = uuid()
contract = {"caller": "planner", "callee": callee}
try:
out = await callee.run(req)
except Exception:
out = await fallback.run(req) # silent swap
cost[caller] += out.cost # 🤞
return out