REQUEST
Pre-flight runs before any side effect.
You describe what you need in a guided wizard. The policy preview renders as you type — type-aware intellisense, no Render button — and failures come back as fix guidance, not a stack trace.
{ "code": "POLICY_ESCALATION", "severity": "error", "field": "permissionPolicyJson", "step": 2, "message": "Privilege escalation: grants all IAM actions (iam:*) -- the role can rewrite its own permissions.", "remediation": "Remove the self-permission-granting actions (iam:Attach*/Put*Policy, iam:CreatePolicyVersion, …) or scope them tightly; if the role genuinely manages IAM, request a scoped exception from the platform team.", "retryable": false}