Browse · Help archive
Getting Started
Account & Security
Billing & Plans
Organization & Roles
QA-QC
Project Matrix
File Management
Project Members
Access Requests
Project Setup
Attribute Extract
Attribute Import
Scheduled Jobs
Power BI Analytics
Foreman Assistant
Permissions Graph

Draft · This article is being updated. Content may change.

  1. Archive
  2. /
  3. QA-QC
  4. /
  5. Managing Violations on a Check Run

Managing Violations on a Check Run

Learn how to review and update violation statuses on a check run, including single and bulk actions for Open, Acknowledged, Waived, and Resolved findings.

The four violation statuses

Every violation Foreman finds carries a status that says where it is in your team's review workflow:

Status When to use it Visual cue
Open New / unreviewed. Default for every fresh violation. Orange
Acknowledged A reviewer has seen this and accepted it as a valid finding — fix is pending. Blue
Waived The violation is acceptable in this case (one-off exception). Excluded from "must fix" totals but kept on the record. Slate / grey
Resolved The underlying file has been fixed. The violation closes out. Green

Statuses persist across re-runs (they're stored against the violation, not the run record), so a Waived finding stays waived if the same violation reappears in a later run.

Status counts feed straight into the dashboard tiles and the PDF report. Anything not Resolved counts as outstanding work.

Setting a single violation's status

In the run-detail results table, every violation row has a status dropdown. Pick Open / Acknowledged / Waived / Resolved; the change saves immediately. The status pill changes colour to match.

If you pick Waived without leaving a note, the system stores Waived by user as the default note — auditors can always see who waived what and why.

Bulk actions — the toolbar at the top of the table

When the filtered result set contains any violations, a Bulk: row appears in the table toolbar:

Bulk:  [Open All (24)]  [Acknowledge All]  [Waive All]  [Resolve All]

The number on Open All is the count of files with at least one violation in the current filter. Clicking any bulk button applies that status to every violation in every file currently in view. Filters are respected — if you've narrowed to "Failed only + folder = WIP", only that subset is updated.

This is the fastest way to:

  • Resolve all after a re-check confirms the underlying files are now clean.
  • Acknowledge all after a discipline lead has reviewed the run as a batch.
  • Waive all of one specific rule's violations across a folder (combine with the rule filter, below).

Bulk actions write one audit event per affected violation. The Organization Activity feed shows who did the bulk update and the count.

Filtering the run

The filter bar above the table lets you narrow what's shown — and what bulk actions apply to. Filters are URL-backed, so deep links (?status=Failed&ruleSet=ISO+19650) preserve the view.

Status pills

The leftmost row of pills filters by overall file status:

  • All (acts as the explicit reset)
  • Passed, Failed, Warnings, Skipped

Rule-set filter

Shown when the run used multiple rule sets (per-folder mode or combined runs). Pick All rule sets to clear, or any specific rule set to drill into its files.

Folder filter

Shown when the run touched more than one folder. Pick All folders to clear, or any specific folder to focus.

Multi-select violation filter

A dropdown labelled All violations (or N violation(s) when active) — click to expand a checkbox list of every distinct rule that produced a violation in this run, with the count next to each name.

Tick one or more rules to narrow the table to files that violated those specific rules. Click Clear at the top of the menu to reset.

This is the filter you pair with the Resolve All / Waive All bulk buttons to action one rule at a time:

Example. You ran a check that flagged 80 Naming Convention violations and 12 Missing Metadata violations. The naming ones are real and need fixing. The metadata ones are false-positives because the metadata is in a column the rule doesn't know about. Filter by Missing Metadata, click Waive All, leave a note. Filter by Naming Convention, leave them as Open and assign to the team.

Charts respect filters

The pie / donut / bar charts above the table refresh with whatever filter is active — the donut shows the filtered mix of statuses, the rule-bar chart shows the filtered top violators. The header label reads Status (filtered) when any filter is active so you don't confuse a narrowed view with the full run.

Search

The search box matches against the file name, the file path, and the rule names that produced violations. Use it together with filters — search runs on top of filters, not in place of them.

Search is case-insensitive. There's no regex; multi-word queries are AND'ed (every word must appear somewhere in the row).

Per-page navigation

Below the table, page size (25 / 50 / 100 / 250) and pager controls. Bulk actions apply to everything in the filter, not just the visible page — there's no risk of missing a bulk update because it scrolled off.

Notes on a violation

Click a violation row to expand its details. Each violation has an optional note field (free text, ~500 chars) that's written alongside the status. Useful for:

  • Recording why something was waived (e.g. Client agreed in meeting 2026-04-30 — original revision is the source of truth).
  • Linking to a decision in your issue tracker.
  • Tagging the responsible discipline.

Notes appear in the PDF report under each violation when included as a section.

Re-running selectively

When the team has fixed a batch of files, click the Re-check icon (a shield-with-tick, top-right of the table toolbar) to re-run only the failed and warning files from this run. See Re-checking files for the details.

The Re-check button is hidden on local-upload runs (the bytes are no longer fetchable) but enabled on mixed runs — it just skips local files and re-checks the cloud-resident ones.

What changes vs. what doesn't

Bulk action Affects Doesn't affect
Open All Filtered violations → status Open The file's overall status (still Failed / Warning until violations resolve)
Acknowledge All Filtered violations → status Acknowledged Violation evidence (rule, location, expected vs found)
Waive All Filtered violations → status Waived Excluded from outstanding totals but appears in the report
Resolve All Filtered violations → status Resolved Re-running the check will re-evaluate; if the file is still bad the new violation comes back Open

Resolving a violation does not change the underlying file. The only way to truly fix is to upload a corrected file — Resolved is just an assertion that you've done so. A re-check confirms it.

Audit trail

Every status change writes an audit event:

  • qa.violation.status_changed — for single-row updates and each row in a bulk update
  • Includes actor, file id, rule name, old status, new status, and any note

These appear in the Organization Activity feed, filterable by target = the check run or the file.

Permissions

Any user with view access to a check run can change violation statuses on it. There's no separate "QA approver" role — the audit log is the accountability. If you need stricter control, raise a request and we'll consider adding a setting to gate Acknowledge / Waive / Resolve to admins only.

Next steps

You're offline — some actions may not work.

Connection lost

Attempting to reconnect to Foreman...

Connection lost

Retrying in --s Attempt - of -

Connection interrupted

Retrying in --s Attempt - of -