> ## Documentation Index
> Fetch the complete documentation index at: https://docs.joystream.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Acknowledging flags

> See it, decide, move ahead — acknowledge a conformance flag so it stops blocking without disappearing from the record.

Conformance is detection only, and flags never block on their own. But the moment something downstream consumes the verdict — a build receipt, a CI step — you need to acknowledge a flag and proceed without it resurfacing forever. That is what ignores are for.

The model is see it, decide, move ahead. An acknowledgement is a reasoned, attributed override, never a silent mute. The flag stays on the record and remains visible under `--show-ignored`. It stops counting toward the exit code.

There are three layers, in increasing durability.

## Ad hoc: this run only

Suppress a specific flag, or a whole rule, for a single invocation. Nothing is persisted.

```bash theme={null}
# Accept one flag by id for this run.
jstm agent conform ./invoice-summarizer --ignore a1edffb898bc138e7cbd8b41025af29e

# Suppress every flag raised under one rule, this run.
jstm agent conform ./invoice-summarizer --ignore-rule SCHEMA_REPO_RECOMMENDED
```

This affects this run's report and exit code only. Use it to confirm a fix moves the verdict, or to triage interactively.

<Tip>
  The ids are copyable straight from the report. Both the human view and `--json` print the full flag `id`.
</Tip>

## Durable allowlist: committed next to the package

For acceptances you want to keep, add a `conformance-ignore.yaml` beside the package, or point at one with `--ignore-file <path>`. Each entry records what, why, who, and when.

```yaml conformance-ignore.yaml theme={null}
ignores:
  - rule: SCHEMA_REPO_RECOMMENDED         # maps to a flag's rule_id
    target: manifest.repo                 # maps to a flag's artifact_target
    violation_class: missing_optional_field
    reason: "Internal agent; no public repo by design."
    accepted_by: harpreet
    accepted_at: 2026-06-24
    expires: 2026-09-01                   # optional — stops suppressing after this date
```

An entry matches a flag when `(rule, target, violation_class)` reproduces that flag's id. An allowlist entry is precise: it suppresses exactly the one structural flag it names, not a category.

Because the allowlist lives next to the package and is committed, the acknowledgement travels with the agent and is reviewable in a pull request.

## Baseline: accept the status quo in bulk

When you adopt conformance on an existing package you may start with many flags. `--write-baseline` snapshots all current flags into the allowlist at once, so only new drift surfaces afterward.

```bash theme={null}
jstm agent conform ./invoice-summarizer --write-baseline
# → wrote baseline allowlist: invoice-summarizer/conformance-ignore.yaml
```

It writes one entry per flag — rule, target, and violation class, stamped with your username and the current time, with no expiry — then exits without running the verdict. Re-baselining is complete and idempotent; it never drops prior acknowledgements.

## Ignores can't rot silently

Acknowledgements are time-boxed. An allowlist entry with an `expires` date at or before today stops suppressing, so the flag resurfaces. This forces a periodic re-decision rather than letting a suppression become a permanent blind spot. Leave `expires` off for an indefinite acceptance.

## Seeing what's suppressed

`--show-ignored` adds an `ignored:` section to the report, and populates the `ignored` array in `--json`, so you can audit every active acknowledgement.

```bash theme={null}
jstm agent conform ./invoice-summarizer --show-ignored
```

Suppressed flags are listed but excluded from the summary counts and the exit code. That is what lets you move ahead green while the acknowledgement stays on record.

<Info>
  In the current release the default allowlist is the author-committed file next to the package, trusted as reviewed acceptance. For untrusted third-party packages, keep acknowledgements in a reviewed repository path so a package can't silently self-suppress.
</Info>

## See also

* [Reading the flag report](/features/conformance/flag-report)
* [`jstm agent conform`](/cli/agent-conform)
