openai/codex · error · anyhow::Error
guardian review completed without an assessment payload
Error message
guardian review completed without an assessment payload
What it means
Error "guardian review completed without an assessment payload" thrown in openai/codex.
Source
Thrown at codex-rs/core/src/guardian/prompt.rs:708
}
continue;
}
}
if suffix_start < prefix_end {
suffix_start = prefix_end;
}
(&content[..prefix_end], &content[suffix_start..])
}
/// The model is asked for strict JSON, but we still accept a surrounding prose
/// wrapper so transient formatting drift fails less noisily during dogfooding.
/// Non-JSON output is still a review failure; this is only a thin recovery path
/// for cases where the model wrapped the JSON in extra prose.
pub(crate) fn parse_guardian_assessment(text: Option<&str>) -> anyhow::Result<GuardianAssessment> {
let Some(text) = text else {
anyhow::bail!("guardian review completed without an assessment payload");
};
let parsed_payload =
if let Ok(payload) = serde_json::from_str::<GuardianAssessmentPayload>(text) {
payload
} else if let (Some(start), Some(end)) = (text.find('{'), text.rfind('}'))
&& start < end
&& let Some(slice) = text.get(start..=end)
{
serde_json::from_str::<GuardianAssessmentPayload>(slice)?
} else {
anyhow::bail!("guardian assessment was not valid JSON");
};
let outcome = parsed_payload.outcome;
let risk_level = parsed_payload.risk_level.unwrap_or(match outcome {
super::GuardianAssessmentOutcome::Allow => GuardianRiskLevel::Low,
super::GuardianAssessmentOutcome::Deny => GuardianRiskLevel::High,
});View on GitHub (pinned to 339751715c)
Solutions
- Retry the guardian review; if it repeats, report it, since the review model returned no assessment payload.
When it happens
Trigger: Thrown at codex-rs/core/src/guardian/prompt.rs:708 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of openai/codex@339751715c (2026-08-25).
Data as JSON: /api/errors/fd5b35ad8bb14d48.
Report an issue: GitHub.