Fix Compliance scan-error UI states

Task 8370 · Done · Coder · created · updated

Found while photographing the Compliance screens on prod for the docs-writer run (Task 8368). Itemized fixes: 1. Matrix: a row in Scan error leaves every pillar column blank; show "—" or the kept result's counts so the row does not look broken. 2. Repo page Gaps: each gap carries a "Scan error" chip while "Found:" says the check matched (e.g. "instruction present"); when the scan errored, show the gap's last real verdict or say the result is from an unfinished scan. 3. Rule page "Failing repos (N)" lists repos whose only state is Scan error; list them separately as "Not scanned" instead of counting them as failing. 4. Dates are inconsistent across Compliance: "Oct 18" on the matrix, "10/18/2026, 3:00:34 AM" on the repo and evidence pages, "since 10/19/2026" on the rule page for the same scan; use one short format with the full time on hover, as the matrix does. 5. Compliance settings: Daily scan switch is on but reads "Next run not scheduled"; either schedule it or say why it is not scheduled. 6. Rules tab: one Scan error chip per rule (40+) repeats the same fact; collapse to one line above the list when every rule shares the scan error. Out of scope: scan engine behaviour, packs and rule content, Guard activity. Done means: - Each item above is fixed or explicitly rejected with a reason in the PR body. - Screenshots of the matrix, repo page and rule page at 1440px and 390px with a failed scan show the new states. - ./dc check quick green.

Outcome

All 6 Compliance scan-error items fixed; PR #6448 queued to merge lane. Root cause of "Next run not scheduled": tenant-scoped read missed the org-zero system cron. Quick gate + changed-area tests green; visual check at 1440/390 done. Follow-up draft #8397.

Pull request

Artifacts

Activity

  • Created
  • Run
  • Runner started
  • Runner ended (done)