Findings Quickstart
By the end of this guide you will have a recorded agent conversation in Provon, a published or reviewable Finding, and optionally a repair issue in GitHub.
Prerequisites#
- A Provon project and project API key with
telemetry:ingestandtelemetry:read; see Install Provon or the hosted Workbench. - At least one diagnostic Rule enabled on the Findings page.
- A GitHub OAuth app or personal token only if you hand a Finding off to GitHub.
- Record a conversation
Choose one capture path. The run should include a clear user goal, at least one tool or model step, and — if you want a Finding — a failure, skipped verification, or unsupported claim. Healthy conversations often produce no Finding, which is expected.
export PROVON_API_KEY="your_project_api_key" export PROVON_GATEWAY_URL="https://gateway.provon.dev/v1" curl "$PROVON_GATEWAY_URL/chat/completions" \ -H "Authorization: Bearer $PROVON_API_KEY" \ -H "Content-Type: application/json" \ -H "x-otel-gen-ai-conversation-id: quickstart-conversation-1" \ -H "x-otel-gen-ai-agent-id: quickstart-agent" \ -d '{ "model": "openai/gpt-5-mini", "messages": [ {"role": "user", "content": "Find the failed deployment and fix it."} ] }'Guardrail facts appear only on calls actually proxied through the Gateway.
export PROVON_API_KEY="your_project_api_key" export PROVON_OTEL_URL="https://otel.provon.dev/v1" export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="$PROVON_OTEL_URL/traces" export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer $PROVON_API_KEY" export OTEL_EXPORTER_OTLP_PROTOCOL="http/protobuf"Run your instrumented agent once. SDK examples are in OpenTelemetry setup.
provon auth token set --api-key "$PROVON_API_KEY" provon ingest sync ~/.claude/projects --onceSee Agent transcripts for Codex and Pi directories and hook status.
- Verify the trace
Open Traces in the Workbench and select the new trace. Confirm:
gen_ai.conversation.idis stable across the run;- the root span states the user goal;
- model, tool, and final-answer spans appear in causal order;
- a failure or terminal state is visible when one was expected.
Use
provon traces summarize <traceId>for a quick CLI read; it summarizes telemetry only and does not run Rules. See Diagnosis-ready tracing if any evidence above is missing. - Enable diagnosis
Open Findings:
- Open the Diagnostic rules popover and enable at least one Rule; automatic diagnosis runs while any Rule remains enabled.
- For historical traces, run an enabled Rule through the historical scan dialog: pick Last 24 hours (the dialog also offers 7 days, 30 days, 90 days, all time, and a custom range).
Automatic diagnosis queues after a conversation has been inactive for 10 minutes. The Findings queue updates when a candidate clears thresholds; below-threshold items appear in the review tier rather than as Findings.
- Review the candidate
Expand the Finding or review item and check:
- Severity matches the impact.
- Diagnostic confidence supports acting on the evidence.
- Cause assessment points to a failure mechanism rather than a symptom.
- Evidence links to the trace and span that support the claim.
- Remediation hint gives a narrow repair direction.
If it is not actionable, use Dismiss with a reason. If it is actionable, use Confirm.
- Hand off to GitHub
- On the Findings page, open the issue tracker menu and choose GitHub.
- Connect with OAuth or paste a token.
- Set the default owner and repository, then save the connector.
- Expand the Finding and choose Create repair issue.
Provon creates an issue with a focused repair goal, the Finding summary and cause assessment, evidence links, a remediation hint, the
provon-repairlabel, and hidden correlation metadata. The Finding becomes confirmed and tracks the work item. - Verify the outcome
After the fix ships:
- Run the same agent task again.
- If the failure is gone, no new occurrence is published; a merged pull request with successful checks on the linked issue resolves the Finding automatically.
- If a new occurrence appears, a resolved Finding returns to Regressed.
- For GitLab, Linear, and Jira, completion enters
awaiting_verificationuntil you verify the repair; the tracker being closed is not by itselfresolved.
Limitations#
- A hand-built hello-world request or a healthy session rarely satisfies Rule evidence floors and will not produce a Finding.
- Backfill ranges and the conversation budget cap how much history one scan covers; see Rules.
- Local
provon diagnoseoutput never enters this queue; persistence happens server-side over ingested evidence.