
Reading a row
A found row doesn’t mean things got worse relative to the last row — every check that
finds anything produces one, including the very first check a repository ever reports.
Read the sequence for a repository, not any single row in isolation.
Why resolutions appear separately
A violation isn’t dismissed by editing a database row; it’s superseded by the next clean run in the same scope (repo + pr_number). That’s the same rule the
REST API and the GitHub Action
rely on: post a passing check for a scope that had open violations, and PolicyCodex
resolves them for you and logs it here.

