Findings

Unused exports, duplicate implementations, and wrappers — queued as jobs, resolved only when a re-scan drops the fingerprint.

A finding stays open until the graph says it is gone. A finished job is not enough.

Findings are concrete, queueable issues from the last index: unused exports, two files exporting the same implementation, and wrapper functions that only call another export.

You can hand one to a teammate. Prism does not mark it resolved because the job said done. It re-runs the report. If the fingerprint is still there, the finding stays open.

prism findings list
prism findings mute a3f8c5f0c392dbeb

Mute lives in gitignored {repo}/.prism/. It is not a markdown file and it is not committed.

The loop

list_findings → queue_finding → teammate edits → this repo’s checks
     ↑                                              │
     └──────── re-scan; fingerprint gone? ──────────┘
StepRule
QueueOrigin is finding. The brief is “fix this finding only.”
VerifyPrism runs the checks this repo actually has. None → , not Failure.
ResolveOnly a re-scan that drops the fingerprint. Job done is not resolve.

Pulse’s sparkline is the open finding count, measured from health history. It does not move because a job finished.

Kinds

SourceWhat it is
unused-exportAn export nothing in the index imports
duplicate-implementationTwo files exporting the same name / body
wrapper-over-existingA function whose whole body is one call to another export

Muted findings stay out of the default list. includeMuted shows them.

When this is wrong

  • Reviewing a PR never queues a finding on its own. Offer queue_finding only if you asked to fix it.
  • A Python-only or lint-only repo must not fail the finding job when checks are . The re-scan still runs.
  • Mute is local and gitignored. It does not travel with the repo.

Dispatch · Track health · Guard a session

On this page