Evaluation
How guardrail-sim processes policies
Evaluation
The evaluation process determines whether a discount request is allowed based on policy rules.
Evaluation Flow
- Input: An order with value, quantity, margin, and a proposed discount
- Fact Calculation: Engine computes facts like calculated margin
- Rule Evaluation: Each rule's conditions are checked against facts
- Violation Collection: Failed conditions generate violations
- Result: Approved/rejected with details
Basic Evaluation
Understanding Results
Approved Result
Rejected Result
How Rules Are Evaluated
Rules run in priority order (highest first). The engine:
- Computes all facts from the order and proposed discount
- Evaluates each rule's conditions against the facts
- Collects violations from failed conditions
- Returns approved=true only if no violations occurred
Computed Facts
The engine automatically calculates:
| Fact | Formula |
|---|---|
calculated_margin | product_margin - proposed_discount |
Rule Priority
Multiple Violations
If multiple rules are violated, all violations are returned:
UCP Error Codes
Violations include UCP-compatible error codes: