Skip to content

Findings Troubleshooting

New projects have automatic scheduling disabled. Open Findings and enable Auto-diagnose.

View as Markdown Open the plain-text version of this page.

No Findings Appear#

1. Auto-diagnose is off#

New projects have automatic scheduling disabled. Open Findings and enable Auto-diagnose.

2. Rules are disabled#

Open Diagnostic rules and confirm at least one Rule is enabled. The built-in Rules are all disabled by default until you enable them.

3. The trace is not diagnosable#

A trace can be valid OpenTelemetry and still too weak for diagnosis. Provon needs:

  • a stable gen_ai.conversation.id;
  • the user goal and constraints;
  • ordered model, tool, retrieval, and final-answer events;
  • tool inputs, results, failures, and retries;
  • a terminal answer or explicit non-completion.

Open the trace in Traces and compare it with the checklist in Diagnosis-ready tracing.

4. The Rule did not run yet#

Automatic Runs are queued after 10 minutes of inactivity on the conversation. For existing traces, run an enabled Rule against the last 24 hours.

5. Keywords filtered the conversation#

If a Rule has keywords, it only evaluates conversations that contain one of those keywords. Remove or broaden keywords to test.

6. Thresholds filtered the candidate#

Increase logging by checking the Rule Run state, or temporarily lower minSignalScore and minDiagnosticConfidence to see if a candidate was close. If it appears, tune back up and decide whether to adjust the override.

7. The conversation is healthy#

Healthy conversations do not produce Findings. That is the expected result.

Too Many False Positives#

Raise the confidence bar#

Increase minDiagnosticConfidence. This is the fastest way to suppress low-confidence candidates.

Disable noisy categories#

Use signalOverrides to disable categories that are not actionable in your domain:

json
{
  "configuration": {
    "signalOverrides": {
      "implicit_user_dissatisfaction": { "enabled": false },
      "context_growth": { "enabled": false }
    }
  }
}

Lower severity, not publication#

If a category is useful but rarely urgent, override its severity to low or info instead of disabling it entirely.

Use deterministic-only for screening#

If a category requires model adjudication and is too speculative, set the Rule to deterministic-only. You will lose recall on judgment-heavy categories but gain predictability.

Work Item Errors#

WORK_ITEM_PROVIDER_UNAVAILABLE#

The connector is missing, disabled, or has no default destination. Open Connectors, confirm the provider is enabled, and set the default owner/repo or team.

WORK_ITEM_ALREADY_EXISTS#

A Finding can have only one primary work item. Use Replace to move it to another provider, or Abandon the existing handoff first.

WORK_ITEM_NOT_RETRYABLE#

Retry only works when the work item is in provisioning state, has no externalId, and has syncState: error. If creation already succeeded elsewhere, use Sync instead.

ACTIVE_WORK_ITEM#

You cannot dismiss or manually resolve a Finding while its work item is provisioning, planned, or in_progress. Wait for the external issue to reach a done state, sync, and then verify.

Sync returns failed#

Check the work item error message. Common causes:

  • the OAuth token expired or was revoked;
  • the external issue was deleted;
  • the connector default destination changed.

Reconnect the connector or replace the work item.

Regression#

A resolved Finding becomes regressed only when a new occurrence is observed after resolvedAt. Historical backfills cannot regress a Finding. If you see unexpected regression, verify that the new trace was captured after the fix was deployed and that the conversation ID is the same.