Queue by critical, high, medium, low — and track resolution per ticket
With tickets generated, triage is a severity queue: work critical first, then high, medium, low — and let each ticket's derived resolution tell you when it is actually done.
The queue#
GET /v1/domains/:id/remediation-tickets returns tickets ordered for triage with severity on each row; the canonical rank is critical: 0, high: 1, medium: 2, low: 3 (the same ordering the Your-changes checklist uses). Statuses are just open and exported — there is deliberately no "resolved" button: resolution is computed on every read by comparing the ticket's finding against the latest audit.
Derived resolution#
resolved— the finding no longer appears in the current audit.still_open— still present at the same severity rank.regressed— still present but at a worse rank (e.g.mediumfinding nowhigh).unknown— no completed audit to compare against.
So the loop is: fix in the right layer (Act in the right layer) → re-audit → the next read shows resolved. Nothing needs closing by hand, and nothing can be falsely closed before the audit agrees.
Expected result#
A self-updating queue where severity orders the work and the audit — not a checkbox — certifies completion.

