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

# Evidence approval

> Configure and complete evidence PR approval for the EVIDENCING stage gate.

The **EVIDENCING** stage requires human approval that quality evidence is acceptable before production promotion. LaneSync tracks approval state and blocks DEPLOYMENT until reviewers sign off.

## What gets approved

| Item          | Source                                    |
| ------------- | ----------------------------------------- |
| Test evidence | CI upload via `/api/evidence/upload`      |
| Test reports  | JUnit and HTML artifacts                  |
| Evidence PR   | Created when evidence is ready for review |

Approval satisfies `evidencing.required_reviewers` in `sdlc.yaml` and, when configured, `deployment.requires_evidence_approval`.

## Configure reviewers

```yaml theme={null}
evidencing:
  required_artifacts:
    - test-results
  required_reviewers:
    min_approvals: 1
    teams:
      - engineering-leads
```

| Field           | Description                                 |
| --------------- | ------------------------------------------- |
| `min_approvals` | Minimum approving reviews required          |
| `teams`         | GitHub team slugs whose members can approve |

<Tip>
  Map teams to your org's release managers or engineering leads. LaneSync checks GitHub team membership for eligible approvers.
</Tip>

## Approval workflow

<Steps>
  <Step title="CI uploads evidence">
    Release branch CI completes and POSTs evidence. Required artifacts appear in milestone stage details.
  </Step>

  <Step title="Review stage details">
    Open the milestone on [lanesync.dev](https://lanesync.dev). The **EVIDENCING** section lists artifacts and approval status.
  </Step>

  <Step title="Approve the evidence PR">
    Approve via either:

    * **LaneSync dashboard** — click **Approve evidence**
    * **GitHub** — approve the linked evidence pull request
  </Step>

  <Step title="Stage advances">
    When `min_approvals` is met, LaneSync records approval and advances the milestone to **DEPLOYMENT** (if all other gates pass).
  </Step>
</Steps>

## API approval

Session-authenticated users can approve programmatically:

```
POST /api/milestones/:id/approve
```

Useful for automation that integrates with internal change-management systems (with appropriate auth).

## Deploy gate dependency

Production deploy workflows should check the deploy gate before promoting:

```
GET /api/milestones/check?version=v1.0.0
```

```json theme={null}
{
  "version": "v1.0.0",
  "current_stage": "DEPLOYMENT",
  "evidence_pr_approved": true,
  "tests_passing": true,
  "can_deploy": true
}
```

<Warning>
  **Production deploy blocked?** Verify evidence PR is approved and `can_deploy` is `true`. See [Troubleshooting](/reference/troubleshooting).
</Warning>

## Audit trail

Evidence approval is recorded with:

* Approver identity (GitHub user)
* Timestamp
* Milestone version and repository

Export quality reports after approval for compliance archives. See [Quality scorecards](/dashboard/quality-scorecards).
