Human Oversight
The human-oversight policy is an output control. With action: escalate, the gateway marks the result as ESCALATE. It returns a response that succeeds with null assistant content. It also records the escalation in the decision event.
Configuration
pack:
name: human-oversight
version: "1.0.0"
enabled: true
policies:
chain:
- human-oversight
policy:
human-oversight:
action: escalate
Fields
| Field | Type | Description | Default |
|---|---|---|---|
action | escalate | The only supported runtime behavior. It escalates each response that this policy evaluates. | no runtime action when not specified |
How it works
- Output phase:
human-oversightruns after the model response is available. - Escalation trigger: The gateway acts only when
policy.human-oversight.actionisescalate. - Response shape: The gateway returns a chat-completion body that shows success.
- This body has
choices[0].message.content = nullandfinish_reason = "content_filter". - Event metadata: The gateway emits an event with
policy_kind = "human-oversight"andreason_code = "oversight.required". - Routing hints: Provider escalation routing can add
team_idanduser_idhints to event metadata. - These hints do not come from the policy block.
Configuration boundaries
Use action: escalate when each response must stop usual delivery and go to a review workflow.
Use stream: false. The active SSE output path does not run this escalation evaluator.
For reviewer assignment, category targeting, or team routing, use provider
escalation routing. Alternatively, use the review workflow after the gateway.
Do not configure these functions in the human-oversight policy block.
Correct example
pack:
name: manual-review-route
version: "1.0.0"
enabled: true
policies:
chain:
- human-oversight
policy:
human-oversight:
action: escalate
Best practices
- Use
human-oversightas an escalation switch. It is not a classifier or queue system. - Put it only on a route or conditional chain where each response must have review.
- An earlier block or escalation stops the stage. A subsequent
human-oversightentry does not run in that case. - Add
audit-loggeronly when the decision stream must show audit logging as an active chain control. That policy does not store evidence. - Verify the downstream system consuming decision events understands the
ESCALATEverdict.
Next steps
- Escalation Routing Configuration — add team or user routing hints
- Flagged Review Configuration — route borderline output through a reviewer
- Audit Logger — mark audit logging as active in the decision stream
- Trail and Audit Evidence — examine and verify recorded evidence