Most teams write an agent rule the same way they write a policy document: a paragraph of intent that a human reads and interprets. An agent cannot apply a paragraph reliably, because the same sentence supports several different orderings and thresholds. The decision log solves this because it already records what a person did with a specific input.
A decision log is a structured record of what was chosen, why, who was involved, what alternatives were considered and what outcome was expected, which makes it the closest thing to a labeled dataset that most operational teams already own according to the monday decision log guide. That framing matters: if your log captures the choice and the reasoning, the rule is a compression of that table, and the test suite is a replay of it.
The field list is the part to get right first. A workable log entry separates the decision from its context so the decision can be quoted on its own, and it adds an owner, a date, an outcome status and a revisit trigger as the Boardmix template sets out. The revisit trigger is what later becomes your drift alarm. Two fields in a typical template map directly onto the two halves of a rule:
| Log field | Rule component | Example |
|---|---|---|
| Input fields (the situation) | Condition | customer tier, error code, order value, plan type |
| Decision | Action | refund, escalate, approve, request more evidence |
| Owner and date | Rule version metadata | who approved this rule, when |
| Evidence | Link attached to the test case | ticket, metric, incident record |
| Revisit trigger | Drift check | "reopen if refunds over 500 exceed 5 percent of volume" |
| Outcome (adopted, deferred, rejected) | Test label source | adopted rows are labels, rejected rows are counterexamples |
If your log has no separate input fields, you are not ready to write a rule. Add them first. This is the single most common failure point, and it is cheap to fix: for the next twenty decisions, record the four or five facts the decider actually looked at.



