# Findings CLI

Use `provon findings` to inspect persisted Findings, record review decisions, create external
repair work items, and manage diagnostic rules.

This is different from `provon diagnose`, which analyzes local evidence without persisting a
Finding.

## List Findings

```bash
provon findings list
provon findings list --review-status unreviewed --min-score 0.7 --limit 50
```

Time filters accept Unix timestamps in milliseconds:

```bash
provon findings list \
  --last-detected-after 1755216000000 \
  --last-detected-before 1755302400000
```

## Inspect Evidence

```bash
provon findings get <finding-id>
```

The response includes the Finding, evidence references, occurrence data, and current external work
item when one exists.

## Record A Review

Update review and resolution in separate commands:

```bash
provon findings update <finding-id> --review-status confirmed
provon findings update <finding-id> --review-status dismissed
provon findings update <finding-id> --resolution-status resolved
```

Supported review states are `unreviewed`, `confirmed`, and `dismissed`. Resolution states are
`resolved` and `unresolved`.

## Hand Off A Repair

Create a work item through a configured provider:

```bash
provon findings handoff <finding-id> \
  --provider github \
  --destination owner=provon \
  --destination repo=provon
```

Supported providers are `github`, `gitlab`, `linear`, and `jira`. Destination fields depend on the
provider and may be omitted when the connector has defaults.

## Manage Work Items

List work items linked to a Finding:

```bash
provon findings work-items list <finding-id>
```

Inspect, sync, retry, replace, or abandon a work item:

```bash
provon findings work-items get <finding-id> <work-item-id>
provon findings work-items sync <finding-id> <work-item-id>
provon findings work-items retry <finding-id> <work-item-id>
provon findings work-items replace <finding-id> <work-item-id> \
  --provider linear \
  --destination team=ENG
provon findings work-items abandon <finding-id> <work-item-id>
```

## Discover And Analyze

Run diagnostics on the most recent project conversations:

```bash
provon findings discover
```

Enqueue diagnostic analysis for a specific conversation:

```bash
provon findings analyze <conversation-id>
provon findings analyze <conversation-id> --trace-id <trace-id> --trace-id <trace-id>
```

## Manage Diagnostic Rules

List and inspect rules:

```bash
provon findings rules list
provon findings rules get <rule-id>
```

Enable or disable a rule:

```bash
provon findings rules enable <rule-id>
provon findings rules disable <rule-id>
```

Update rule configuration:

```bash
provon findings rules configure <rule-id> '{"minSignalScore":0.5}'
```

Run a rule over historical conversations:

```bash
provon findings rules backfill <rule-id> \
  --start 1755216000000 \
  --end 1755302400000 \
  --max-conversations 1000
```

## Diagnostic Settings

Show or update automatic diagnostic scheduling:

```bash
provon findings settings get
provon findings settings set-scheduling true
provon findings settings set-scheduling false
```

## Related Docs

- [Findings](../findings/index.md) for lifecycle semantics
- [Connectors](../findings/connectors.md) for provider configuration
- [Findings API](../api/findings.md)
