Decision Contract
TheDecision object is the stable, typed contract returned by all TealTiger components in v1.1.x.
Overview
Every policy evaluation, guardrail check, and circuit breaker decision returns aDecision object with:
- Deterministic action (ALLOW, DENY, REQUIRE_APPROVAL, etc.)
- Machine-readable reason codes
- Risk score (0-100)
- Correlation ID for traceability
- Component versions for audit defensibility
Class Definition
Decision Actions
Action Semantics
| Action | Meaning | Use Case |
|---|---|---|
ALLOW | Request is compliant, proceed | Normal operation |
DENY | Request violates policy, block | Security violation, cost limit exceeded |
REQUIRE_APPROVAL | Request needs human review | High-risk operation, sensitive data access |
REDACT | Request contains PII, redact before proceeding | PII detection, data privacy |
TRANSFORM | Request needs modification | Content moderation, prompt injection mitigation |
DEGRADE | Use fallback/cheaper model | Cost optimization, rate limiting |
Reason Codes
Risk Score
Therisk_score is a normalized value from 0-100:
- 0-30: Low risk (informational)
- 31-60: Medium risk (monitor)
- 61-85: High risk (review)
- 86-100: Critical risk (block)
- Policy violation severity
- Number of violations
- Domain-specific risk factors (security, cost, reliability)
Component Versions
Usage Examples
Basic Decision Handling
Risk-Based Routing
Reason Code Handling
Mode-Specific Behavior
TheDecision.mode field indicates which policy mode was active:
Pattern Matching (Python 3.10+)
Backwards Compatibility
TheDecision class is backwards compatible with v1.0.x PolicyEvaluationResult:

