CalibrationResult
Output of POST /conditions/calibrate.
status drives branching: recommendation_available — calibration_token and recommended_params are populated. no_recommendation — no_recommendation_reason is populated; token is None.
current_params reflects the strategy params of the requested condition version. It is always populated regardless of status.
Invariants (enforced by validator): When status=recommendation_available: calibration_token, recommended_params, and impact must be non-None. no_recommendation_reason must be None. When status=no_recommendation: no_recommendation_reason must be non-None. calibration_token, recommended_params, and impact must be None.
Outcome of a calibration request.
recommendation_available — adjusted params computed; calibration_token populated. no_recommendation — no adjustment possible; no_recommendation_reason populated.
Possible values: [recommendation_available, no_recommendation]
calibration_token object
- string
- null
recommended_params object
- object
- null
impact object
- CalibrationImpact
- null
Direction of estimated alert volume change after calibration.
Possible values: [increase, decrease, no_change]
no_recommendation_reason object
- NoRecommendationReason
- null
Reason why CalibrationService returned no recommendation.
bounds_exceeded — adjustment would violate guardrail bounds (on_bounds_exceeded='reject') not_applicable_strategy — equals strategy has no numeric parameter to adjust insufficient_data — fewer than MIN_FEEDBACK_THRESHOLD feedback records
Possible values: [bounds_exceeded, not_applicable_strategy, insufficient_data]
statistically_optimal object
- number
- null
context_adjusted object
- number
- null
adjustment_explanation object
- string
- null
{
"status": "recommendation_available",
"current_params": {},
"calibration_token": "string",
"recommended_params": {},
"impact": {
"delta_alerts": 0,
"direction": "increase"
},
"no_recommendation_reason": "bounds_exceeded",
"statistically_optimal": 0,
"context_adjusted": 0,
"adjustment_explanation": "string"
}