Node.js PUT to LLM Gateway guardrail policy returning 400 on pattern matrix

We’re hitting a 400 error on the block action directives despite the payload matching the schema exactly. The docs state “Policy compilation triggers automatically upon successful format verification and overlap detection,” so the Node.js atomic PUT to /api/v2/ai/llm/gateway/policies/{id} should just work.

{
 "rules": [
 { "id": "rule_123", "pattern": ".*blocked.*", "action": "block" }
 ]
}

Regex checks out fine and the webhooks are live, yet the safety engine constraints block the PUT anyway.