# `jadpo declines`

List or clear declines.

A judgement-call error, such as a helper like a library's, can be declined with a reason: a `decline <rule>: "<reason>"` line above the declaration it is on. `list` shows every decline with its rule, place and reason, so each can be reviewed. `clear` removes the decline lines, so each finding comes back and jadpo check fails until it is fixed or declined again: after a compiler upgrade, a new standard type, or as a periodic sweep. `--rule` and a path narrow both.

```text
jadpo declines <action> [path]
```

## Arguments

- `action`: What to do: list or clear
- `path` (optional): Only the declines in this file or folder

## Flags

- `--rule <id>`: Only the declines of this rule

## On every command

- `--json`: Print data for tools instead of text
- `--full`: Show everything a report shortens
- `--help`: Show every flag, with examples
- `--color <when>`: Choose when to use colour

`jadpo declines --json` writes one JSON document to standard output instead of text, with the same exit code. The document has `schemaVersion`, `command` (`"declines"`), `ok`, `data` (what the command produced, `null` when it failed) and `diagnostics` (each error with its `rule`, `reason`, `next` and `help`). A command that needs a terminal refuses `--json` and names the flags that do the same job.

## Examples

```text
# See every decline and its reason
jadpo declines list
# Decide again every similar-helper decline
jadpo declines clear --rule library.similar_exists
# List the declines in shared/ as data for tools
jadpo declines list shared --json
```

## Errors

- [`cli.declines_arguments`](/docs/errors/cli.declines_arguments.md): A `jadpo declines` command names no action, one it doesn't have, or a rule or path that isn't the project's
- [`toolchain.artifact_write_failed`](/docs/errors/toolchain.artifact_write_failed.md): A file Jadpo writes for you, such as a record, couldn't be written, usually because it or its folder is read-only
- [`toolchain.project_not_found`](/docs/errors/toolchain.project_not_found.md): You ran a command that works on a project in a folder with no `app.jadpo`, in it or in any folder above it
