Deterministic rules decide what the agent may do.
Language models can suggest, but rules enforce restricted products, exact-item requirements, substitutions, price limits, basket totals, slots, and approval validity.
Priority and conflict flow
Six deterministic layers
- 01
Safety
Restricted categories, origin integrity, configured purchase boundary, and platform-wide maximums.
- 02
Exclusions
Never-buy products, exact-only rules, category blocks, and household-specific exclusions.
- 03
Item policy
Quantity, cadence, size, approved alternatives, current price, and product availability.
- 04
Basket policy
Hard maximum, change from previous basket, must-have coverage, and unexpected cart lines.
- 05
Slot policy
Allowed day, time range, fallback rank, fee constraint, and review deadline.
- 06
Approval policy
Active mode, consent, snapshot hash, approved maximum, recent authentication, and expiration.
Constrained data, never executable code
{
"id": "rule-milk-price-v1",
"priority": 100,
"when": {
"all": [
{ "fact": "item.productPreferenceId", "op": "eq", "value": "milk-001" },
{ "fact": "item.currentPriceCents", "op": "gt", "value": 699 }
]
},
"then": {
"decision": "needs-review",
"reasonCode": "ITEM_PRICE_OVER_LIMIT"
}
}
An LLM may translate “ask me if milk is over $6.99” into the constrained schema. The dashboard shows examples and requires confirmation before a new immutable rule-set version becomes active.
Every decision explains itself
| Outcome | Meaning | Workflow action |
|---|---|---|
| ALLOW | All applicable rules permit the operation | Continue and write evaluation record |
| NEEDS REVIEW | A configured exception or unresolved conflict exists | Freeze context and ask the user |
| DENY | A safety or hard household policy failed | Stop operation; no lower rule can override |