Debug AI Requests
A connected gateway can send Event evidence for Chat Completions and Responses requests. Event delivery must be available. History keeps context only when you configure capture. Use the CLI or Events API for delivered request results. Use the console for captured session context, audit sequence, and review work.
Verdictan does not guarantee evidence for each request. You can disable History. History delivery uses fire-and-forget operation. A standalone gateway can have no control-plane event destination. Messages and WebSocket traffic use different evidence paths.
If a record is missing, examine capture, connectivity, and request-family support. Do not conclude that the request did not occur.
Before you start
- Select an authenticated CLI profile for the applicable region. Alternatively,
give a control-plane token with
events:read. - Do not use an application request token as a replacement.
- Keep the client response, UTC time period, request ID, gateway or agent, model, and environment.
- Make sure that the application used the specified gateway and a documented request family.
- Use History, Trail, and Inbox only when a record is available.
- Make sure that your role can read the applicable surface.
Select the correct surface
| Task | Best surface |
|---|---|
| Delivered runtime Event while reproducing an issue | verdictan events tail |
| Delivered runtime result for one request | verdictan events tail or GET /v1/events with the necessary since parameter |
| Stored prompt, response, or session context | History, only when you enable capture |
| Audit chronology or exportable evidence | Trail |
| Human-review items created by the request | Inbox |
| Runtime inventory and health | Gateways |
Start with delivered Events during reproduction
Follow newly delivered Events:
verdictan events tail --follow
Recent decision events as JSON:
verdictan events tail --since 10m --event-type decision --limit 20 --json
Only blocked decisions:
verdictan events tail --follow --event-type decision --verdict blocked
Limit investigation to one gateway:
verdictan events tail --since 30m --gateway-id gw_123 --json
The command polls the authenticated Events API. A matching request ID shows that the gateway delivered Event evidence to the control plane. The command does not read local gateway process output.
Add History only when captured detail is available
After you identify the request Event, use History only when you enable capture. Use it to answer these questions:
- What prompt, response, or session context did History keep?
- How does the captured session compare with nearby captured requests?
- Did retained content change after a rollout?
Use the Event and request ID for the result, policy evidence, config version, provider, and model. A missing History record does not prove that the request did not occur.
Use Trail when chronology or export is necessary
Use Trail to:
- Examine the audit sequence of related actions.
- Export evidence for incident response or compliance review.
- Find proof of follow-up activity after the initial request.
Use Inbox when the request triggered human review
If the request has a review task, open Inbox. Examine the linked review item. Resolve it only after you understand the request context.
Frequent request problems
A policy blocks a request unexpectedly
- Run
verdictan events tail --follow --event-type decision --verdict blocked. - Reproduce the issue.
- Match the request ID.
- Review the Event policy results and config version.
- If you enable capture and session context is necessary, open the matching request in History.
- Compare the request with the last rollout in Configurations.
A request is slow
- Verify the active problem with
verdictan events tail --since 10m --limit 20 --json. - Examine gateway and provider health from the runtime diagnostics.
- Open Gateways to verify that the specified runtime is healthy.
- Compare nearby Events and runtime metrics.
- Identify if one request or the full system has the problem.
- Add captured History context only when you enable capture and this context.
A request triggered human review
- Open the related Inbox item.
- Keep its request ID.
- Query the matching Event with
verdictan events tail --since <window> --jsonorGET /v1/events?since=<window>. - Add History only when you enable capture and the session context is necessary.
- Resolve the review item only after you understand the request and rollout context.
Best practices
| Practice | Why |
|---|---|
Use verdictan events tail --follow during reproduction. | This shows newly delivered Events from the authenticated Events API. |
Limit results with --verdict, --event-type, or --gateway-id. | This keeps the live output clear. |
| Compare request Events before and after rollout. | This shows the difference between config problems and one-time incidents. |
| Use History only for captured context. | A missing session does not prove that no request occurred. |
| Use Trail for evidence export. | This connects audit exports to customer workflows. |