Most agent instructions fail at precedence for a simple reason: they describe what the agent should do, not what happens when two instructions collide. A policy that says "refund if the item is damaged" and a policy that says "refunds above a threshold need manager approval" are both valid, and a model asked to apply them will pick an order silently. The problem is not that it picks wrong once. The problem is that nobody can tell why it picked.
The silence is measurable. When two agents run over the same task they disagree between 20% and 40% of the time depending on task type, and most systems respond by silently picking one answer, which makes debugging three to five times slower than a single-agent failure because you cannot tell which input was wrong or even that a conflict existed (conflict resolution patterns). The same invisibility applies inside a single agent reasoning over conflicting rules.
So the design goal is narrow and testable. Given a case where at least two clauses apply and point to different outcomes, the agent must produce three facts: which clause won, which clause it overruled, and which signal decided the contest. If it cannot name all three, it does not decide. That refusal is a feature, not a failure.
One framing worth internalizing: this is not evaluation of a free-text reason. It is structured output. The mature way to check a structured output is to assert on specific fields and to score confidence per field, not on the whole response. Error-detection work on structured outputs reports that per-field trust scores catch bad fields with 25% greater precision and recall than LLM-as-a-judge or token log probabilities (Cleanlab structured output benchmark). A precedence trace is exactly the kind of output where per-field scoring pays off: the winner field and the signal field can be checked independently.



