A cancellation policy written as paragraphs is optimized for a human lawyer reading top to bottom, with context, cross references and the ability to weigh ambiguity. An agent does the opposite: it retrieves fragments, matches them to a customer record, and must produce one answer with a timestamp and a rationale. Prose hides three things the agent needs and cannot reliably infer: which facts the clause depends on, which document wins when two clauses conflict, and what to do when a fact is absent.
This is the same problem legal and public sector engineers have studied under the name "law as code," in which statutes and rules are turned into computational logic so a system can apply them consistently and explain the result; the authors of one such pipeline describe the goal as explainable decision support rather than text retrieval from the Law as Code study. The lesson for policy authors is straightforward: the hard work belongs upstream, in the drafting, not in the prompt.
The same pattern shows up in contract operations, where teams extract clauses, dates and obligations into structured fields because unstructured review does not scale and produces errors when formats vary per Icertis. Cancellation terms are a narrow case of contract extraction with one important difference: you control the wording, so you can write for extraction instead of reverse engineering it.
A worked example makes the cost visible. Suppose the standard terms say "you may cancel within 14 days of purchase" and a negotiated enterprise contract says "cancellation permitted within 30 days of the effective date." An agent asked whether a customer who signed on the 3rd and asked on the 20th can cancel has two overlapping rules, two different start events, and no instruction on precedence. It will pick one, and about half the time it will pick wrong. Rewriting the policy as rows removes the coin flip.



