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

# Verification, review, and evidence commands

> Complete argument reference for verify, review record, and evidence subcommands.

These commands produce auditable evidence. `verify` executes verification commands, `review record` records a review conclusion, and `evidence` records manual verification, artifact approval, or imported CI evidence.

<h2 id="verify">
  `verify`
</h2>

Execute every automated verification command declared by a feature and record the results.

```bash theme={null}
npx @caesarlo/sdlc-harness verify <feature-id>
```

| Argument | Type | Required | Default | Description |
| - | - | - | - | - |
| `<feature-id>` | string | Yes | — | Feature ID to verify. `manual` verification items on the same feature are skipped, not executed — record those separately with `evidence manual`. |

Team mode requires the feature to have an active claim. In Solo mode, the command creates a temporary 30-minute claim for `defaultOwner` when necessary and releases it when the command ends. If any *automated* verification command fails, evidence is still recorded, but the command exits nonzero. A feature with no automated verification items (fully manual) is not a failure — `verify` is a no-op and prints that there was nothing automated to run.

<Note>
  Before v0.3.1, `verify` refused to run at all on a feature that declared any `manual` verification item, even alongside automated ones — that made it impossible to ever record automated evidence for such a feature. Upgrade if you're still hitting that.
</Note>

<h2 id="manual">
  `evidence manual`
</h2>

Record manual evidence for one `manual` verification item.

```bash theme={null}
npx @caesarlo/sdlc-harness evidence manual <feature-id> \
  --verification <index> --result <passed|failed> \
  --notes <text> [--actor <id>]
```

| Argument | Type | Required | Default | Description |
| - | - | - | - | - |
| `<feature-id>` | string | Yes | — | ID of a feature that must be `in_progress`. |
| `--verification` | integer | Yes | — | Positive, 1-based index that must point to a `type: manual` verification item. |
| `--result` | enum | Yes | — | Accepts only `passed` or `failed`. |
| `--notes` | string | Yes | — | Non-empty verification notes. Use quotes when they contain spaces. |
| `--actor` | string | No | `defaultOwner` | Identifier of the actor performing manual verification. |

<h2 id="review-record">
  `review record`
</h2>

Record a review conclusion for the current commit.

```bash theme={null}
npx @caesarlo/sdlc-harness review record <feature-id> \
  --reviewer <id> --summary <text> [--result <passed|failed>]
```

| Argument | Type | Required | Default | Description |
| - | - | - | - | - |
| `<feature-id>` | string | Yes | — | ID of a feature that must be `in_progress`. |
| `--reviewer` | string | Yes | — | Reviewer identifier. The completion gate requires it to differ from the claim owner. |
| `--summary` | string | Yes | — | Non-empty review summary. |
| `--result` | enum | No | `passed` | Accepts only `passed` or `failed`. |

<h2 id="approval">
  `evidence approval`
</h2>

Record project-level approval bound to the hash of the current file content.

```bash theme={null}
npx @caesarlo/sdlc-harness evidence approval <artifact> \
  --actor <id> --summary <text>
```

| Argument | Type | Required | Default | Description |
| - | - | - | - | - |
| `<artifact>` | path string | Yes | — | Existing file in the repository. It cannot be `feature_list.json`. |
| `--actor` | string | Yes | — | Non-empty identifier of the approving actor. |
| `--summary` | string | Yes | — | Non-empty approval basis or conclusion. |

After the file content changes, the original approval's content hash no longer matches and its status becomes invalid.

<h2 id="import">
  `evidence import`
</h2>

Validate and import a GitHub Actions run as test evidence.

```bash theme={null}
npx @caesarlo/sdlc-harness evidence import <feature-id> \
  --ci-run <run-id> [--owner <github-owner>] [--repo <github-repo>]
```

| Argument | Type | Required | Default | Description |
| - | - | - | - | - |
| `<feature-id>` | string | Yes | — | Feature ID that receives the CI evidence. |
| `--ci-run` | string | Yes | — | GitHub Actions run ID. |
| `--owner` | string | Conditionally | Inferred from `origin` | GitHub repository owner. Required when it cannot be inferred from `origin`. |
| `--repo` | string | Conditionally | Inferred from `origin` | GitHub repository name. Required when it cannot be inferred from `origin`. |

The `gh` CLI must be installed and authenticated locally, and its token must be able to read the target run. Only a real run with `status=completed` and `conclusion=success` can be imported.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.